html, body {
    font-family: 'Montserrat';
}

@media (min-width: 1024px){
    html.home ,
    body.home{
        /*overscroll-behavior: none;*/
        /*overflow-x: hidden;*/
        
        overscroll-behavior: none;
        overflow: hidden;
    }
    
    html.home{
        overflow-y: auto;
    }
}

.row-align-center > .container > .row,
.row-align-center > .row {
    align-items: center;
}

header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 999 !important;
    padding: 1rem 3.5%;
}
.container {
    max-width: 80%;
}

body.home:not(.is-mobile) {
    background-color: transparent;
}

body.home .page-section.padding {
    padding: 0 3.5%;
}

body.is-loading {
    overflow: hidden;
}
body .preloader {
    opacity: 0;
    z-index: -1;
    position: fixed;
    top: 0; 
    left: 0;
    width: 100%;
    height: 100%;
}
body:not(.is-loading) .preloader {
    transition: all 2s;
}
body.is-loading .preloader {
    z-index: 999999;
    opacity: 1;
}

.preloader .background-loading {
    width: 100%;
    height: 100vh;
}
.is-loading.show .preloader .background-loading {
    transition: 5s;
    transform: scale(1.2);
}

.preloader .logo-animate {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
    text-align: center;
    width: 30%;
    height: 30%;
}
.logo-animate {
    position: relative;
}
.logo-base {
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, 0.5);
    -webkit-mask-image: url(/templates/batdongsan01/assets/media/logo/logo_gradient.png);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
    mask-image: url(/templates/batdongsan01/assets/media/logo/logo_gradient.png);
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
}
.logo-animate .logo-shine {
    position: absolute;
    inset: 0;
    background: linear-gradient(120deg, transparent 35%, rgba(255, 255, 255, 0.9) 50%, transparent 65%);
    background-size: 200% 100%;
    animation: shine 3s linear infinite;
     -webkit-mask-image: url(/templates/batdongsan01/assets/media/logo/logo_gradient.png); 
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
     mask-image: url(/templates/batdongsan01/assets/media/logo/logo_gradient.png); 
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
    mix-blend-mode: overlay;
}

@keyframes shine {
    0% {
        background-position: 100% 0;
    }
    100% {
        background-position: -100% 0;
    }
}

.fs-16 {
    font-size: 1.6rem;
}
.img-filter {
    filter: brightness(0) invert(1);
}
.font-weight-600 {
    font-weight: 600;
}

.btn-register {
    border-radius: 2rem;
    text-transform: uppercase;
    font-weight: 600;
    padding: .9rem 2rem;
    margin-right: 2rem;
    color: var(--white);
    font-size: 15px;
    cursor: pointer;
    background-color: var(--highlight);
}
.btn-register:hover {
    color: var(--white);
}
.img-360deg {
    background-color: var(--highlight);
    border-radius: 50%;
}

.menu-section {
    position: fixed;
    width: 0;
    top: 0;
    bottom: 0;
    right: 0;
    height: 100vh;
    z-index: 1100;
    background-color: #1b473e94;
    overflow: auto;
    opacity: 0;
    z-index: -1;
    -webkit-transition: opacity .5s ease;
    transition: opacity .5s ease;
    /*display: none;*/
}
.menu-section.open {
    opacity: 1;
    z-index: 1100;
    width: 25%;
    /*display: block;*/
}
.menu-section.open > ul {
    transform: translate(-50%, -50%);
    top: 50%;
}

/*block lien he*/
.title-form {
    font-size: 150%;
    font-weight: 700;
    line-height: 1.2;
    text-transform: uppercase;
    background: -webkit-linear-gradient(left, #efcae2, #dfefef, #c9c4e3, #dfefef, #c9c4e3);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    text-align: center;
    padding-top: 5px;
    margin-bottom: 20px;
    /*font-family: 'Blacker Sans Text';*/
}
/*block lien he*/

.page-section {
    position: relative;
    width: 100%;
    height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    /*background-position: 100% 100%;*/
    overflow: hidden;
    /*scroll-snap-align: start;*/
    /*scroll-snap-stop: always;*/
    background-size: 100% 100%;
}
.page-section.gradient {
    background-image: linear-gradient(90deg, #34574e, #34574e, #0f4c32);
}

.wrap-form {
    border-radius: 2rem;
    padding: 2rem 4rem;
    background-color: var(--white);
}
.wrap-form .title {
    text-align: center;
    line-height: 1.3;
    font-size: 130%;
    font-weight: 500;
    margin-bottom: 20px;
    color: var(--color-highlight);
}
.wrap-form .btn-submit {
    background: -webkit-linear-gradient(left, #eacda1, #cdac7a);
    text-shadow: none !important;
    text-transform: uppercase;
    letter-spacing: 0;
    border-radius: 20em;
    border: 0;
}
.infomation .cdt {
    font-size: 130%;
    margin-bottom: 1.5rem;
}
.infomation .cdt .name{
    font-size: 200%;
    font-weight: 700;
    line-height: 1.2;
    text-transform: uppercase;
}
.infomation ul {
    margin-bottom: 2rem;
    font-size: 1.6rem;
}
.infomation ul li {
    margin-bottom: 1rem;
    display: flex;
}
.infomation ul li i{
    width: 6rem;
}
.infomation ul li span {
    flex: 1;
}
.border-top-light {
    border-top: 1px #ffffff57 solid;
}
/*end chan trang*/

/*trang chu*/
.img-fullscreen {
    width: 100%;
    height: 100vh;
}

.btn-video {
    position: absolute;
    bottom: 25%;
    left: 50%;
    transform: translateX(-50%);
    width: 7rem;
    height: 7rem;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}

.banner-video .icon {
    position: relative;
    width: 100%;
    height: 100%;
    background-color: #fff;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 10;
    transition: all 0.3s ease;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
    background-image: linear-gradient(90deg, #fad6a7, #b08e54);
    color: #fff;
    font-size: 3rem;
}
.object-contain {
    object-fit: contain !important;
}
.is-loading .banner-video .icon {
    display: none;
}
.lg-outer .lg-video-cont {
    max-width: 75% !important;
}
/* HiÃ¡Â»â€¡u Ã¡Â»Â©ng Wave chung */
.wave {
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.4);
    z-index: 1;
}

/* Wave 1: NhÃ¡Â»â€¹p nhanh hÃ†Â¡n, tÃ¡Â»Âa rÃ¡Â»â„¢ng vÃ¡Â»Â«a */
.wave-big {
    animation: wave-animation 1.2s ease-out infinite;
}

/* Wave 2: NhÃ¡Â»â€¹p chÃ¡ÂºÂ­m hÃ†Â¡n, tÃ¡Â»Âa rÃ¡Â»â„¢ng hÃ†Â¡n */
.wave-small {
    animation: wave-animation 1.2s ease-out infinite .6s;
}

/* Keyframes tÃ¡ÂºÂ¡o hiÃ¡Â»â€¡u Ã¡Â»Â©ng lan tÃ¡Â»Âa vÃƒÂ  mÃ¡Â»Â dÃ¡ÂºÂ§n */
@keyframes wave-animation {
    0% {
        transform: scale(1);
        opacity: 0.8;
    }
    50% {
        opacity: 0.4; /* GiÃ¡Â»Â¯ Ã„â€˜Ã¡Â»â„¢ rÃƒÂµ lÃƒÂ¢u hÃ†Â¡n Ã¡Â»Å¸ giÃ¡Â»Â¯a quÃƒÂ¡ trÃƒÂ¬nh */
    }
    100% {
        transform: scale(3); /* TÃ¡Â»Âa rÃ¡Â»â„¢ng ra */
        opacity: 0;   /* BiÃ¡ÂºÂ¿n mÃ¡ÂºÂ¥t hoÃƒÂ n toÃƒÂ n khi Ã„â€˜Ã¡ÂºÂ¡t cÃ¡Â»Â±c Ã„â€˜Ã¡ÂºÂ¡i */
    }
}


.about-info {
    position: absolute;
    top: 35%;
    left: 6%;
    max-width: 88%;
    color: var(--white);
    text-align: center;
    font-size: 140%;
}    
.about-info .logo {
    width: 100%;
    height: 100px;
    max-width: 250px;
    margin: 0 auto 2rem;
}

.section-dashboard {
    position: relative;
}
.section-dashboard:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #011511;
    z-index: -1;
}
.dashboard {
    position: absolute;
    bottom: 5%;
    right: 5%;
    left: 5%;
    z-index: 1;
    width: 90%;
    font-weight: 700;
    font-size: 120%;
    background: rgb(49 86 76 / 85%);
    padding: 2rem;
    border-radius: 10px;
    box-shadow: 0 0px 30px rgba(255, 255, 255, .75);
}
.dashboard .title-block {
    font-weight: 700;
    margin-bottom: 2rem;
    color: #eacca1 !important;
}
.dashboard .project {
    display: grid;
    grid-template-columns: repeat(5, max-content);
    gap: 20px;
    justify-content: space-between;
}
.dashboard .project .item-info .name {
    color: #eacca1 !important;
}
.dashboard .project .item-info:first-child .value {
    line-height: 1;
}
.dashboard .project .item-info .value {
    font-size: 2rem;
    font-weight: 600;
}
.dashboard .project .number {
    font-size: 200%;
}
.dashboard .infomation .item-info {
    display: grid;
    grid-template-columns: 180px 1fr;
    gap: 30px;
    padding: 1rem 0;
    border-top: 1px solid var(--color-text-highlight);
}



.position-info {
    color: var(--white);
}
.position-info .desc {
    text-align: justify;
    margin-bottom: 2rem;
}
.text-gradient {
    background: -webkit-linear-gradient(left, #eacda1, #cdac7a, #eacda1, #e2c99d, #ad9059);
    background: linear-gradient(left, #eacda1, #cdac7a, #eacda1, #e2c99d, #ad9059);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}
.title-block {
    font-size: 250%;
    color: var(--white);
    text-align: center;
    text-transform: uppercase;
    margin-bottom: 3rem;
    display: block;
    width: 100%;
    /*font-family: 'Blacker Sans Text';*/
}
.title-block .text-small {
    font-size: 1.5rem;
    /*width: 45%;*/
    margin: auto;
    text-transform: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    /*font-family: 'Barlow';*/
}
.title-block .text-small .text-left {
    transform: translateX(-2rem);
}
.title-block .text-small .text-right {
    transform: translateX(5rem);
}

.position-info .card ul {
    padding-left: 2.5rem;
    list-style: none;
    margin-bottom: 1rem !important;
}
.position-info .card ul li {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 13px;
}
.position-info .card ul li:before {
    content: '';
    position: absolute;
    top: 50%;
    left: -1.5rem;
    transform: translateY(-50%);
    width: .4rem;
    height: .4rem;
    border-radius: 50%;
    background-color: var(--white);
}
.position-info .card .btn-collapsed {
    text-align: left;
    font-weight: 600;
    background-color: #a98d58;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin-bottom: 2px;
    color: var(--white);
}
.position-info .card .btn-collapsed:not(.collapsed) .fa-solid:before {
    content: "\f107";
}
.position-info .card .card-body {
    background-color: #00000021;
    padding: 5px 10px;
}

.zoom-image {
    overflow: hidden;
}
.zoom-action {
    position: absolute;
    bottom: 2rem;
    right: 2rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.zoom-action > a {
    display: block;
    width: 36px;
    height: 36px;
    background: rgba(255, 255, 255, 0.5);
    color: #333;
    text-align: center;
    line-height: 36px;
    font-size: 18px;
    border-radius: 4px;
    cursor: pointer;
    z-index: 20;
}

.session-library {
    background-position: inherit;
}
.session-library .img-left {
    width: 85%;
    /*max-width: 400px;*/
    margin: auto;
    text-align: center;
}
.session-library .item-library {
    pointer-events: none;
}
.session-library .item-library.swiper-slide-active {
    pointer-events: auto;
}
.session-library .item-library .name {
    font-size: 160%;
    text-transform: uppercase;
    font-weight: 500;
    color: var(--color-text-highlight);
    margin-bottom: 1rem;
    /*font-family: 'Blacker Sans Text';*/
}
.session-library .item-library img {
    border-radius: 0 6em;
}
.item-library .number {
    text-align: right;
    color: #fff;
    font-size: 160%;
    line-height: 1.4;
    position: relative;
    margin: 1rem 0;
}
.item-library .number::before {
    content: ' ';
    position: absolute;
    width: calc(100% - 130px);
    height: 1px;
    background: #fff;
    top: 20px;
    left: 90px;
}
.session-library .swiper-navigation {
    position: absolute;
    bottom: 3px;
}



.creative {
    position: relative;
}
.creative .title-slide {
    display: flex;
    align-items: center;
    gap: 1rem;
    color: #fff;
    margin-bottom: 2rem;
}
.creative .btn-arrow {
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 50%;
    background-color: var(--color-highlight);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}
.content-side {
    opacity: 0;
    transition: 1s;
    background-repeat: no-repeat;
    background-position: bottom center;
}
.creative .big-img {
    position: absolute;
    width: 100%;
    height: 100vh;
    background-position: bottom center;
}

.content-side.active .big-content {
    position: relative;
    width: calc(100% + 30px);
    height: 100vh;
    left: -15px;;
}
.content-side.active .big-content::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 120px;
    background: linear-gradient(0deg, #1d573e, transparent);
}
.content-side .big-content .hero-content {
    position: absolute;
    bottom: 3rem;
    left: 5%;
    z-index: 1;
    width: 40%;
}
.hero-heading {
    display: flex;
    align-items: flex-start;
    gap: 28px;
    padding: 20px 24px;
    width: fit-content;
}

/* line trÃƒÂ¡i */
.hero-line {
    width: 1px;
    height: 120px;
    background: rgba(255,255,255,.25);
    margin-top: 4px;
}

/* title */
.hero-title {
    display: flex;
    align-items: center;
    gap: 18px;
    margin: 0;
    font-weight: 600;
    text-transform: uppercase;
    line-height: 0.95;
    letter-spacing: 1px;
}

/* dÃ¡ÂºÂ¥u & */
.ampersand {
    font-size: 350%;
    color: rgba(255,255,255,.95);
    line-height: 1;
    transform: translateY(4px);
    font-weight: 400;
}

/* text chÃƒÂ­nh */
.title-text {
    font-size: 250%;
    font-weight: 500;
    background: linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(228,241,255,.92) 45%, rgba(173,218,255,.95) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
    line-height: 1.4;
}

/* subtitle */
.hero-subtitle {
    margin-top: 18px;
    font-size: 20px;
    padding-left: 6rem;
    letter-spacing: 1px;
    color: #ffffff;
    text-transform: uppercase;
}

.content-side .desc {
    color: var(--white);
    margin-top: 2rem;
}
.content-side:not(.active) {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: 1s;
    opacity: 0;
    z-index: -1;
    /*transform: translateX(100%);*/
}
.content-side.side-1 .wrap-content {
    transition: 1s;
    transform: translateX(-200%);
    z-index: 1;
    padding: 0;
}
.content-side.side-2 .wrap-content {
    transition: 1s;
    transform: translateX(200%);
    padding: 0;
}

.content-side.side-2.active .wrap-content {
    transform: translateX(0%);
}
.content-side.active {
    opacity: 1;
    transform: none;
}
.content-side.active .wrap-content {
    transform: translateX(0%);
}
.content-side .content {
    position: relative;
    height: 100vh;
}
.content-side .content::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    background: linear-gradient(132deg, #3a6552, #0e4d32);
    opacity: 0.9;
}
.content-side .content .info {
    position: absolute;
    z-index: 2;
    width: 70%;
    left: 4rem;
    bottom: 60px;  
    top: 50%;
    transform: translateY(-50%);
}
.img-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    object-fit: cover;
}

.session-experience .swiper-slide {
    height: 100vh;
}
.session-experience .swiper-slide::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 50%;
    height: 100%;
    background: linear-gradient(90deg, #2c397d9e, transparent);
    z-index: 1;
}

.session-experience .ratio-16-9 {
    width: 100%;
    height: 100vh;
}
.session-experience .content {
    position: absolute;
    bottom: 12%;
    left: 3%;
    width: 95%;
    z-index: 6;
    color: var(--white);
}
.session-experience .content .name {
    text-transform: uppercase;
    font-size: 160%;
    font-weight: 600;
    margin-bottom: 1rem;
}
.session-experience .content .name span {
    font-size: 80%;
    display: block;
}
    
.session-experience .text-fixed {
    position: absolute;
    /*top: 50%;*/
    left: 3%;
    /*transform: translateY(-50%);*/
    z-index: 2;
    font-size: 150%;
    width: 40%;
    line-height: 1.2;
    font-weight: 500;
    color: var(--white);
    font-style: italic;
}

.session-experience .text-fixed .big-text {
    font-size: 250%;
    font-weight: 600;
    background: linear-gradient(90deg, #d8b6ff 0%, #f8e7a8 25%, #9fe8ff 55%, #9fd4ff 75%, #f0cfff 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-style: normal;
}
.session-experience .text-fixed .bottom-right {
    text-align: right;
}

.session-experience .swiper-navigation {
    position: absolute;
    bottom: 22%;
    left: 3%;
    z-index: 1;
}

.section-news {
    padding: 0 10% !important;
}
.section-news .article-item {
    margin-bottom: 1.5rem;
}
.section-news .inner-content {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    margin-top: 1.5rem;
}
.section-news .inner-content .post-date{
    display: flex;
    flex-direction: column;
    text-align: center;
    border: 1px solid var(--color-highlight);
    padding: 5px 10px;
    font-weight: 600;
}
.small-article .post-date .day{
    font-size: 120% !important;
}
.section-news .inner-content .post-date .day{
    font-size: 160%;
}
.section-news .inner-content .post-date span {
    margin: 0;
    font-weight: 600;
}
.swiper-navigation-center {
    width: calc(100% + 8rem);
    padding: 0 4rem;
}
.swiper-navigation-center .swiper-button-prev, 
.swiper-navigation-center .swiper-button-next{
     position: absolute; 
     top: 50%; 
     transform: translateY(-50%);
}
.swiper-navigation-center .swiper-button-prev {
    left: 0;
}
.swiper-navigation-center .swiper-button-next {
    right: -10px;
}


.section-amenities .background img {
    position: absolute;
    top: 0;
    left: 0;
    width: 26%;
    height: 100%;
    z-index: 0;
    object-position: bottom;
    display: none;
}

.title-amenities {
    font-weight: 500;
    font-size: 300%;
    line-height: 1;
    display: flex;
    align-items: center;
    margin-bottom: 2rem;
    font-family: 'Blacker Sans Text';
}
.title-amenities .number {
    font-size: 250%;
    margin-right: 1rem;
    /*font-family: 'Blacker Sans Text';*/
}
.title-amenities .main-info {
    white-space: nowrap;
}
.title-amenities .text-main {
    font-size: 120%;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
}
.title-amenities .text-small {
    line-height: 1.2;
    font-size: 68%;
    font-weight: 600;
}
.is-mobile .list-amenities {
    columns: 2;
}
.list-amenities li {
    display: flex;
    align-items: center;
    margin-bottom: .5rem;
}
.list-amenities li .stt {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    font-size: 13px;
    line-height: 1;
    border-radius: 50%;
    background-color: #D6E2E9;
    margin-right: 1rem;
    color: #333;
    font-weight: 600;
}
.list-amenities li .name {
    text-transform: uppercase;
    font-weight: 500;
    font-size: 13px;
    flex: 1;
}

.position-amenities li {
    position: absolute;
    z-index: 1;
    text-align: center;
    border-radius: 20em;
    color: var(--white);
    font-weight: 500;
    font-size: 11px;
    cursor: pointer;
}
.position-amenities li .stt {
    width: 20px;
    height: 20px;
    display: block;
    line-height: 20px;
    border-radius: 50%;
    background-color: var(--color-highlight);
}
.position-amenities li .name {
    position: absolute;
    z-index: -1;
    white-space: nowrap;
    top: -40px;
    background-color: var(--color-highlight);
    padding: 5px 10px;
    border-radius: 10px;
    border: 2px solid #fff;
    transform: translateX(-50%);
    opacity: 0;
    transition: all .2s;
}
.position-amenities li .name span {
    position: relative;
}
.position-amenities li .wave {
    position: absolute;
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
    display: block;
    background: #ffffffb0;
    z-index: -1;
    animation-duration: 5s;
    animation-iteration-count: infinite;
    animation-name: examplex;
    border-radius: 20em;
}
.position-amenities li:hover .name {
    opacity: 1;
    z-index: 3;
}
.position-amenities li:hover .name span{
    opacity: 1;
    z-index: 3;
}

@keyframes examplex {
    0%{transform:scale(1)}
    25%{transform:scale(1.5)}
    50%{transform:scale(1)}
    75%{transform:scale(1.5)}
    100%{transform:scale(1)}
}

.amenities-1 {
    top: 17%;
    right: 4.5%;
}
.amenities-2 {
    top: 38%;
    left: 48%;
}
.amenities-3 {
    top: 41%;
    left: 34.7%;
}
.amenities-4 {
    top: 42.3%;
    left: 27%;
}
.amenities-5 {
    top: 25%;
    left: 24.8%;
}
.amenities-6 {
    top: 44%;
    left: 21.3%;
}
.amenities-6-1 {
    top: 24%;
    left: 91.7%;
}
.amenities-7 {
    top: 51%;
    left: 13.8%;
}
.amenities-8 {
    top: 63%;
    left: 24.5%;
}
.amenities-8-1 {
    top: 61%;
    left: 34%;
}
.amenities-9 {
    top: 19.5%;
    left: 39%;
}
.amenities-9-1 {
    top: 35.5%;
    left: 39.5%;
}
.amenities-9-2 {
    top: 56.5%;
    left: 40.8%;
}
.amenities-9-3 {
    top: 73%;
    left: 41.5%;
}
.amenities-10 {
    top: 12%;
    right: 7.2%;
}
.amenities-11 {
    top: 33.5%;
    right: 32.5%;
}
.amenities-12 {
    top: 13%;
    left: 32.5%;
}
.amenities-12-1 {
    top: 71.5%;
    left: 47%;
}
.amenities-12-2 {
    top: 64.5%;
    left: 65.8%;
}
.amenities-13 {
    top: 59%;
    right: 29.5%;
}
.amenities-14 {
    top: 8%;
    right: 40.5%;
}
.amenities-15 {
    bottom: 24.5%;
    right: 28.7%;
}
.amenities-16 {
    top: 35.5%;
    right: 41%;
}




.big-article {
    padding: 1.5rem;
    background-color: var(--white);
}
.big-article .article-description {
     display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;

    overflow: hidden;
 }
.section-news a {
    font-weight: 600;
    font-size: 16px;
}
.small-article * {
    color: var(--white) !important;
}
.small-article .article-title {
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.small-article .post-date {
    padding: 0 5px !important;
    border: 1px solid var(--white) !important;
}
.small-article .ratio-16-9 {
    padding-top: 52%;
}

.team {
    background: #fff;
    border-radius: 12em 0;
    padding: 50px 11%;
    text-align: center;
}
.team .lead {
    margin-bottom: 5rem;
}
.team .name {
    font-weight: 600;
    font-size: 16px;
    margin-bottom: 1rem;
    color: #2c397d;
}
.item-member {
    margin-bottom: 1.5rem;
}
.item-member img {
    height: 13rem;
    object-fit: contain;
}
.is-mobile .item-member img {
    height: 8rem;
}


.session-floor .list-floor-plan {
    position: relative;
    /* padding: 3rem; */
}
.session-floor .item-floor {
    position: absolute;
    cursor: pointer;
    color: transparent;
    opacity: .75;
    transition: .3s;
    background: transparent !important;
}

/*.area-114-8:hover,*/
/*.area-115-3:hover,*/
/*.area-115-5:hover,*/
/*.area-118-9:hover,*/
/*.area-120:hover,*/
/*.area-192-7:hover,*/
/*.area-216-3:hover,*/
.session-floor .item-floor:hover,
.session-floor .item-floor.active {
    background: rgba(255, 255, 255, .75) !important;
    /*border: 1px solid #0f4d32;*/
    color: transparent;
}

.is-mobile .session-floor .img-left {
    max-width: 60%;
    margin-bottom: 3rem;
}
.area-114 {
    top: 74.85%;
    left: 23.9%;
    width: .85%;
    height: 4.24%;
    clip-path: polygon(0 0, 40% 0, 100% 20%, 100% 100%, 0 100%);
}
.area-114-5 {
    top: 30.9%;
    left: 26.7%;
    width: .9%;
    height: 4.3%;
    clip-path: polygon(0% 80%, 0% 0%, 100% 0%, 100% 100%, 70% 100%);
}
.area-114-8 {
    top: 30.9%;
    left: 42.8%;
    width: .9%;
    height: 4.3%;
    background: #00b050;
    opacity: .5;
    clip-path: polygon(
        0% 0%,
        100% 0%,
        100% 75%,
        48% 100%,
        0% 100%
    );
}
.area-115-3 {
    top: 41.5%;
    left: 45.6%;
    width: 0.905%;
    height: 4.4%;
    background: #7030a0;
    clip-path: polygon(0 22%, 50% 0, 100% 0, 100% 100%, 0 100%);
}
.area-115-5 {
    top: 30.9%;
    left: 27.6%;
    width: 15.05%;
    height: 4.3%;
    background: #98d35a;
}
.area-115-5.floor-number-2 {
    top: 30.9%;
    left: 46.9%;
    width: 24.25%;
    height: 4.3%;
    background: #98d35a;
}

.area-117-75 {
    top: 74.85%;
    left: 6.05%;
    width: 17.8%;
    height: 4.24%;
}

.area-118-9 {
    top: 30.9%;
    left: 71.16%;
    width: 1%;
    height: 4.3%;
    background: #4472c4;
    clip-path: polygon(0% 0%, 100% 0%, 100% 75%, 40% 100%, 0% 100%);
}


.area-119-3 {
    top: 41.5%;
    left: 26.7%;
    width: .9%;
    height: 4.4%;
    clip-path: polygon(0 20%, 60% 0, 100% 0, 100% 100%, 0 100%);
}

.area-119-6 {
    top: 41.5%;
    left: 42.77%;
    width: .9%;
    height: 4.4%;
    clip-path: polygon(0 0, 30% 0, 100% 20%, 100% 100%, 0 100%);
}

.area-120.floor-number-1 {
    top: 30.8%;
    left: 6.1%;
    width: 17.05%;
    height: 4.4%;
    background: #ffca29;
}
.area-120.floor-number-2 {
    top: 41.5%;
    left: 6.1%;
    width: 17.05%;
    height: 4.4%;
    background: #ffca29;
}
.area-120.floor-number-3 {
    top: 46%;
    left: 6.1%;
    width: 17.05%;
    height: 4.25%;
    background: #ffca29;
}
.area-120.floor-number-4 {
    top: 61.1%;
    left: 6.1%;
    width: 17.05%;
    height: 4.3%;
    background: #ffca29;
}
.area-120.floor-number-5 {
    top: 65.5%;
    left: 6.1%;
    width: 17.05%;
    height: 4.4%;
    background: #ffca29;
}
.area-120.floor-number-6 {
    top: 41.5%;
    left: 27.6%;
    width: 15.15%;
    height: 4.4%;
    background: #ffca29;
}
.area-120.floor-number-7 {
    top: 41.5%;
    left: 46.55%;
    width: 24.25%;
    height: 4.4%;
    background: #ffca29;
}

.area-164-3 {
    top: 30.9%;
    left: 45.65%;
    width: 1.25%;
    height: 4.3%;
    clip-path: polygon(0% 75%, 0% 0%, 100% 0%, 100% 100%, 45% 100%);
}

.area-175-5 {
    top: 41.5%;
    left: 70.9%;
    width: 1.2%;
    height: 4.4%;
    clip-path: polygon(0 0, 60% 0, 100% 24%, 100% 100%, 0 100%);
}

.area-192-7 {
    top: 74.85%;
    left: 4.6%;
    width: 1.4%;
    height: 4.24%;
    clip-path: polygon(0 22%, 35% 0, 100% 0, 100% 100%, 0 100%);
}
.area-216-3 {
    background: #ff0000;
    width: 1.54%;
    height: 4.6%;
}
.area-216-3.floor-number-1 {
    top: 41.5%;
    left: 23.15%;
    height: 4.4%;
    clip-path: polygon(
        0 0,
        60% 0,
        100% 24%,
        100% 100%,
        0 100%
    );
}
.area-216-3.floor-number-2 {
    top: 41.5%;
    left: 4.6%;
    height: 4.4%;
    clip-path: polygon(0 22%, 35% 0, 100% 0, 100% 100%, 0 100%);
}
.area-216-3.floor-number-3 {
    top: 30.8%;
    left: 4.6%;
    height: 4.4%;
    clip-path: polygon(0% 77%, 0% 0%, 100% 0%, 100% 100%, 35% 100%);
}
.area-216-3.floor-number-4 {
    top: 46%;
    left: 4.6%;
    height: 4.3%;
    clip-path: polygon(0% 77%, 0% 0%, 100% 0%, 100% 100%, 35% 100%);
}
.area-216-3.floor-number-5 {
    top: 30.8%;
    left: 23.15%;
    height: 4.4%;
    clip-path: polygon(0% 0%, 100% 0%, 100% 77%, 60% 100%, 0% 100%);
}
.area-216-3.floor-number-6 {
    top: 46%;
    left: 23.15%;
    height: 4.3%;
    clip-path: polygon(0% 0%, 100% 0%, 100% 77%, 60% 100%, 0% 100%);
}
.area-216-3.floor-number-7 {
    top: 61.1%;
    left: 4.6%;
    height: 4.3%;
    clip-path: polygon(
        0 22%,
        35% 0,
        100% 0,
        100% 100%,
        0 100%
    );
}
.area-216-3.floor-number-8 {
    top: 65.5%;
    left: 4.6%;
    height: 4.4%;
    clip-path: polygon(0% 77%, 0% 0%, 100% 0%, 100% 100%, 35% 100%);
}
.area-216-3.floor-number-9 {
    top: 61.1%;
    left: 23.15%;
    height: 4.3%;
    clip-path: polygon(0 0, 60% 0, 100% 24%, 100% 100%, 0 100%);
}
.area-216-3.floor-number-10 {
    top: 65.5%;
    left: 23.16%;
    height: 4.4%;
    clip-path: polygon(0% 0%, 100% 0%, 100% 77%, 60% 100%, 0% 100%);
}


/*end trang chu*/

/* body.is-mobile.home {
    padding-top: 9rem;
    background-color: #0a3623;
} */

.is-mobile .preloader .logo-animate {
    width: 100%;
    max-width: 250px;
}

.is-mobile header {
    background: #fff;
    box-shadow: 0 8px 26px rgba(15, 49, 40, 0.05);
}
.is-mobile .logo-section img {
    height: 4rem;
}
.is-mobile .btn-menu-mobile {
    margin-top: 3px;
}
.is-mobile .menu-section.open {
    width: 100%;
}

.is-mobile .img-fullscreen {
    height: auto;
}
.is-mobile .session-library,
.is-mobile .page-section.padding {
    padding: 8rem 3.5% !important;
}
.is-mobile .page-section {
    height: auto;
}

.is-mobile .about-info {
    position: relative;
    left: 0;
    max-width: 100%;
    height: 40vh;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 85%;
    flex-direction: column;
}

.is-mobile .creative .big-img {
    background-image: none !important;
    position: relative;
    height: auto;
}
.is-mobile .content-side .big-content {
    height: 0;
}
.is-mobile .content-side img.img-background {
    position: relative;
}
.is-mobile .content-side .content {
    height: 90vw;
}
.is-mobile .content-side .content .img{
    max-width: 30rem;
    margin: auto;
}
.is-mobile .content-side .content .info {
    position: absolute;
    z-index: 2;
    width: 100%;
    left: 50%;
    top: 3rem;
    transform: translateX(-50%);
    text-align: center;
    padding: 0 3.5%;
}
.is-mobile .creative .title-slide {
    justify-content: center;
}
.is-mobile .content-side.side-2 > .row {
    display: flex;
    flex-direction: column-reverse;
}

.is-mobile .dashboard {
    position: relative;
    left: 0;
    padding: 3rem 3.5%;
    font-weight: 600;
    width: 100%;
    border-radius: 0;
}
.is-mobile .dashboard .project,
.is-mobile .dashboard .infomation .item-info {
    grid-template-columns: repeat(1, max-content);
    gap: 10px;
}

.is-mobile .page-section.section-amenities {
    padding: 0 !important;
}
.is-mobile .section-amenities .background {
    opacity: 0;
}
.is-mobile .section-amenities .position-info {
    margin-bottom: 3rem;
    padding: 3rem 3.5% !important;
    background-image: linear-gradient(90deg, #386652, #0e4d32);
}

.is-mobile .session-experience .ratio-16-9 {
    width: 100%;
    height: 90vw;
    padding-top: initial;
}
.is-mobile  .session-experience .swiper-slide {
    height: 90vw;
}
.is-mobile .session-experience .text-fixed {
    font-size: 110%;
    left: 5%;
    top: 10%;
    width: 60%;
}
.is-mobile .session-experience .content {
    bottom: 8%;
}

.is-mobile .session-experience .swiper-slide::before {
    width: 100%;
    background: linear-gradient(180deg, #2c397d9e, transparent, #2c397d9e);
}

.is-mobile .session-award .swiper-navigation-center {
    width: calc(100% + 4rem);
    padding: 0 2rem;
}
.is-mobile .session-award .swiper-navigation-center .swiper-navigation {
    display: none;
}

.is-mobile .session-contact .infomation {
    margin-top: 3rem;
}
.is-mobile .session-contact,
.is-mobile  .section-team {
    padding: 8rem 0;    
}
.is-mobile .team {
    border-radius: 7em 0;
}
.is-mobile  .list-member {
    flex-wrap: wrap;
}
.is-mobile .session-contact {
    background-size: contain;
}
.is-mobile footer .btn-register {
    display: none;
}
.is-mobile .infomation .cdt .name {
    font-size: 170%;
}

.is-mobile .session-floor {
    background-color: var(--white);
}

body, p, a, li {
    font-size: 16px;
}
@media (min-width: 1024px) and (max-width: 1200px) {
    body.home .col-lg-3 {
        flex: 0 0 33%;
        max-width: 33%;
    }
    body.home .col-lg-9 {
        flex: 0 0 67%;
        max-width: 67%;
    }
    .dashboard .project .item-info {
        max-width: 200px;
    }
    .dashboard .project .item-info .value {
        font-size: 16px;
    }
}
@media (min-width: 992px) and (max-width: 1380px) {
    body, p, a, li {
        font-size: 13px;
    }
}
@media (min-width: 577px) and (max-width: 768px) {
    .is-mobile .dashboard .project, .is-mobile .dashboard .infomation .item-info {
        grid-template-columns: repeat(2, max-content);
    }
}
@media (max-width: 576px) {
    .is-mobile .session-experience .swiper-slide,
    .is-mobile .session-experience .ratio-16-9 {
        height: 120vw;
    }
    .session-experience .swiper-navigation {
        bottom: 40%;
    }
    .is-mobile .session-experience .text-fixed {
        left: 15%;
    }
    .ampersand {
        font-size: 250%;
    }
    .title-text {
        font-size: 120%;
    }
    
    .title-block {
        font-size: 200% !important;
    }
    
    .dashboard .title-block {
        font-size: 170% !important;
    }
    
    .title-amenities .number {
        font-size: 210%;
    }
    .title-amenities .text-main {
        font-size: 100%;
    }
    .title-amenities .text-small {
        font-size: 60%;
    }
    
    .is-mobile .content-side .content .info {
        padding: 0 5rem;
        text-align: justify;
    }
    .is-mobile .hero-subtitle {
        margin-top: 5px;
        font-size: 16px;
        padding-left: 5rem;
    }
    .session-experience .content .name {
        font-size: 120%;
    }
    
    .section-news .inner-content .post-date {
        position: absolute;
        opacity: 0;
    }
    .small-article .article-title a {
        font-size: 80% !important;
        line-height: 1.1;
    }
    .is-mobile .session-award .swiper-navigation-center {
        width: calc(100% + 0rem);
        padding: 0 2rem;
    }
    .team {
        border-radius: 1rem;
    }
    
    .is-mobile header .btn-register {
        display: none;
    }
    .is-mobile footer .btn-register {
        position: fixed;
        bottom: 2rem;
        left: 1rem;
        z-index: 1;
        display: block;
        font-size: 13px;
        background-color: var(--color-highlight);
    }
}
/* ==============================
   SECTION INTRO / BANNER
================================= */

.section-intro {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    min-height: clamp(520px, 48vw, 820px);
    overflow: hidden;
    background-color: #f5f7fa;
    isolation: isolate;
}

/* áº¢nh ná»n */
.section-intro__media {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.section-intro__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

/*
áº¢nh Ä‘ang cÃ³ vÃ¹ng trá»‘ng bÃªn trÃ¡i Ä‘á»ƒ Ä‘áº·t ná»™i dung,
nÃªn overlay chá»‰ cáº§n tÄƒng tÆ°Æ¡ng pháº£n nháº¹.
*/
.section-intro__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
        linear-gradient(
            90deg,
            rgba(255, 255, 255, 0.98) 0%,
            rgba(255, 255, 255, 0.92) 24%,
            rgba(255, 255, 255, 0.68) 39%,
            rgba(255, 255, 255, 0.08) 58%,
            rgba(255, 255, 255, 0) 72%
        );
}

/* Container ná»™i dung */
.section-intro__container {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 100%;
    padding: 0 3.5%;
}

.section-intro__content {
    width: min(100%, 620px);
    padding: 60px 0;
}

/* Slogan nhá» phÃ­a trÃªn */
.section-intro__eyebrow {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    margin-bottom: 18px;
    padding: 8px 20px;
    border-left: 4px solid #ed1c24;
    border-radius: 2px 22px 22px 2px;

    color: #ffffff;
    background: linear-gradient(
        90deg,
        #006746 0%,
        #075c53 45%,
        #1556a7 100%
    );

    font-size: clamp(12px, 0.9vw, 15px);
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

/* TiÃªu Ä‘á» chÃ­nh */
.section-intro__title {
    max-width: 600px;
    margin: 0;
    color: #006746;

    font-size: clamp(38px, 4vw, 72px);
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -0.035em;
    text-transform: uppercase;

    text-wrap: balance;
}

/* Style cho tháº» con náº¿u ná»™i dung CMS cÃ³ span, strong */
.section-intro__title strong,
.section-intro__title b {
    color: #ed1c24;
    font-weight: inherit;
}

.section-intro__title span {
    color: #1556a7;
}

/* ÄÆ°á»ng nháº¥n ba mÃ u logo */
.section-intro__title::after {
    content: "";
    display: block;
    width: 180px;
    height: 4px;
    margin-top: 24px;
    border-radius: 999px;

    background: linear-gradient(
        90deg,
        #006746 0 33.333%,
        #ed1c24 33.333% 66.666%,
        #1556a7 66.666% 100%
    );
}

/* MÃ´ táº£ */
.section-intro__description {
    max-width: 560px;
    margin-top: 24px;
    color: #006746;
    font-size: clamp(15px, 1.2vw, 18px);
    font-weight: 600;
    line-height: 1.75;
    font-style: italic;
    display: flex;
    align-items: center;
    gap: 10px;
    text-transform: uppercase;
}
.section-intro__description > span:nth-child(1) {
    color: #ed1c24;
}

.section-intro__description > span:nth-child(2) {
    color: #1556a7;
}

.section-intro__description p {
    margin: 0 0 12px;
}

.section-intro__description p:last-child {
    margin-bottom: 0;
}

.section-intro__description strong,
.section-intro__description b {
    color: #006746;
    font-weight: 700;
}
.title-section.title-related {
    margin-bottom: 1.5rem;
    color: #10243e;
    font-size: 2.4rem;
    font-weight: 800;
    line-height: 1.5;
    letter-spacing: -0.025em;
    text-transform: uppercase;
    position: relative;
    padding-bottom: 1rem;
}
.title-section.title-related:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 120px;
    height: 4px;
    border-radius: 999px;
    background: linear-gradient(90deg, #006746 0 33.333%, #ed1c24 33.333% 66.666%, #1556a7 66.666% 100%);
}

/* ==============================
   TABLET
================================= */

@media (max-width: 1199.98px) {
    .section-intro {
        min-height: 620px;
    }

    .section-intro__content {
        width: min(100%, 540px);
    }

    .section-intro__overlay {
        background:
            linear-gradient(
                90deg,
                rgba(255, 255, 255, 0.98) 0%,
                rgba(255, 255, 255, 0.9) 34%,
                rgba(255, 255, 255, 0.48) 53%,
                rgba(255, 255, 255, 0) 72%
            );
    }
}

/* ==============================
   MOBILE
================================= */

@media (max-width: 767.98px) {
    .section-intro {
        align-items: flex-start;
        min-height: 620px;
    }

    .section-intro__image {
        object-position: 68% center;
    }

    /*
    TrÃªn mobile phá»§ gradient tá»« trÃªn xuá»‘ng,
    giÃºp chá»¯ Ä‘áº·t phÃ­a trÃªn dá»… Ä‘á»c.
    */
    .section-intro__overlay {
        background:
            linear-gradient(
                180deg,
                rgba(255, 255, 255, 0.99) 0%,
                rgba(255, 255, 255, 0.96) 35%,
                rgba(255, 255, 255, 0.72) 58%,
                rgba(255, 255, 255, 0.08) 100%
            );
    }

    .section-intro__content {
        width: 100%;
        max-width: 520px;
        padding: 0;
    }

    .section-intro__eyebrow {
        min-height: 34px;
        margin-bottom: 15px;
        padding: 7px 15px;
        font-size: 11px;
        letter-spacing: 0.05em;
    }

    .section-intro__title {
        max-width: 100%;
        font-size: clamp(34px, 10vw, 52px);
        line-height: 1.08;
    }

    .section-intro__title::after {
        width: 130px;
        height: 3px;
        margin-top: 18px;
    }

    .section-intro__description {
        max-width: 100%;
        margin-top: 18px;
        color: #323a43;
        font-size: 15px;
        line-height: 1.65;
    }
}

/* Mobile nhá» */
@media (max-width: 479.98px) {
    .section-intro {
        min-height: 580px;
    }

    .section-intro__content {
        padding-top: 42px;
        padding-bottom: 230px;
    }

    .section-intro__title {
        font-size: 33px;
    }
}
.box-search-header {
    border-radius: 5rem;
    position: relative;
    overflow: hidden;
    border: 1px solid var(--color-highlight);
    background: #fff;
    padding: 2px;
}
.box-search-header .form-control {
    border: 0;
    background: #fff;
}
.box-search-header .btn {
    border-radius: 20px;
    min-width: 6rem;
}
.btn-menu-mobile.open i:before {
    content: "\f00d";
}
/* ==========================================
   PRODUCT CATEGORY SECTION
========================================== */

.product-category-section {
    position: relative;
    background: radial-gradient(circle at 10% 15%, rgba(0, 103, 70, 0.07), transparent 28%), radial-gradient(circle at 90% 90%, rgba(21, 86, 167, 0.08), transparent 30%), #f7f9fc;
    padding-top: 10rem;
}
.product-category-section>.container {
    max-width: 80%;
}

/* ==========================================
   HEADING
========================================== */

.product-category-heading {
    margin: 0 auto 42px;
    text-align: center;
}

.product-category-heading__slogan {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 12px;
    color: #006746;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.product-category-heading__slogan::before,
.product-category-heading__slogan::after {
    content: "";
    width: 28px;
    height: 2px;
    margin: 0 10px;
}

.product-category-heading__slogan::before {
    background-color: #006746;
}

.product-category-heading__slogan::after {
    background-color: #ed1c24;
}

.product-category-heading__title {
    position: relative;
    margin: 0;
    padding-bottom: 18px;
    color: #10243e;
    font-size: clamp(30px, 3vw, 46px);
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -0.025em;
    text-transform: uppercase;
}

.product-category-heading__title::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 120px;
    height: 4px;
    border-radius: 999px;
    transform: translateX(-50%);

    background: linear-gradient(
        90deg,
        #006746 0 33.333%,
        #ed1c24 33.333% 66.666%,
        #1556a7 66.666% 100%
    );
}

.product-category-heading__description {
    margin: 18px auto 0;
    color: #687483;
    font-size: 16px;
    line-height: 1.7;
}

/* ==========================================
   GRID: DESKTOP 5 Cá»˜T Ã— 2 HÃ€NG
========================================== */

.product-category-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 22px;
}

/* ==========================================
   CATEGORY CARD
========================================== */

.product-category-card {
    position: relative;
    min-width: 0;
}

.product-category-card__link {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    border: 1px solid rgba(15, 39, 65, 0.08);
    border-radius: 16px;
    color: inherit;
    background-color: #ffffff;
    box-shadow: 0 8px 30px rgba(15, 39, 65, 0.07);
    text-decoration: none;

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease,
        border-color 0.3s ease;
}

.product-category-card__link:hover {
    border-color: rgba(21, 86, 167, 0.3);
    color: inherit;
    text-decoration: none;
    transform: translateY(-7px);
    box-shadow: 0 18px 42px rgba(15, 39, 65, 0.15);
}

/* áº¢nh vuÃ´ng dÃ¹ng cho avatar danh má»¥c */
.product-category-card__image-wrap {
    position: relative;
    overflow: hidden;
    aspect-ratio: 3/2;
    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 1),
            rgba(235, 241, 248, 1)
        );
}

.product-category-card__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 0.45s ease;
}

.product-category-card__link:hover .product-category-card__image {
    transform: scale(1.07);
}

/* Lá»›p mÃ u nháº¹ phÃ­a dÆ°á»›i áº£nh */
.product-category-card__overlay {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(
            180deg,
            transparent 50%,
            rgba(7, 29, 54, 0.08) 100%
        );
}

/* TrÆ°á»ng há»£p khÃ´ng cÃ³ áº£nh */
.product-category-card__placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    color: #1556a7;
    font-size: 58px;
    background:
        linear-gradient(
            135deg,
            rgba(0, 103, 70, 0.08),
            rgba(21, 86, 167, 0.12)
        );
}

/* Ná»™i dung card */
.product-category-card__body {
    position: relative;
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: center;
    padding: 10px 14px;
    text-align: center;
}

.product-category-card__body::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: 100%;
    height: 3px;
    transform: translateX(-50%);
    background: linear-gradient(
        90deg,
        #006746,
        #1556a7,
        #ed1c24
    );
}

.product-category-card__name {
    display: -webkit-box;
    min-height: 48px;
    margin: 0;
    overflow: hidden;

    color: #10243e;
    font-size: 16px;
    font-weight: 750;
    line-height: 1.45;
    text-transform: uppercase;

    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;

    transition: color 0.3s ease;
}

.product-category-card__link:hover .product-category-card__name {
    color: #006746;
}

.product-category-card__action {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 12px;
    color: #1556a7;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.4;
}

.product-category-card__action i {
    transition: transform 0.3s ease;
}

.product-category-card__link:hover
.product-category-card__action i {
    transform: translateX(4px);
}

/* ==========================================
   RESPONSIVE
========================================== */

/* Laptop nhá»: váº«n giá»¯ 5 cá»™t nhÆ°ng giáº£m khoáº£ng cÃ¡ch */
@media (max-width: 1199.98px) {
    .product-category-section {
        padding: 65px 0;
    }

    .product-category-grid {
        gap: 16px;
    }

    .product-category-card__body {
        padding-right: 10px;
        padding-left: 10px;
    }

    .product-category-card__name {
        font-size: 14px;
    }
}

/* Tablet ngang: 3 cá»™t */
@media (max-width: 991.98px) {
    .product-category-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 20px;
    }
}

/* Mobile vÃ  tablet dá»c: 2 cá»™t */
@media (max-width: 767.98px) {
    .product-category-section {
        padding: 50px 0;
    }

    .product-category-heading {
        margin-bottom: 30px;
    }

    .product-category-heading__title {
        font-size: 28px;
    }

    .product-category-heading__description {
        font-size: 15px;
    }

    .product-category-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
    }

    .product-category-card__link {
        border-radius: 12px;
    }

    .product-category-card__body {
        padding: 15px 8px 16px;
    }

    .product-category-card__name {
        min-height: 42px;
        font-size: 13px;
        line-height: 1.55;
    }

    .product-category-card__action {
        margin-top: 8px;
        font-size: 12px;
    }
}

/* MÃ n hÃ¬nh ráº¥t nhá» */
@media (max-width: 374.98px) {
    .product-category-grid {
        grid-template-columns: 1fr;
    }

    .product-category-card__image-wrap {
        aspect-ratio: 16 / 10;
    }
}
/* ==========================================
   KNOWLEDGE / TIPS / VIDEO SECTION
========================================== */

.knowledge-section {
    position: relative;
    padding: 52px 0;
    overflow: hidden;
    background-color: #ffffff;
}
.knowledge-section > .container {
    max-width: 80%;
}

/* Pháº§n intro chung, cÃ³ thá»ƒ áº©n náº¿u khÃ´ng dÃ¹ng */
.knowledge-section__intro {
    max-width: 720px;
    margin: 0 auto 32px;
    text-align: center;
}

.knowledge-section__main-title {
    margin: 0;
    color: #10243e;
    font-size: clamp(28px, 2.6vw, 42px);
    font-weight: 800;
    line-height: 1.2;
    text-transform: uppercase;
}

.knowledge-section__description {
    margin-top: 12px;
    color: #6c7783;
    font-size: 15px;
    line-height: 1.7;
}

/* ==========================================
   GROUP
========================================== */

.knowledge-group + .knowledge-group {
    margin-top: 48px;
}

.knowledge-group__heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 20px;
}

.knowledge-group__title {
    position: relative;
    margin: 0;
    padding-left: 14px;

    color: #10243e;
    font-size: 17px;
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.knowledge-group__title::before {
    content: "";
    position: absolute;
    top: 3px;
    bottom: 3px;
    left: 0;
    width: 4px;
    border-radius: 999px;

    background: linear-gradient(
        180deg,
        #006746,
        #1556a7,
        #ed1c24
    );
}

.knowledge-group__more {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 7px;

    color: #006746;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;

    transition: color 0.25s ease;
}

.knowledge-group__more i {
    transition: transform 0.25s ease;
}

.knowledge-group__more:hover {
    color: #1556a7;
    text-decoration: none;
}

.knowledge-group__more:hover i {
    transform: translateX(4px);
}

/* ==========================================
   VIDEO GRID
========================================== */

.knowledge-video-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 16px;
}

.knowledge-video-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    height: 100%;
    padding: 14px;
    border: 1px solid #dfe5e3;
    border-radius: 10px;

    background-color: #ffffff;

    transition:
        transform 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease;
}

.knowledge-video-card:hover {
    border-color: rgba(0, 103, 70, 0.35);
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(16, 53, 42, 0.09);
}

.knowledge-video-card__media {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 16 / 9;
    border-radius: 7px;
    background-color: #0d3d2a;
}

.knowledge-video-card__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;

    transition: transform 0.4s ease;
}

.knowledge-video-card:hover
.knowledge-video-card__image {
    transform: scale(1.06);
}

.knowledge-video-card__overlay {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(
            180deg,
            rgba(7, 29, 25, 0.03),
            rgba(7, 29, 25, 0.25)
        );
}

.knowledge-video-card__play {
    position: absolute;
    top: 50%;
    left: 50%;

    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;

    color: #006746;
    background-color: rgba(255, 255, 255, 0.95);

    font-size: 15px;
    transform: translate(-50%, -50%);

    box-shadow: 0 8px 25px rgba(6, 39, 30, 0.18);

    transition:
        color 0.25s ease,
        background-color 0.25s ease,
        transform 0.25s ease;
}

.knowledge-video-card__play i {
    margin-left: 3px;
}

.knowledge-video-card:hover
.knowledge-video-card__play {
    color: #ffffff;
    background-color: #ed1c24;
    transform: translate(-50%, -50%) scale(1.08);
}

.knowledge-video-card__duration {
    position: absolute;
    right: 8px;
    bottom: 8px;

    padding: 3px 6px;
    border-radius: 3px;

    color: #ffffff;
    background-color: rgba(2, 19, 15, 0.88);

    font-size: 10px;
    font-weight: 700;
    line-height: 1.2;
}

.knowledge-video-card__title {
    margin: 12px 0 0;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.55;
}

.knowledge-video-card__title a {
    display: -webkit-box;
    overflow: hidden;

    color: #172633;
    text-decoration: none;

    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;

    transition: color 0.25s ease;
}

.knowledge-video-card__title a:hover {
    color: #006746;
}

/* ==========================================
   TIP GRID
========================================== */

.knowledge-tip-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 16px;
}

.knowledge-tip-card {
    min-width: 0;
}

.knowledge-tip-card__link {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 14px;
    border: 1px solid #dfe5e3;
    border-radius: 10px;

    color: inherit;
    background-color: #ffffff;
    text-decoration: none;

    transition:
        transform 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease;
}

.knowledge-tip-card__link:hover {
    border-color: rgba(0, 103, 70, 0.35);
    color: inherit;
    text-decoration: none;
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(16, 53, 42, 0.09);
}

.knowledge-tip-card__media {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
        aspect-ratio: 16 / 9;
    border-radius: 7px;

    background:
        linear-gradient(
            135deg,
            rgba(0, 103, 70, 0.07),
            rgba(21, 86, 167, 0.07)
        );
}

.knowledge-tip-card__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;

    transition: transform 0.35s ease;
}

.knowledge-tip-card__link:hover
.knowledge-tip-card__image {
    transform: scale(1.06);
}

.knowledge-tip-card__icon {
    color: #006746;
    font-size: 27px;
}

.knowledge-tip-card__title {
    display: -webkit-box;
    /*min-height: 42px;*/
    margin: 12px 0 0;
    overflow: hidden;

    color: #172633;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.55;

    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;

    transition: color 0.25s ease;
}

.knowledge-tip-card__link:hover
.knowledge-tip-card__title {
    color: #006746;
}

/* ==========================================
   EMPTY
========================================== */

.knowledge-section__empty {
    padding: 25px;
    border-radius: 10px;
    color: #687483;
    background-color: #f5f7f8;
    text-align: center;
}

/* ==========================================
   MERGED GRID (video + tip, 5 / hÃ ng)
========================================== */

.knowledge-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 16px;
}

/* ==========================================
   RESPONSIVE
========================================== */

@media (max-width: 1199.98px) {
    .knowledge-video-grid,
    .knowledge-tip-grid,
    .knowledge-grid {
        gap: 13px;
    }

    .knowledge-video-card__title,
    .knowledge-tip-card__title {
        font-size: 12px;
    }
}

@media (max-width: 991.98px) {
    .knowledge-video-grid,
    .knowledge-tip-grid,
    .knowledge-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .knowledge-section {
        padding: 42px 0;
    }

    .knowledge-group + .knowledge-group {
        margin-top: 38px;
    }

    .knowledge-group__heading {
        align-items: flex-start;
    }

    .knowledge-group__title {
        font-size: 15px;
        letter-spacing: 0.04em;
    }

    .knowledge-group__more {
        font-size: 12px;
    }

    .knowledge-video-grid,
    .knowledge-tip-grid,
    .knowledge-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 479.98px) {
    .knowledge-group__heading {
        display: block;
    }

    .knowledge-group__more {
        margin-top: 10px;
    }

    .knowledge-video-grid,
    .knowledge-tip-grid,
    .knowledge-grid {
        display: flex;
        gap: 13px;
        overflow-x: auto;
        padding-bottom: 8px;

        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }

    .knowledge-video-grid::-webkit-scrollbar,
    .knowledge-tip-grid::-webkit-scrollbar,
    .knowledge-grid::-webkit-scrollbar {
        display: none;
    }

    .knowledge-video-card,
    .knowledge-tip-card {
        flex: 0 0 78%;
        scroll-snap-align: start;
    }
}
/* =========================================
   QUOTE SECTION
========================================= */

.quote-section {
    position: relative;
    display: flex;
    align-items: center;
    overflow: hidden;
    padding: 40px 0;

    background:
        radial-gradient(
            circle at 8% 12%,
            rgba(0, 103, 70, 0.09),
            transparent 32%
        ),
        radial-gradient(
            circle at 96% 88%,
            rgba(21, 86, 167, 0.07),
            transparent 32%
        ),
        #f4f7f6;
}

.quote-section__layout {
    display: grid;
    grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
    align-items: center;
    gap: 34px;
}

/* =========================================
   LEFT INTRO
========================================= */

.quote-section__intro {
    position: relative;
    padding: 0 10px 0 0;
}

.quote-section__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
    padding: 6px 13px;
    border: 1px solid rgba(0, 103, 70, 0.16);
    border-radius: 999px;

    color: #006746;
    background-color: rgba(0, 103, 70, 0.08);

    font-size: 12px;
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.quote-section__eyebrow i {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border-radius: 50%;

    color: #ffffff;
    background-color: #006746;
    font-size: 9px;
}

.quote-section__title {
    margin: 0;
    color: #10243e;

    font-size: clamp(30px, 2.7vw, 44px);
    font-weight: 800;
    line-height: 1.14;
    letter-spacing: -0.025em;
    text-transform: uppercase;
}

.quote-section__description {
    margin: 14px 0 0;
    color: #687483;
    font-size: 14px;
    line-height: 1.75;
}

.quote-section__benefits {
    display: grid;
    gap: 8px;
    margin: 22px 0 0;
    padding: 0;
    list-style: none;
}

.quote-section__benefits li {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0;
    /* border: 1px solid rgba(15, 49, 40, 0.07); */
    border-radius: 12px;
    color: #687483;
    /* background-color: #ffffff; */
    font-size: 13.5px;
    /* font-weight: 600; */
    line-height: 1.5;
    /* box-shadow: 0 4px 14px rgba(15, 49, 40, 0.04); */
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.quote-section__benefits li:hover {
    /* transform: translateX(3px); */
    /* box-shadow: 0 8px 20px rgba(15, 49, 40, 0.08); */
}

.quote-section__benefits-icon {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    color: #ffffff;
    background: linear-gradient(135deg, #006746 0%, #04815a 100%);
    font-size: 13px;
}

.quote-section__support {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 25px;
}

.quote-section__support-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 45px;
    height: 45px;
    border-radius: 12px;

    color: #ffffff;
    background:
        linear-gradient(
            135deg,
            #006746,
            #1556a7
        );

    font-size: 18px;
}

.quote-section__support-label {
    color: #75808b;
    font-size: 12px;
}

.quote-section__support-phone {
    color: #10243e;
    font-size: 18px;
    font-weight: 800;
    text-decoration: none;
}

/* =========================================
   FORM CARD
========================================= */

.quote-form-card {
    overflow: hidden;
    border: 1px solid #a2c8db;
    border-radius: 22px;
    background-color: #4d9cd53b;
    /* box-shadow: 0 24px 60px rgba(15, 49, 40, 0.1); */
}

.quote-form {
    padding: 20px 22px 18px;
}

.quote-form__grid {
    display: grid;
    gap: 16px;
}

/* =========================================
   FORM GROUP
========================================= */

.quote-form-group {
    min-width: 0;
}

.quote-form-group__heading {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
}

.quote-form-group__number {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 8px;

    color: #ffffff;
    background-color: #006746;

    font-size: 12px;
    font-weight: 800;
}

.quote-form-group__heading h3 {
    margin: 0;
    color: #10243e;

    font-size: 13px;
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    white-space: nowrap;
}

/* Ä‘Æ°á»ng káº» máº£nh cháº¡y háº¿t pháº§n cÃ²n láº¡i cá»§a tiÃªu Ä‘á» nhÃ³m */
.quote-form-group__heading::after {
    content: "";
    flex: 1 1 auto;
    height: 1px;
    background-color: #e8eeec;
}

/* =========================================
   GRID FIELDS
========================================= */

.form-grid {
    display: grid;
    gap: 11px 14px;
}

.form-grid--2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.form-grid--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.form-grid--4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.form-grid--customer,
.form-grid--product {
    margin-top: 11px;
}

.form-field {
    min-width: 0;
}

.form-field label {
    display: block;
    margin-bottom: 5px;

    color: #22323f;
    font-size: 12.5px;
    font-weight: 700;
    line-height: 1.4;
}

.form-field label > span {
    color: #ed1c24;
}

.form-field input,
.form-field select,
.form-field textarea {
    display: block;
    width: 100%;
    border: 1px solid #dde5e2;
    border-radius: 10px;
    outline: none;

    color: #22323f;
    background-color: #ffffff;

    font-family: inherit;
    font-size: 13.5px;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease,
        background-color 0.2s ease;
}

.form-field input,
.form-field select {
    height: 42px;
    padding: 0 13px;
}

.form-field select {
    padding-right: 34px;
    cursor: pointer;

    /* bá» mÅ©i tÃªn máº·c Ä‘á»‹nh Ä‘á»ƒ dÃ¹ng mÅ©i tÃªn riÃªng cá»§a .form-field__select */
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

.form-field select:disabled {
    color: #a2abb3;
    background-color: #f6f8f7;
    cursor: not-allowed;
}

.form-field textarea {
    min-height: 62px;
    padding: 9px 13px 22px;
    resize: vertical;
}

.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus {
    border-color: #006746;
    box-shadow: 0 0 0 3px rgba(0, 103, 70, 0.09);
}

.form-field input::placeholder,
.form-field textarea::placeholder {
    color: #a2abb3;
}

/* mÅ©i tÃªn cá»§a Ã´ chá»n */
.form-field__select {
    position: relative;
}

.form-field__select::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 15px;
    width: 8px;
    height: 8px;
    margin-top: -6px;
    border-right: 2px solid #7b8a95;
    border-bottom: 2px solid #7b8a95;
    border-radius: 1px;
    transform: rotate(45deg);
    pointer-events: none;
}

/* Ä‘áº¿m kÃ½ tá»± trong Ã´ nháº­p ná»™i dung */
.form-field__counter-wrap {
    position: relative;
}

.form-field__counter {
    position: absolute;
    right: 12px;
    bottom: 9px;

    color: #9aa5ad;
    font-size: 11px;
    font-weight: 600;
    pointer-events: none;
}

/* =========================================
   CUSTOMER TYPE
========================================= */

.customer-type {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.customer-type__item {
    display: flex !important;
    align-items: center;
    gap: 10px;
    min-height: 46px;
    margin: 0 !important;
    padding: 6px 14px;
    border: 1px solid #dde5e2;
    border-radius: 10px;
    color: #44525d;
    background-color: #ffffff;
    font-size: 13px !important;
    font-weight: 600;
    text-align: left;
    cursor: pointer;
    transition:
        border-color 0.2s ease,
        color 0.2s ease,
        background-color 0.2s ease,
        box-shadow 0.2s ease;
}

.customer-type__icon {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    color: #6a7883;
    font-size: 15px;
    transition:
        color 0.2s ease,
        background-color 0.2s ease;
}

/* tÃªn loáº¡i khÃ¡ch hÃ ng luÃ´n náº±m gá»n 1 dÃ²ng */
.customer-type__label {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.customer-type__item:hover {
    border-color: #b9c7c2;
}

.customer-type__item--garage:has(input:checked) {
    border-color: #006746;
    color: #006746;
    background-color: rgba(0, 103, 70, 0.05);
    box-shadow: 0 4px 14px rgba(0, 103, 70, 0.1);
}

.customer-type__item--garage:has(input:checked) .customer-type__icon {
    color: #006746;
}

.customer-type__item--personal:has(input:checked) {
    border-color: #006746;
    color: #006746;
    background-color: rgba(0, 103, 70, 0.05);
    box-shadow: 0 4px 14px rgba(0, 103, 70, 0.1);
}

.customer-type__item--personal:has(input:checked) .customer-type__icon {
    /* color: #ffffff; */
    /* background-color: #ed1c24; */
}

/* trÃ¬nh duyá»‡t cÅ© khÃ´ng há»— trá»£ :has() */
.customer-type__item.active {
    border-color: #006746;
    color: #006746;
    background-color: rgba(0, 103, 70, 0.05);
}

.customer-type__item input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
}

/* =========================================
   UPLOAD
========================================= */

.upload-field {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 7px;
    height: 36px;
    margin: 0 !important;
    border: 1px dashed #b9c7c2 !important;
    border-radius: 8px;

    color: #687483 !important;
    background-color: #f9fbfa;

    font-size: 9px !important;
    font-weight: 500 !important;
    cursor: pointer;
}

.upload-field input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
}

.upload-field i {
    color: #006746;
}

/* =========================================
   ACTIONS
========================================= */

.quote-form__actions {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 4px;
}

.quote-form__submit,
.quote-form__zalo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    padding: 0 22px;
    border-radius: 10px;

    font-size: 12.5px;
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: 0.02em;
    text-decoration: none;
    text-transform: uppercase;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        background-color 0.25s ease,
        color 0.25s ease;
}

.quote-form__submit {
    border: 0;
    color: #ffffff;
    background: linear-gradient(135deg, #006746 0%, #04815a 100%);
    cursor: pointer;
    box-shadow: 0 10px 24px rgba(0, 103, 70, 0.22);
}

.quote-form__submit:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(0, 103, 70, 0.28);
}

.quote-form__zalo {
    border: 1px solid #dbe3e0;
    color: #1556a7;
    background-color: #ffffff;
}

.quote-form__zalo:hover {
    border-color: #1556a7;
    color: #ffffff;
    background-color: #1556a7;
    text-decoration: none;
    transform: translateY(-2px);
}

/* =========================================
   RESPONSIVE
========================================= */

/* mÃ n hÃ¬nh tháº¥p (laptop 768px - 900px): siáº¿t khoáº£ng cÃ¡ch Ä‘á»ƒ khá»‘i khÃ´ng bá»‹ cáº¯t,
   vÃ¬ .page-section cao Ä‘Ãºng 100vh vÃ  overflow: hidden */
@media (min-width: 992px) and (max-height: 900px) {
    .quote-section {
        padding: 24px 0;
    }

    .quote-section__title {
        font-size: clamp(26px, 2.2vw, 34px);
    }

    .quote-section__benefits li {
        padding: 0;
        font-size: 13px;
    }

    .quote-section__benefits-icon {
        width: 28px;
        height: 28px;
        font-size: 12px;
    }

    .quote-form {
        padding: 16px 18px 14px;
    }

    .quote-form__grid {
        gap: 12px;
    }

    .form-field input,
    .form-field select,
    .customer-type__item {
        height: 40px;
        min-height: 38px;
    }

    .form-field textarea {
        min-height: 62px;
    }

    .quote-form__submit,
    .quote-form__zalo {
        min-height: 40px;
    }

}

@media (max-width: 1199.98px) {
    .quote-section {
        min-height: auto;
        padding: 45px 0;
    }

    .quote-section__layout {
        grid-template-columns: minmax(250px, 0.8fr) minmax(0, 1.3fr);
        gap: 26px;
    }

    .quote-form {
        padding: 20px;
    }

}

@media (max-width: 991.98px) {
    .quote-section__layout {
        grid-template-columns: 1fr;
    }

    .quote-section__intro {
        max-width: 720px;
        margin: 0 auto;
        padding-right: 0;
        text-align: center;
    }

    .quote-section__description {
        margin-right: auto;
        margin-left: auto;
    }

    .quote-section__benefits {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        text-align: left;
    }

    .quote-section__support {
        justify-content: center;
    }
}

@media (max-width: 767.98px) {
    .quote-section {
        padding: 40px 0;
    }

    .quote-section__benefits {
        grid-template-columns: 1fr;
    }

    .quote-form__grid {
        grid-template-columns: 1fr;
    }

    .form-grid--3,
    .form-grid--4 {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 575.98px) {
    .quote-form-card {
        border-radius: 16px;
    }

    .quote-form {
        padding: 16px;
    }

    .form-grid--2,
    .form-grid--3,
    .form-grid--4 {
        grid-template-columns: 1fr;
    }

    .customer-type {
        grid-template-columns: 1fr;
    }

    .quote-form__actions {
        align-items: stretch;
        flex-direction: column;
    }

    .quote-form__submit,
    .quote-form__zalo {
        width: 100%;
    }
}
/* ==================================================
   MH AUTO FOOTER
================================================== */

.mh-footer {
    position: relative;
    overflow: hidden;
    color: #ffffff;
    background:
        linear-gradient(
            125deg,
            #053e31 0%,
            #075545 28%,
            #0b3f62 63%,
            #123f78 100%
        );
    justify-content: center;
}

/* Lá»›p phá»§ giÃºp ná»n cÃ³ chiá»u sÃ¢u */
.mh-footer::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(
            circle at 5% 10%,
            rgba(255, 255, 255, 0.1),
            transparent 27%
        ),
        radial-gradient(
            circle at 95% 85%,
            rgba(44, 128, 217, 0.18),
            transparent 30%
        );
}

/* Há»a tiáº¿t chÃ©o theo mÃ u logo */
.mh-footer__decoration {
    position: absolute;
    z-index: 0;
    width: 330px;
    height: 85px;
    opacity: 0.16;
    pointer-events: none;
    transform: skewX(-35deg);
}

.mh-footer__decoration--green {
    top: 35px;
    left: -140px;
    background-color: #00a875;
}

.mh-footer__decoration--blue {
    right: -140px;
    bottom: 100px;
    background-color: #2878d1;
}

.mh-footer__container {
    position: relative;
    z-index: 1;
    max-width: 90%;
}

/* ==================================================
   GRID 2 Cá»˜T
================================================== */

.mh-footer__grid {
    display: grid;
    grid-template-columns:
        minmax(0, 1.05fr)
        minmax(0, 1fr);
    gap: clamp(30px, 3.4vw, 60px);
    padding: 2rem 0;
}

/* cá»™t 3 (káº¿t ná»‘i) chá»‰ cÃ²n hÃ ng icon nÃªn thu háº¹p láº¡i */
.mh-footer__grid--3 {
    grid-template-columns: minmax(0, 1fr)
        minmax(0, 0.8fr);
    gap: clamp(26px, 2.6vw, 44px);
    align-items: start;
}

.mh-footer__grid--3 .mh-footer__column + .mh-footer__column {
    /* padding-left: clamp(20px, 2.2vw, 40px); */
}

.mh-footer__column {
    min-width: 0;
}

/* ==================================================
   LOGO VÃ€ MÃ” Táº¢
================================================== */

.mh-footer__logo {
    margin-bottom: 14px;
}

.mh-footer__logo a {
    display: inline-block;
}

.mh-footer__logo-image {
    width: 100%;
    max-width: 250px;
    height: auto;
}
.mh-footer__logo {
    align-items: center;
    min-height: 68px;
    padding-top: 5rem;
}

.mh-footer__highlights {
    display: grid;
    gap: 9px;
    margin-top: 2px;
}

.mh-footer__highlight {
    display: flex;
    align-items: center;
    gap: 10px;
    color: rgba(255, 255, 255, 0.88);
    font-size: 13.5px;
    line-height: 1.5;
}

.mh-footer__highlight i {
    color: #43d7a2;
    font-size: 15px;
}

/* ==================================================
   SOCIAL
================================================== */

.mh-footer__social {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 25px;
}

.mh-footer__social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    /* width: 41px;
    height: 41px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 10px;

    color: #ffffff;
    background-color: rgba(255, 255, 255, 0.08);

    font-size: 15px; */
    text-decoration: none;

    transition:
        transform 0.25s ease,
        border-color 0.25s ease,
        background-color 0.25s ease;
}

.mh-footer__social a:hover {
    border-color: rgba(255, 255, 255, 0.4);
    color: #ffffff;
    background-color: #2373c9;
    text-decoration: none;
    transform: translateY(-4px);
}

/* Facebook */
.mh-footer__social a[title="Facebook"]:hover {
    background-color: #1877f2;
}

/* Instagram */
.mh-footer__social a[title="Instagram"]:hover {
    background:
        linear-gradient(
            135deg,
            #833ab4,
            #fd1d1d,
            #fcb045
        );
}

/* YouTube */
.mh-footer__social a[title="YouTube"]:hover {
    background-color: #ff0000;
}

/* ==================================================
   TITLE Cá»˜T
================================================== */

.mh-footer__title {
    margin: 2px 0 9px;
    color: #ffffff;
    font-size: 16px;
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    white-space: nowrap;      /* "Káº¿t ná»‘i vá»›i chÃºng tÃ´i" khÃ´ng bá»‹ gÃ£y 2 dÃ²ng */
}

.mh-footer__title-line {
    display: flex;
    gap: 4px;
    width: 70px;
    height: 3px;
    margin-bottom: 18px;
}

.mh-footer__title-line span {
    display: block;
    height: 100%;
    border-radius: 999px;
}

.mh-footer__title-line span:nth-child(1) {
    width: 26px;
    background-color: #2bc48a;
}

.mh-footer__title-line span:nth-child(2) {
    width: 17px;
    background-color: #f1222b;
}

.mh-footer__title-line span:nth-child(3) {
    width: 21px;
    background-color: #3a91eb;
}

/* ÄÆ°á»ng káº» mÃ u dÆ°á»›i logo (cá»™t 1) */
.mh-footer__about .mh-footer__title-line {
    margin-top: 12px;
    margin-bottom: 16px;
}

/* ==================================================
   Cá»˜T 3: SOCIAL - CHá»ˆ ICON, KHÃ”NG KHUNG Ná»€N
================================================== */

.mh-footer__social-list {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 1.5rem;
}

.mh-footer__social-item {
    display: inline-flex;
    align-items: center;
    gap: 11px;

    color: rgba(255, 255, 255, 0.86);
    text-decoration: none;

    transition:
        transform 0.22s ease,
        color 0.22s ease;
}

.mh-footer__social-item:hover {
    color: #ffffff;
    text-decoration: none;
    transform: translateX(3px);
}

/*
Icon máº¡ng xÃ£ há»™i lÃ  áº£nh PNG cÃ³ sáºµn ná»n tráº¯ng vÃ  tá»‰ lá»‡ khÃ¡c nhau,
nÃªn Ä‘áº·t trong khung cÃ¹ng kÃ­ch thÆ°á»›c Ä‘á»ƒ cáº£ cá»™t Ä‘á»u nhau.
*/
.mh-footer__social-icon {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    width: 30px;
    height: 30px;
    border-radius: 6px;
    font-size: 16px;
}

.mh-footer__social-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.mh-footer__social-name {
    font-size: 13.5px;
    font-weight: 600;
    line-height: 1.35;
    white-space: nowrap;
    display: none;
}

/* ==================================================
   DÃ’NG Báº¢N QUYá»€N
================================================== */

.mh-footer__bottom {
    padding: 16px 0 22px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.mh-footer__copyright {
    color: rgba(255, 255, 255, 0.62);
    font-size: 13.5px;
    line-height: 1.5;
}

/* ==================================================
   LOGO ÄÃƒ ÄÄ‚NG KÃ Bá»˜ CÃ”NG THÆ¯Æ NG
================================================== */

.mh-footer__certificate {
    margin-top: 26px;
}

.mh-footer__certificate a {
    display: inline-flex;
    align-items: center;
    padding: 10px 16px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 11px;
    background-color: rgba(255, 255, 255, 0.08);
    transition:
        background-color 0.25s ease,
        border-color 0.25s ease;
}

.mh-footer__certificate a:hover {
    border-color: rgba(255, 255, 255, 0.3);
    background-color: rgba(255, 255, 255, 0.14);
}

.mh-footer__certificate-image {
    display: block;
    width: auto;
    max-width: 100%;
    height: 46px;
    object-fit: contain;
}

/* ==================================================
   CONTACT
================================================== */

.mh-footer__contact-list {
    display: grid;
    gap: 10px;
}
.mh-footer__company-row.footer-gpkd {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.9);
    /* font-style: italic; */
}

.mh-footer__company-row.footer-ndd {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.9);
    /* font-style: italic; */
    margin-bottom: 10px;
}
.mh-footer__contact-item {
    display: flex;
    align-items: baseline;
    margin-bottom: 5px;
}
.mh-footer__contact-item > i {
    font-size: 12px;
    flex: 0 0 20px;
    color: rgb(43 196 138);
}
.mh-footer__contact-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 11px;
    color: #43d7a2;
    background-color: rgba(255, 255, 255, 0.08);
    font-size: 15px;
}

.mh-footer__contact-content {
    /* display: flex; */
    /* align-items: flex-start; */
    /* flex-wrap: nowrap; */
}

.mh-footer__contact-label {
    margin-bottom: 1px;
    color: rgb(43 196 138);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.35;
    letter-spacing: 0.06em;
    /* min-width: 120px; */
    display: inline-block;
    margin-right: 5px;
}

.mh-footer__contact-value {
    color: rgba(255, 255, 255, 0.9);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.55;
    display: inline;
}

.mh-footer__contact-value:hover {
    color: #ffffff;
    text-decoration: none;
}

.mh-footer__contact-value--strong {
    color: #ffffff;
    font-size: 16.5px;
    font-weight: 800;
}

/* ==================================================
   BUTTON CONTACT
================================================== */

.mh-footer__contact-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 25px;
}

.mh-footer__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 42px;
    padding: 0 17px;
    border-radius: 9px;

    font-size: 12px;
    font-weight: 800;
    line-height: 1.4;
    text-decoration: none;
    text-transform: uppercase;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        background-color 0.25s ease;
}

.mh-footer__button--call {
    color: #ffffff;
    background-color: #007451;
}

.mh-footer__button--zalo {
    color: #ffffff;
    background-color: #2675ca;
}

.mh-footer__button:hover {
    color: #ffffff;
    text-decoration: none;
    transform: translateY(-3px);
    box-shadow: 0 10px 24px rgba(2, 24, 35, 0.22);
}

/* ==================================================
   VIá»€N MÃ€U CUá»I FOOTER
================================================== */

.mh-footer::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    height: 4px;

    background:
        linear-gradient(
            90deg,
            #007451 0%,
            #007451 33.333%,
            #ee1e2b 33.333%,
            #ee1e2b 66.666%,
            #2878d1 66.666%,
            #2878d1 100%
        );
}
/* Language Switcher Styles */
.header-lang-item {
    background-color: #fff;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.3s ease;
    width: 40px;
    height: 40px;
}

.header-lang-item:hover {
    background-color: #fff;
}

.lang-toggle-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none !important;
}

.current-lang-flag {
    width: 3rem;
    height: 3rem;
    object-fit: cover;
    border-radius: 4px;
}

.lang-chevron {
    font-size: 1.1rem;
    transition: transform 0.3s ease;
}

.header-lang-item.open .lang-chevron {
    transform: rotate(180deg);
}
.header-lang-dropdown-box {
    position: absolute;
    top: 100%;
    right: 0;
    width: 16rem;
    background: rgb(39 104 193);
    border: 2px solid #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.35);
    backdrop-filter: blur(10px);
    z-index: 100;
    opacity: 0;
    visibility: hidden;
    transform: translateY(1rem);
    transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1);
    pointer-events: none;
}

.header-lang-item.open .header-lang-dropdown-box,
.header-lang-item:hover .header-lang-dropdown-box {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}

.header-lang-dropdown-box .language-switch__list {
    display: flex;
    flex-direction: column;
}

.header-lang-dropdown-box .language-switch__item {
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.header-lang-dropdown-box .language-switch__item:last-child {
    border-bottom: none;
}

.header-lang-dropdown-box .language-switch__item:last-child .language-switch__link {
    border-bottom: 0;
}

.header-lang-dropdown-box .language-switch__link {
    display: flex;
    align-items: center;
    gap: 1.2rem;
    padding: 1.2rem 1.6rem;
    color: #FFFFFF !important;
    font-size: 1.4rem;
    transition: all 0.3s ease;
    text-decoration: none !important;
    border-bottom: 1px solid #fff;
}

.header-lang-dropdown-box .language-switch__link:hover,
.header-lang-dropdown-box .language-switch__item.is-active .language-switch__link {
    background-color: rgb(1 103 80);
    color: #ffffff !important;
}

.header-lang-dropdown-box .language-switch__flag {
    width: 2.2rem;
    height: 1.5rem;
    object-fit: cover;
    border-radius: 2px;
}

.header-lang-dropdown-box .language-switch__name {
    font-weight: 500;
}

/* ==================================================
   RESPONSIVE TABLET
================================================== */

@media (max-width: 1199.98px) {
    .mh-footer__grid,
    .mh-footer__grid--3 {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(0, 1fr);
    }
    .mh-footer__grid--3 .mh-footer__column + .mh-footer__column {
        padding-left: 0;
        border-left: none;
    }
    .mh-footer__grid--3 .mh-footer__connect {
        grid-column: 1 / -1;
    }
}

/* ==================================================
   RESPONSIVE MOBILE
================================================== */

@media (max-width: 767.98px) {
    .mh-footer__grid,
    .mh-footer__grid--3 {
        grid-template-columns: 1fr;
        gap: 26px;
        padding: 36px 0 24px;
    }
    .mh-footer__grid--3 .mh-footer__connect {
        grid-column: auto;
    }

    .mh-footer__logo-image {
        max-width: 250px;
        max-height: 68px;
    }
}

@media (max-width: 479.98px) {
    .mh-footer__logo {
        width: 100%;
        justify-content: center;
    }

    .mh-footer__logo-image {
        max-width: 220px;
    }

    .mh-footer__certificate a {
        width: 100%;
        justify-content: center;
    }

    .mh-footer__contact-actions {
        flex-direction: column;
    }

    .mh-footer__button {
        width: 100%;
    }
}
.breadcrumbs-section:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(oklab(0.3 -0.0469846 0.017101 / 0.85), oklab(0.3 -0.0469846 0.017101 / 0.7), oklch(0.3 0.05 160));
}
.breadcrumb {
    text-align: center;
    text-transform: uppercase;
}
.breadcrumb > h1 > a {
    font-size: 2.4rem;
    font-weight: 700;
}
.list-bread {
    display: flex;
    justify-content: center;
    margin-top: 10px;
}
.breadcrumbs-section .list-bread a:last-child::after {
    display: none;
}
/* ==============================
   Bá»˜ Lá»ŒC TÃŒM KIáº¾M (search filter box)
================================= */
.search-filter-box {
    --sf-green: #0f6b45;
    --sf-green-dark: #0b5638;
    --sf-border: #e3e8ee;
    background: #fff;
    border: 1px solid var(--sf-border);
    border-radius: 18px;
    padding: 1.8rem 2rem 2rem;
    box-shadow: 0 10px 30px rgba(15, 107, 69, 0.06);
    margin-top: -8rem;
    margin-bottom: 5rem;
}

.search-filter-head {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    color: var(--sf-green);
    font-weight: 700;
    font-size: 1.35rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    margin-bottom: 1.4rem;
}
.search-filter-head i {
    font-size: 1.4rem;
}

.search-filter-main {
    display: flex;
    gap: 1rem;
    margin-bottom: 1.1rem;
}

.search-filter-input {
    position: relative;
    flex: 1 1 auto;
    display: flex;
    align-items: center;
}
.search-filter-input > i {
    position: absolute;
    left: 1.4rem;
    color: #8a94a3;
    font-size: 1.4rem;
    pointer-events: none;
}
.search-filter-input input {
    width: 100%;
    height: 4.6rem;
    padding: 0 1.6rem 0 3.8rem;
    border: 1px solid var(--sf-border);
    border-radius: 10px;
    background: #fff;
    font-size: 1.5rem;
    color: #1f2a37;
    outline: none;
    transition: border-color .2s, box-shadow .2s;
}
.search-filter-input input:focus {
    border-color: var(--sf-green);
    box-shadow: 0 0 0 3px rgba(15, 107, 69, 0.12);
}
.search-filter-input input::placeholder {
    color: #9aa4b2;
}

.search-filter-btn {
    flex: 0 0 auto;
    min-width: 13rem;
    padding: 0 2.4rem;
    height: 4.6rem;
    border: 0;
    border-radius: 10px;
    background: var(--sf-green);
    color: #fff;
    font-weight: 700;
    font-size: 1.4rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background .2s;
}
.search-filter-btn:hover {
    background: var(--sf-green-dark);
    color: #fff;
}

.search-filter-selects {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
}
.search-filter-selects--3 {
    grid-template-columns: repeat(3, 1fr);
}
.search-filter-select select[disabled] {
    opacity: .55;
    cursor: not-allowed;
}

.search-filter-select {
    position: relative;
}
.search-filter-select::after {
    content: "\f078"; /* fa chevron-down */
    font-family: "Font Awesome 6 Pro", "Font Awesome 5 Pro", "FontAwesome";
    font-weight: 900;
    position: absolute;
    top: 50%;
    right: 1.4rem;
    transform: translateY(-50%);
    color: #8a94a3;
    font-size: 1.2rem;
    pointer-events: none;
}
.search-filter-select select {
    width: 100%;
    height: 4.6rem;
    padding: 0 3.6rem 0 1.4rem;
    border: 1px solid var(--sf-border);
    border-radius: 10px;
    background: #fff;
    font-size: 1.45rem;
    color: #1f2a37;
    cursor: pointer;
    outline: none;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    transition: border-color .2s, box-shadow .2s;
}
.search-filter-select select:focus {
    border-color: var(--sf-green);
    box-shadow: 0 0 0 3px rgba(15, 107, 69, 0.12);
}

@media (max-width: 991px) {
    .search-filter-selects {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 575px) {
    .search-filter-box {
        padding: 1.4rem 1.4rem 1.6rem;
    }
    .search-filter-main {
        flex-direction: column;
    }
    .search-filter-btn {
        width: 100%;
    }
    .search-filter-selects {
        grid-template-columns: 1fr;
    }
}


@media (max-width: 767px) {
    .container {
        max-width: 100%;
    }
}
footer .page-section {
    height: auto;
}
body:not(.home) {
    padding-top: 75px;
}
body:not(.home) header {
    background: #fff;
    box-shadow: 0 8px 26px rgba(15, 49, 40, 0.05);
}
body:not(.home) .page-section {
    height: auto;
}

/* ==========================================
   CATEGORY NAV - Danh má»¥c sáº£n pháº©m (sidebar)
========================================== */

.category-nav {
    margin-bottom: 2.4rem;
    background-color: #fff;
    border: 1px solid #ebeff2;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 6px 20px rgba(15, 107, 69, 0.05);
}

.category-nav__heading {
    padding: 1.5rem 1.8rem;
    background-color: #006746;
    color: #fff;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.3;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.category-nav__list > .category-nav__item + .category-nav__item {
    border-top: 1px solid #eef1f4;
}

.category-nav__item {
    position: relative;
}

/* Má»™t dÃ²ng danh má»¥c */
.category-nav__link {
    display: flex;
    align-items: center;
    min-height: 5.6rem;
    padding: 1rem 4rem 1rem 1.6rem;
    color: var(--color-main);
    font-size: 1.4rem;
    line-height: 1.45;
    transition:
        background-color 0.25s ease,
        color 0.25s ease;
}

.category-nav__link:hover {
    background-color: #f5f9f7;
    color: #006746;
}

.category-nav__link.active {
    background-color: #f1f7f4;
    color: #006746;
    font-weight: 600;
}

/* Icon danh má»¥c (thuá»™c tÃ­nh má»Ÿ rá»™ng Icon) */
.category-nav__icon {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3.4rem;
    height: 3.4rem;
    margin-right: 1.2rem;
    border-radius: 8px;
    background-color: #f1f4f7;
}

.category-nav__icon img {
    width: 2rem;
    height: 2rem;
    object-fit: contain;
}

.category-nav__name {
    flex: 1 1 auto;
}

/* MÅ©i tÃªn cá»§a danh má»¥c khÃ´ng cÃ³ cáº¥p con */
.category-nav__arrow {
    position: absolute;
    top: 50%;
    right: 1.6rem;
    transform: translateY(-50%);
    color: #b7c0c8;
    font-size: 1.5rem;
}

.category-nav__item.has-child > .category-nav__link > .category-nav__arrow {
    display: none;
}

/* NÃºt má»Ÿ danh má»¥c con */
.category-nav__toggle {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4rem;
    height: 5.6rem;
    color: #b7c0c8;
    font-size: 1.5rem;
    cursor: pointer;
}

.category-nav__toggle i {
    transition: transform 0.25s ease;
}

.category-nav__toggle.open i {
    transform: rotate(90deg);
}

/* Danh má»¥c con */
.category-nav__children {
    display: none;
    background-color: #fafbfc;
    border-top: 1px solid #eef1f4;
}

.category-nav__children .category-nav__item + .category-nav__item {
    border-top: 1px solid #eef1f4;
}

.category-nav__children .category-nav__link {
    min-height: 4.6rem;
    padding-left: 3rem;
    font-size: 1.35rem;
}

.category-nav__children .category-nav__icon {
    width: 2.8rem;
    height: 2.8rem;
    margin-right: 1rem;
}

.category-nav__children .category-nav__icon img {
    width: 1.7rem;
    height: 1.7rem;
}

.category-nav__children .category-nav__toggle {
    height: 4.6rem;
}

/* ==========================================
   PRODUCT GRID - LÆ°á»›i danh sÃ¡ch sáº£n pháº©m
========================================== */

/* cÃ¡c cá»™t cao báº±ng nhau Ä‘á»ƒ hÃ ng luÃ´n tháº³ng */
.product-grid > [class*="col-"] {
    display: flex;
}

.product-grid .product-item {
    display: flex;
    flex-direction: column;
    width: 100%;
    background-color: #fff;
    border: 1px solid #ebeff2;
    border-radius: 12px;
    overflow: hidden;
    transition:
        border-color 0.28s ease,
        box-shadow 0.28s ease,
        transform 0.28s ease;
}

.product-grid .product-item:hover {
    border-color: rgba(0, 103, 70, 0.35);
    box-shadow: 0 12px 28px rgba(15, 107, 69, 0.1);
    transform: translateY(-3px);
}

/* Khung áº£nh: giá»¯ nguyÃªn tá»‰ lá»‡ áº£nh gá»‘c, khÃ´ng cáº¯t xÃ©n */
.product-grid .inner-image {
    margin-bottom: 0 !important;
    padding: 1.6rem;
    background-color: #fff;
    border-bottom: 1px solid #f2f5f7;
}

.product-grid .inner-image .ratio-1-1 img {
    object-fit: contain;
    transition: transform 0.35s ease;
}

.product-grid .product-item:hover .inner-image .ratio-1-1 img {
    transform: scale(1.06);
}

/* NhÃ£n khuyáº¿n mÃ£i / ná»•i báº­t / háº¿t hÃ ng */
.product-grid .product-status {
    top: 1.2rem;
    left: 1.2rem;
    z-index: 2;
}

/* Pháº§n ná»™i dung */
.product-grid .inner-content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 1.4rem 1.6rem 1.6rem;
}

.product-grid .product-title {
    margin-bottom: 0.4rem;
}

.product-grid .product-title a {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 4rem;
    font-size: 1.4rem;
    line-height: 1.45;
    color: var(--color-main);
}

.product-grid .product-title a:hover {
    color: #006746;
}

/* GiÃ¡ luÃ´n náº±m sÃ¡t Ä‘Ã¡y Ä‘á»ƒ cÃ¡c card Ä‘á»u nhau */
.product-grid .price {
    margin-top: auto;
    padding-top: 0.8rem;
}

.product-grid .price-amount {
    font-size: 1.6rem;
    font-weight: 700;
}

.product-grid .price-amount.price-contact {
    color: #006746;
    font-size: 1.5rem;
    font-weight: 600;
}

.product-grid .price-amount.old-price {
    font-size: 1.3rem;
    font-weight: 400;
}

/* NÃºt xem chi tiáº¿t */
.product-grid .btn-product-detail {
    display: block;
    margin-top: 1.2rem;
    padding: 0.9rem 1.2rem;
    background-color: #f4f7f6;
    border-radius: 8px;
    color: #006746;
    font-size: 1.3rem;
    font-weight: 600;
    text-align: center;
    transition:
        background-color 0.25s ease,
        color 0.25s ease;
}

.product-grid .product-item:hover .btn-product-detail,
.product-grid .btn-product-detail:hover {
    background-color: #006746;
    color: #fff;
}

/* Tráº¡ng thÃ¡i khÃ´ng cÃ³ sáº£n pháº©m */
.product-grid-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1.2rem;
    padding: 5rem 2rem;
    background-color: #fafbfc;
    border: 1px dashed #dfe5ea;
    border-radius: 12px;
    color: var(--gray-bold);
    font-size: 1.5rem;
}

.product-grid-empty i {
    font-size: 3.6rem;
    color: #c3ccd3;
}

@media (max-width: 767px) {
    .product-grid .inner-image {
        padding: 1.2rem;
    }

    .product-grid .inner-content {
        padding: 1.2rem;
    }

    .product-grid .price-amount {
        font-size: 1.5rem;
    }
}

/* ==========================================================================
   PRODUCT DETAIL â€” AutoZone-style layout (.pd-*)
   ========================================================================== */
.pd-head {
    margin-bottom: 3rem;
}

/* --- Media column --- */
.pd-media-col .product-image-detail {
    position: sticky;
    top: 2rem;
}
.pd-media-col .product-image-detail .inner-image {
    padding-top: 100%;
    background-color: var(--white);
}
.pd-media-col .product-image-detail .inner-image img {
    object-fit: contain;
    padding: 2.5rem;
}
.pd-media-col .product-image-detail-top .swiper {
    border: 0.1rem solid var(--gray);
    border-radius: 0.6rem;
}

/* --- Buy wrapper (info + quote) --- */
.pd-buy-wrap > .row {
    margin-left: -1.5rem;
    margin-right: -1.5rem;
}

/* --- Info column --- */
.pd-info .pd-title {
    font-size: 2.6rem;
    line-height: 1.25;
    font-weight: 700;
    color: var(--color-main);
    margin-bottom: 1.2rem;
}
.pd-rating-row {
    font-size: 1.4rem;
    color: var(--color-text);
}
.pd-rating-count {
    color: var(--color-main);
    font-weight: 600;
}
.pd-rating-link {
    color: var(--color-highlight);
    text-decoration: underline;
}
.pd-rating-link:hover {
    color: var(--color-highlight);
    opacity: .85;
}
.pd-partno {
    font-size: 1.4rem;
    color: var(--color-text);
    padding-bottom: 1.4rem;
    border-bottom: 0.1rem solid var(--gray);
}
.pd-partno label {
    margin-bottom: 0;
    font-weight: 400;
}
.pd-partno span {
    font-weight: 600;
    color: var(--color-main);
    margin-left: 0.4rem;
}

/* --- Section titles --- */
.pd-section-title {
    font-size: 1.7rem;
    font-weight: 700;
    color: var(--color-main);
    margin: 2rem 0 1.2rem;
}

/* --- Specifications table --- */
.pd-specs-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 1.4rem;
}
.pd-specs-table tr {
    border-bottom: 0.1rem solid var(--gray);
}
.pd-specs-table tr:first-child {
    border-top: 0.1rem solid var(--gray);
}
.pd-specs-table th,
.pd-specs-table td {
    padding: 1rem 0.4rem;
    vertical-align: top;
    text-align: left;
}
.pd-specs-table th {
    width: 42%;
    font-weight: 400;
    color: var(--color-text);
}
.pd-specs-table td {
    color: var(--color-main);
    font-weight: 600;
}
.pd-specs-table td.product-category {
    font-weight: 500;
}
.pd-specs-table td.product-category a {
    color: var(--color-highlight);
}
.pd-specs-table--full {
    max-width: 60rem;
}

/* --- Features --- */
.pd-features-body {
    font-size: 1.45rem;
    line-height: 1.7;
    color: var(--color-black);
}
.pd-features-body ul {
    padding-left: 1.8rem;
    margin-bottom: 0;
}
.pd-features-body li {
    margin-bottom: 0.6rem;
}

/* --- Quote / purchase box --- */
.pd-quote-card {
    position: sticky;
    top: 2rem;
    border: 0.1rem solid var(--gray);
    border-radius: 0.8rem;
    padding: 2rem;
    background-color: var(--white);
    box-shadow: 0 0.2rem 1.2rem rgba(0, 0, 0, 0.05);
}
.pd-price {
    margin-bottom: 1.6rem;
}
.pd-price .price-amount {
    font-size: 2.8rem;
    font-weight: 700;
    color: var(--color-highlight);
}
.pd-price .price-amount.old-price {
    font-size: 1.6rem;
    font-weight: 400;
    color: var(--color-text);
}
.pd-price .price-amount.price-contact {
    color: var(--color-main1);
    font-size: 2.2rem;
}

.pd-quote-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 5rem;
    border-radius: 0.6rem;
    background-color: var(--color-main1);
    color: var(--white);
    font-weight: 700;
    font-size: 1.5rem;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    border: 0.1rem solid var(--color-main1);
    transition: all 0.2s ease;
}
.pd-quote-btn:hover {
    background-color: var(--white);
    color: var(--color-main1);
}

.pd-quote-hotline {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 1rem;
    padding: 0.8rem;
    color: var(--color-main);
    border: 0.1rem dashed var(--gray);
    border-radius: 0.6rem;
    line-height: 1.2;
}
.pd-quote-hotline i {
    color: var(--color-main1);
    font-size: 1.8rem;
}
.pd-quote-hotline small {
    display: block;
    font-size: 1.1rem;
    color: var(--color-text);
    text-transform: uppercase;
}
.pd-quote-hotline strong {
    font-size: 1.6rem;
    color: var(--color-main);
}
.pd-quote-hotline:hover strong {
    color: var(--color-main1);
}

.pd-quote-divider {
    height: 0.1rem;
    background-color: var(--gray);
    margin: 1.6rem 0;
}

.pd-buy-row {
    gap: 1rem;
}
.pd-buy-row .product-quantity {
    flex: 0 0 auto;
}
.pd-add-cart.pd-add-cart {
    flex: 1 1 auto;
    margin: 0;
    height: 4.8rem;
    line-height: 4.8rem;
    border-radius: 0.6rem;
}
.pd-secondary-actions {
    gap: 1rem;
    margin-top: 1.2rem;
}
.pd-secondary-actions .btn-product-action {
    flex: 1 1 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto;
    height: 4rem;
    line-height: 1;
    font-size: 1.3rem;
    color: var(--color-text);
    border: 0.1rem solid var(--gray);
    border-radius: 0.6rem;
}
.pd-secondary-actions .btn-product-action:hover,
.pd-secondary-actions .btn-product-action.added-wishlist,
.pd-secondary-actions .btn-product-action.added-compare {
    background-color: var(--color-highlight);
    border-color: var(--color-highlight);
    color: var(--white);
}

.pd-share {
    margin-top: 1.6rem;
    padding-top: 1.6rem;
    border-top: 0.1rem solid var(--gray);
    font-size: 1.3rem;
}
.pd-share .list-social .btn-social {
    margin: 0 0.8rem 0 0;
    float: none;
}

/* --- Accordion (Specifications / Description) --- */
.pd-accordion {
    max-width: 100%;
}
.pd-acc-item {
    border: 0.1rem solid var(--gray);
    border-radius: 0.6rem;
    margin-bottom: 1.2rem;
    overflow: hidden;
}
.pd-acc-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 1.6rem 2rem;
    background-color: var(--white);
    border: none;
    text-align: left;
    font-size: 1.7rem;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--color-main);
    cursor: pointer;
}
.pd-acc-head:focus {
    outline: none;
}
.pd-acc-head:hover {
    color: var(--color-highlight);
}
.pd-acc-icon {
    transition: transform 0.25s ease;
    font-size: 1.8rem;
}
.pd-acc-head[aria-expanded="true"] .pd-acc-icon {
    transform: rotate(180deg);
}
.pd-acc-body {
    padding: 0 2rem 2rem;
    font-size: 1.45rem;
    line-height: 1.7;
    color: var(--color-black);
}
.pd-acc-body img,
.pd-acc-body table,
.pd-acc-body iframe,
.pd-acc-body video {
    max-width: 100%;
    height: auto;
}

/* --- Responsive --- */
@media (max-width: 991px) {
    .pd-info-col,
    .pd-quote-col {
        flex: 0 0 100%;
        max-width: 100%;
    }
    .pd-quote-col {
        margin-top: 2rem;
    }
    .pd-quote-card,
    .pd-media-col .product-image-detail {
        position: static;
    }
}

@media (max-width: 767px) {
    .pd-info .pd-title {
        font-size: 2.1rem;
    }
    .pd-price .price-amount {
        font-size: 2.4rem;
    }
    .pd-acc-head {
        font-size: 1.5rem;
        padding: 1.4rem 1.6rem;
    }
    .pd-acc-body {
        padding: 0 1.6rem 1.6rem;
    }
}
/* ==================================================
   MH MODAL - THÃ”NG BÃO Gá»¬I LIÃŠN Há»†
================================================== */

.mh-modal .modal-dialog {
    max-width: 440px;
    padding: 15px;
}

.mh-modal .mh-modal__content {
    position: relative;
    overflow: hidden;
    border: 0;
    border-radius: 20px;
    background-color: #ffffff;
    box-shadow: 0 30px 70px rgba(4, 29, 39, 0.28);
}

/* Dáº£i mÃ u thÆ°Æ¡ng hiá»‡u trÃªn Ä‘á»‰nh modal */
.mh-modal .mh-modal__content::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 5px;

    background:
        linear-gradient(
            90deg,
            #007451 0%,
            #007451 33.333%,
            #ee1e2b 33.333%,
            #ee1e2b 66.666%,
            #2878d1 66.666%,
            #2878d1 100%
        );
}

.mh-modal__body {
    padding: 42px 34px 34px;
    text-align: center;
}

/* ==================================================
   NÃšT ÄÃ“NG
================================================== */

.mh-modal__close {
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 2;

    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    padding: 0;
    border: 0;
    border-radius: 50%;

    color: #8a97a3;
    background-color: rgba(15, 40, 55, 0.06);

    font-size: 15px;
    line-height: 1;
    cursor: pointer;

    transition:
        color 0.25s ease,
        background-color 0.25s ease;
}

.mh-modal__close:hover {
    color: #0f2837;
    background-color: rgba(15, 40, 55, 0.12);
}

/* ==================================================
   ICON TRáº NG THÃI
================================================== */

.mh-modal__icon {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 88px;
    height: 88px;
    margin-bottom: 22px;
    border-radius: 50%;
}

.mh-modal__icon-ring {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    opacity: 0.55;
    animation: mhModalRing 1.8s ease-out infinite;
}

.mh-modal__icon-symbol {
    position: relative;
    z-index: 1;

    display: flex;
    align-items: center;
    justify-content: center;
    width: 72px;
    height: 72px;
    border-radius: 50%;

    color: #ffffff;
    font-size: 30px;
}

.mh-modal__icon-symbol.is-animating {
    animation: mhModalPop 0.45s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}

.mh-modal--success .mh-modal__icon-ring {
    background-color: rgba(0, 168, 117, 0.22);
}

.mh-modal--success .mh-modal__icon-symbol {
    background: linear-gradient(135deg, #00a875 0%, #007451 100%);
    box-shadow: 0 14px 30px rgba(0, 116, 81, 0.32);
}

.mh-modal--error .mh-modal__icon-ring {
    background-color: rgba(238, 30, 43, 0.2);
}

.mh-modal--error .mh-modal__icon-symbol {
    background: linear-gradient(135deg, #f1454f 0%, #d4121f 100%);
    box-shadow: 0 14px 30px rgba(212, 18, 31, 0.3);
}

@keyframes mhModalPop {
    0% {
        opacity: 0;
        transform: scale(0.4);
    }

    100% {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes mhModalRing {
    0% {
        opacity: 0.55;
        transform: scale(0.85);
    }

    70% {
        opacity: 0;
        transform: scale(1.15);
    }

    100% {
        opacity: 0;
        transform: scale(1.15);
    }
}

/* ==================================================
   Ná»˜I DUNG
================================================== */

.mh-modal__title {
    margin: 0 0 12px;
    color: #0f2837;
    font-size: 22px;
    font-weight: 800;
    line-height: 1.35;
}

.mh-modal__message {
    margin: 0 auto;
    max-width: 330px;
    color: #5b6b78;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.7;
}

.mh-modal__message p:last-child {
    margin-bottom: 0;
}

/* ==================================================
   NÃšT HÃ€NH Äá»˜NG
================================================== */

.mh-modal__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 170px;
    min-height: 46px;
    margin-top: 28px;
    padding: 0 30px;
    border: 0;
    border-radius: 10px;

    color: #ffffff;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    cursor: pointer;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.mh-modal--success .mh-modal__button {
    background: linear-gradient(135deg, #00a875 0%, #007451 100%);
}

.mh-modal--error .mh-modal__button {
    background: linear-gradient(135deg, #f1454f 0%, #d4121f 100%);
}

.mh-modal__button:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 26px rgba(2, 24, 35, 0.22);
}

.mh-modal__button:focus,
.mh-modal__close:focus {
    outline: none;
}

/* ==================================================
   HIá»†U á»¨NG Má»ž MODAL
================================================== */

.mh-modal.fade .modal-dialog {
    transform: translateY(24px) scale(0.96);
    transition: transform 0.35s cubic-bezier(0.34, 1.36, 0.64, 1);
}

.mh-modal.show .modal-dialog {
    transform: translateY(0) scale(1);
}

/* ==================================================
   RESPONSIVE
================================================== */

@media (max-width: 479.98px) {
    .mh-modal__body {
        padding: 36px 22px 28px;
    }

    .mh-modal__icon {
        width: 76px;
        height: 76px;
    }

    .mh-modal__icon-symbol {
        width: 62px;
        height: 62px;
        font-size: 26px;
    }

    .mh-modal__title {
        font-size: 19px;
    }

    .mh-modal__button {
        width: 100%;
    }
}

.header-menu>.row>div[class*="col-"]:last-child {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}


/* ==================================================
   CHI TIáº¾T BÃ€I VIáº¾T
================================================== */
.page-article-detail {
    background: var(--light);
    padding: 5rem 0;
}
.article-detail {
    background: #fff;
    padding: 2rem;
    border-radius: 10px;
}

/* áº¢NH Äáº I DIá»†N */
.article-detail__cover {
    position: relative;
    overflow: hidden;
    margin-bottom: 22px;
    border-radius: 16px;
    background-color: #eef2f1;
}

.article-detail__cover-image {
    display: block;
    width: 100%;
    height: auto;
    max-height: 50rem;
    object-fit: cover;
    border-radius: 8px;
}

.article-detail__category {
    position: absolute;
    bottom: 16px;
    left: 16px;

    padding: 7px 14px;
    border-radius: 8px;

    color: #ffffff;
    background-color: rgba(0, 103, 70, 0.92);

    font-size: 11.5px;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: 0.08em;
    text-decoration: none;
    text-transform: uppercase;

    transition: background-color 0.22s ease;
}

.article-detail__category:hover {
    color: #ffffff;
    background-color: #006746;
    text-decoration: none;
}

/* TIÃŠU Äá»€ */
.article-detail__title {
    margin: 0 0 16px;
    color: #10243e;

    font-size: clamp(24px, 2.4vw, 32px);
    font-weight: 800;
    line-height: 1.28;
    letter-spacing: -0.02em;
}

/* TÃC GIáº¢ - NGÃ€Y - LÆ¯á»¢T XEM - CHIA Sáºº */
.article-detail__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px 20px;
    padding-bottom: 18px;
    margin-bottom: 22px;
    border-bottom: 1px solid #e8edeb;
}

.article-detail__meta-info {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 20px;
}

.article-detail__meta-item {
    display: inline-flex;
    align-items: center;
    gap: 7px;

    color: #6d7a85;
    font-size: 13px;
    line-height: 1.4;
}

.article-detail__meta-item strong {
    color: #22323f;
    font-weight: 700;
}

.article-detail__meta-item i {
    color: #9aa5ad;
    font-size: 13px;
}

.article-detail__share {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.article-detail__share-label {
    color: #6d7a85;
    font-size: 13px;
    font-weight: 600;
}

.article-detail__share-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;

    color: #ffffff;
    font-size: 13px;
    text-decoration: none;

    transition:
        transform 0.22s ease,
        opacity 0.22s ease;
}

.article-detail__share-btn:hover {
    color: #ffffff;
    text-decoration: none;
    transform: translateY(-2px);
    opacity: 0.9;
}

.article-detail__share-btn--facebook {
    background-color: #1877f2;
}

.article-detail__share-btn--zalo {
    background-color: #0068ff;
}

.article-detail__share-btn--link {
    color: #55636d;
    background-color: #eef2f1;
}

.article-detail__share-btn--link:hover {
    color: #006746;
}

/* MÃ” Táº¢ NGáº®N Dáº NG TRÃCH DáºªN */
.article-detail__summary {
    display: flex;
    gap: 14px;
    padding: 18px 22px;
    margin-bottom: 24px;
    border-left: 3px solid #006746;
    border-radius: 0 12px 12px 0;

    background-color: #f4f7f6;
}

.article-detail__summary-icon {
    flex: 0 0 auto;
    margin-top: 2px;
    color: #b3c5bf;
    font-size: 20px;
}

.article-detail__summary-text {
    color: #33424e;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.75;
}

.article-detail__summary-text p:last-child {
    margin-bottom: 0;
}

/* VIDEO - ALBUM */
.article-detail__media,
.article-detail__album {
    margin-bottom: 24px;
    overflow: hidden;
    border-radius: 14px;
}

/* Ná»˜I DUNG */
.article-detail__content {
    color: #33424e;
    font-size: 15.5px;
    line-height: 1.85;
}

.article-detail__content p {
    margin-bottom: 16px;
}

.article-detail__content h2,
.article-detail__content h3,
.article-detail__content h4 {
    margin: 30px 0 14px;
    color: #10243e;
    font-weight: 800;
    line-height: 1.35;
}

.article-detail__content h2 {
    font-size: 21px;
}

.article-detail__content h3 {
    font-size: 18px;
}

.article-detail__content h4 {
    font-size: 16px;
}

.article-detail__content img {
    margin: 8px 0 18px;
    border-radius: 12px;
}

.article-detail__content ul,
.article-detail__content ol {
    margin: 0 0 16px;
    padding-left: 20px;
}

.article-detail__content li {
    margin-bottom: 7px;
}

.article-detail__content a {
    color: #006746;
    text-decoration: underline;
}

.article-detail__content blockquote {
    margin: 20px 0;
    padding: 16px 20px;
    border-left: 3px solid #43b98d;
    border-radius: 0 12px 12px 0;

    color: #33424e;
    background-color: #f4f7f6;
    font-size: 15px;
}

.article-detail__content table {
    width: 100%;
    margin-bottom: 18px;
    border-collapse: collapse;
}

.article-detail__content th,
.article-detail__content td {
    padding: 9px 12px;
    border: 1px solid #e3e9e7;
}

.article-detail__content th {
    background-color: #f4f7f6;
    font-weight: 700;
}

/* FILE ÄÃNH KÃˆM */
.article-detail__files {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 22px 0;
}

.article-detail__file {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    padding: 0 16px;
    border: 1px solid #dde5e2;
    border-radius: 9px;

    color: #22323f;
    background-color: #ffffff;

    font-size: 13.5px;
    font-weight: 600;
    text-decoration: none;

    transition:
        border-color 0.22s ease,
        color 0.22s ease;
}

.article-detail__file:hover {
    border-color: #006746;
    color: #006746;
    text-decoration: none;
}

.article-detail__file i {
    color: #006746;
}

/* THáºº BÃ€I VIáº¾T */
.article-detail__tags {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin: 22px 0;
}

.article-detail__tags-label {
    margin-right: 2px;
    color: #6d7a85;
    font-size: 13px;
    font-weight: 600;
}

.article-detail__tag {
    display: inline-flex;
    align-items: center;
    padding: 5px 12px;
    border-radius: 999px;

    color: #33424e;
    background-color: #eef2f1;

    font-size: 12.5px;
    font-weight: 600;
    text-decoration: none;

    transition:
        color 0.22s ease,
        background-color 0.22s ease;
}

.article-detail__tag:hover {
    color: #ffffff;
    background-color: #006746;
    text-decoration: none;
}

/* BÃ€I VIáº¾T TRÆ¯á»šC / SAU */
.article-detail__nav {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 18px;
    padding-top: 22px;
    margin-top: 30px;
    border-top: 1px solid #e8edeb;
}

.article-detail__nav-item a {
    display: block;
    text-decoration: none;
}

.article-detail__nav-item--next {
    text-align: right;
}

.article-detail__nav-label {
    display: block;
    margin-bottom: 4px;

    color: #8b959d;
    font-size: 12.5px;
    font-weight: 600;
}

.article-detail__nav-name {
    display: block;
    color: #22323f;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.45;

    transition: color 0.22s ease;
}

.article-detail__nav-item a:hover .article-detail__nav-name {
    color: #006746;
}

.article-detail__nav-all {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 12px;

    color: #006746;
    background-color: #eef2f1;

    font-size: 16px;
    text-decoration: none;

    transition:
        color 0.22s ease,
        background-color 0.22s ease;
}

.article-detail__nav-all:hover {
    color: #ffffff;
    background-color: #006746;
    text-decoration: none;
}

@media (max-width: 767.98px) {
    .article-detail__cover {
        border-radius: 12px;
    }

    .article-detail__meta {
        align-items: flex-start;
        flex-direction: column;
    }

    .article-detail__summary {
        padding: 14px 16px;
    }

    .article-detail__nav {
        grid-template-columns: 1fr;
        gap: 14px;
        text-align: center;
    }

    .article-detail__nav-item--next {
        text-align: center;
    }

    .article-detail__nav-all {
        justify-self: center;
        order: 3;
    }
}


/* ==================================================
   BLOCK DANH Má»¤C (BÃ€I VIáº¾T)
================================================== */

.category-card {
    padding: 20px 18px;
    border: 1px solid rgba(15, 49, 40, 0.07);
    border-radius: 16px;
    background-color: #ffffff;

    box-shadow: 0 8px 26px rgba(15, 49, 40, 0.05);
}

.category-card__title {
    margin: 0 0 14px;
    padding: 0 6px;

    color: #10243e;
    font-size: 17px;
    font-weight: 800;
    line-height: 1.35;
}

.category-list {
    display: grid;
    gap: 6px;
    margin: 0;
    padding: 0;
}

.category-list li {
    position: relative;
    list-style: none;
}

.category-list__item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    border-radius: 12px;

    color: #33424e;
    text-decoration: none;

    transition:
        color 0.2s ease,
        background-color 0.2s ease;
}

.category-list__item:hover {
    color: #006746;
    background-color: #f4f7f6;
    text-decoration: none;
}

.category-list__icon {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    width: 34px;
    height: 34px;
    border: 1px solid #e6ebe9;
    border-radius: 9px;

    color: #6d7a85;
    background-color: #ffffff;

    font-size: 14px;

    transition:
        color 0.2s ease,
        border-color 0.2s ease,
        background-color 0.2s ease;
}

.category-list__icon img {
    width: 100%;
    height: 100%;
    padding: 4px;
    object-fit: contain;
}

.category-list__name {
    flex: 1 1 auto;
    min-width: 0;

    font-size: 14px;
    font-weight: 600;
    line-height: 1.45;
}

.category-list__arrow {
    flex: 0 0 auto;
    color: #b3bcc3;
    font-size: 13px;

    transition: color 0.2s ease;
}

.category-list__item:hover .category-list__icon {
    color: #006746;
    border-color: rgba(0, 103, 70, 0.25);
}

.category-list__item:hover .category-list__arrow {
    color: #006746;
}

/* má»¥c Ä‘ang xem */
.category-list__item.is-active,
.category-list__item.active {
    color: #006746;
    background-color: rgba(0, 103, 70, 0.07);
    font-weight: 700;
}

.category-list__item.is-active .category-list__icon,
.category-list__item.active .category-list__icon {
    color: #006746;
    border-color: rgba(0, 103, 70, 0.25);
    background-color: #ffffff;
}

.category-list__item.is-active .category-list__arrow,
.category-list__item.active .category-list__arrow {
    color: #006746;
    font-size: 15px;
}

/* danh má»¥c con */
.category-list--child {
    display: none;
    gap: 4px;
    margin: 4px 0 4px 46px;
}

.category-list--child .category-list__item {
    padding: 8px 10px;
}

.category-list--child .category-list__icon {
    width: 28px;
    height: 28px;
    font-size: 12px;
}

.category-list--child .category-list__name {
    font-size: 13.5px;
}

.category-list__toggle {
    position: absolute;
    top: 8px;
    right: 6px;
    z-index: 1;

    width: 30px;
    height: 36px;
    cursor: pointer;

    transition: transform 0.25s ease;
}

.category-list__toggle.open {
    transform: rotate(-180deg);
}

@media (max-width: 991.98px) {
    .category-card {
        padding: 16px 14px;
    }

    .category-card__title {
        font-size: 16px;
    }
}


/* ==================================================
   BLOCK BÃ€I VIáº¾T Ná»”I Báº¬T (DANH SÃCH NHá»Ž)
================================================== */

.article-small-card {
    padding: 20px 18px;
    border: 1px solid rgba(15, 49, 40, 0.07);
    border-radius: 16px;
    background-color: #ffffff;
    box-shadow: 0 8px 26px rgba(15, 49, 40, 0.05);
}

.article-small-card__title {
    margin: 0 0 6px;
    padding: 0 2px;

    color: #10243e;
    font-size: 17px;
    font-weight: 800;
    line-height: 1.35;
}

.article-small-list {
    display: grid;
}

.article-small-item {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 2px;
    border-bottom: 1px solid #eef2f1;
}

.article-small-item:last-child {
    border-bottom: 0;
    padding-bottom: 2px;
}

.article-small-item__media {
    display: block;
    flex: 0 0 auto;
    overflow: hidden;
    width: 72px;
    height: 72px;
    border-radius: 10px;
    background-color: #f1f4f3;
}

.article-small-item__image {
    width: 100%;
    height: 100%;
    object-fit: cover;

    transition: transform 0.35s ease;
}

.article-small-item:hover .article-small-item__image {
    transform: scale(1.06);
}

.article-small-item__content {
    min-width: 0;
}

.article-small-item__date {
    display: block;
    margin-bottom: 5px;

    color: #9aa5ad;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.3;
}

.article-small-item__title {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
}

.article-small-item__title a {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;

    color: #22323f;
    text-decoration: none;

    transition: color 0.2s ease;
}

.article-small-item__title a:hover {
    color: #006746;
    text-decoration: none;
}

.article-small-list__empty {
    padding: 10px 2px;
    color: #8b959d;
    font-size: 13.5px;
}

@media (max-width: 991.98px) {
    .article-small-card {
        padding: 16px 14px;
        margin-bottom: 2rem;
    }

    .article-small-card__title {
        font-size: 16px;
    }

    .article-small-item__media {
        width: 64px;
        height: 64px;
    }
}


/* ==================================================
   BLOCK DANH SÃCH BÃ€I VIáº¾T
================================================== */

.article-list {
    row-gap: 26px;
}

.article-list__empty {
    padding: 20px 0;
    color: #8b959d;
    font-size: 14px;
}

.article-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    border: 1px solid rgba(15, 49, 40, 0.07);
    border-radius: 14px;
    background-color: #ffffff;

    box-shadow: 0 6px 20px rgba(15, 49, 40, 0.05);

    transition:
        transform 0.28s ease,
        box-shadow 0.28s ease;
}

.article-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 32px rgba(15, 49, 40, 0.1);
}

/* áº¢NH + NHÃƒN DANH Má»¤C */
.article-card__media {
    position: relative;
    overflow: hidden;
    background-color: #eef2f1;
}

/* chá»‰ Ã¡p cho link bá»c áº£nh, KHÃ”NG Ã¡p cho nhÃ£n danh má»¥c cÅ©ng náº±m trong .article-card__media */
.article-card__cover {
    display: block;
    position: relative;
    padding-top: 62%;      /* khung áº£nh ngang, giá»‘ng máº«u */
}

.article-card__image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;

    transition: transform 0.4s ease;
}

.article-card:hover .article-card__image {
    transform: scale(1.05);
}

.article-card__category {
    position: absolute;
    top: 12px;
    left: 12px;

    padding: 5px 12px;
    border-radius: 7px;

    color: #ffffff;
    background-color: rgba(0, 103, 70, 0.94);

    font-size: 11.5px;
    font-weight: 700;
    line-height: 1.3;
    text-decoration: none;

    transition: background-color 0.22s ease;
}

.article-card__category:hover {
    color: #ffffff;
    background-color: #006746;
    text-decoration: none;
}

/* Ná»˜I DUNG */
.article-card__body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 16px 18px 14px;
}

.article-card__meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px 14px;
    margin-bottom: 10px;

    color: #9aa5ad;
    font-size: 12.5px;
    line-height: 1.4;
}

.article-card__meta-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

/* dáº¥u cháº¥m ngÄƒn giá»¯a ngÃ y Ä‘Äƒng vÃ  lÆ°á»£t xem */
.article-card__meta-item + .article-card__meta-item::before {
    content: "";
    width: 4px;
    height: 4px;
    margin-right: 8px;
    border-radius: 50%;
    background-color: #cbd3d8;
}

.article-card__title {
    margin: 0 0 8px;
    font-size: 15.5px;
    font-weight: 700;
    line-height: 1.45;
}

.article-card__title a {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;

    color: #10243e;
    text-decoration: none;

    transition: color 0.2s ease;
}

.article-card__title a:hover {
    color: #006746;
    text-decoration: none;
}

.article-card__description {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    margin-bottom: 12px;

    color: #6d7a85;
    font-size: 13.5px;
    line-height: 1.65;
}

.article-card__more {
    display: inline-flex;
    align-items: center;
    align-self: flex-end;
    gap: 7px;
    margin-top: auto;

    color: #33424e;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;

    transition: color 0.2s ease;
}

.article-card__more i {
    font-size: 11px;
    transition: transform 0.22s ease;
}

.article-card__more:hover {
    color: #006746;
    text-decoration: none;
}

.article-card__more:hover i {
    transform: translateX(3px);
}

/* ==================================================
   PHÃ‚N TRANG
================================================== */

.pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;

    padding-top: 26px;
    margin: 26px 0 10px;
    border-top: 1px solid #eef2f1;
}

.pagination .page-item {
    display: inline-flex;
    border-left: 0;
}

.pagination .page-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 38px;
    height: 38px;
    padding: 0 10px;
    border: 1px solid #e6ebe9;
    border-radius: 9px;

    color: #33424e;
    background-color: #ffffff;

    font-size: 13.5px;
    font-weight: 700;
    text-decoration: none;

    transition:
        color 0.2s ease,
        border-color 0.2s ease,
        background-color 0.2s ease;
}

.pagination .page-item:hover .page-link {
    color: #006746;
    border-color: rgba(0, 103, 70, 0.35);
    background-color: #f4f7f6;
}

.pagination .page-item.active .page-link {
    color: #ffffff;
    border-color: #006746;
    background-color: #006746;
}

.pagination .page-item.disabled .page-link {
    color: #b3bcc3;
    border-color: transparent;
    background-color: transparent;
    cursor: default;
}

.pagination .page-item.disabled:hover .page-link {
    color: #b3bcc3;
    background-color: transparent;
}

@media (max-width: 575.98px) {
    .article-card__body {
        padding: 14px 14px 12px;
    }

    .pagination .page-link {
        min-width: 34px;
        height: 34px;
        font-size: 13px;
    }
}

@media (max-width: 767px) {
    .product-category-section>.container,
    .knowledge-section > .container {
        max-width: 100%;
    }
    .category-nav {
        margin-top: 3rem;
    }
    .list-bread {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        margin-top: 10px;
    }
    .breadcrumbs-section a:hover {
        color: #fff;
    }
}
/* ==========================================
   Sáº¢N PHáº¨M MUA CÃ™NG (product detail)
   Bá»‘ cá»¥c tham kháº£o khá»‘i "Complete the job"
========================================== */

.pd-together {
    margin: 3rem 0 4rem;
    padding: 2.6rem 2.8rem 3rem;
    background-color: #f5f6f7;
    border-radius: 12px;
}

.pd-together__title {
    position: relative;
    margin-bottom: 2.8rem;
    padding-bottom: 1.2rem;
    color: var(--color-main);
    font-size: 2.2rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.pd-together__title::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 7rem;
    height: 3px;
    background-color: #006746;
}

/* --- Dáº£i áº£nh + dáº¥u cá»™ng --- */
.pd-together__strip {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 2.4rem;
    margin-bottom: 1.6rem;
}

.pd-together__thumbs {
    display: flex;
    align-items: center;
    flex: 1 1 auto;
    flex-wrap: wrap;
    gap: 0.8rem;
}

.pd-together__thumb {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 7rem;
    height: 7rem;
    padding: 0.5rem;
    background-color: #fff;
    border: 1px solid #e6eaed;
    border-radius: 8px;
    transition: border-color 0.25s ease;
}

a.pd-together__thumb:hover {
    border-color: #006746;
}

.pd-together__thumb img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.pd-together__plus {
    color: #9aa4ad;
    font-size: 1.8rem;
    line-height: 1;
}

/* --- Khá»‘i nÃºt --- */
.pd-together__action {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    gap: 1.6rem;
}

.pd-together__count {
    color: var(--color-text);
    font-size: 1.4rem;
    white-space: nowrap;
}

.pd-together__btn {
    display: inline-block;
    padding: 1.3rem 2.6rem;
    background-color: #111c2d;
    border-radius: 8px;
    color: #fff;
    font-size: 1.4rem;
    font-weight: 600;
    text-transform: uppercase;
    white-space: nowrap;
    transition: background-color 0.25s ease;
}

.pd-together__btn:hover {
    background-color: #006746;
    color: #fff;
}

.pd-together__btn.disable {
    opacity: 0.5;
    pointer-events: none;
}

.pd-together__note {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    margin-bottom: 2rem;
    color: var(--color-text);
    font-size: 1.3rem;
}

/* --- Danh sÃ¡ch chá»n, 2 cá»™t --- */
.pd-together__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.2rem 3.2rem;
}

.pd-together__item {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    margin: 0;
    font-size: 1.4rem;
    font-weight: 400;
    cursor: pointer;
}

.pd-together__item input[type="checkbox"] {
    flex: 0 0 auto;
    width: 1.8rem;
    height: 1.8rem;
    margin-top: 0.2rem;
    accent-color: #006746;
    cursor: pointer;
}

.pd-together__name {
    flex: 1 1 auto;
    color: var(--color-main);
    line-height: 1.45;
}

.pd-together__name a {
    color: var(--color-highlight);
}

.pd-together__name a:hover {
    color: #006746;
    text-decoration: underline;
}

.pd-together__price {
    flex: 0 0 auto;
    color: #006746;
    font-weight: 600;
    white-space: nowrap;
}

@media (max-width: 991px) {
    .pd-together__list {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    .pd-together {
        padding: 2rem 1.6rem 2.4rem;
    }
    .pd-together__title {
        font-size: 1.8rem;
    }
    .pd-together__strip {
        gap: 1.6rem;
    }
    .pd-together__action {
        width: 100%;
        justify-content: space-between;
    }
    .pd-together__thumb {
        width: 5.6rem;
        height: 5.6rem;
    }
}

/* ==========================================
   TRANG CHI TIáº¾T Sáº¢N PHáº¨M - khá»‘i mua hÃ ng
========================================== */

.pd-quote-card {
    padding: 2rem;
    background-color: #fff;
    border: 1px solid #e6eaed;
    border-radius: 12px;
}

.pd-price-label {
    margin-bottom: 0.4rem;
    color: var(--color-text);
    font-size: 1.3rem;
}

.pd-price-block {
    padding-bottom: 1.6rem;
    margin-bottom: 1.6rem;
    border-bottom: 1px solid #eef1f4;
}

.pd-price .price-amount {
    font-size: 2.8rem;
    font-weight: 700;
    color: var(--color-highlight);
}

.pd-price .price-amount.price-contact {
    color: #006746;
    font-size: 2.4rem;
}

.pd-price .price-amount.old-price {
    font-size: 1.5rem;
    font-weight: 400;
}

.pd-qty-row {
    display: flex;
    align-items: center;
    gap: 1.6rem;
    margin-bottom: 1.6rem;
}

.pd-qty-label {
    margin: 0;
    color: var(--color-text);
    font-size: 1.3rem;
}

.pd-buy-actions {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.pd-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.3rem 1.6rem;
    border-radius: 8px;
    font-size: 1.4rem;
    font-weight: 600;
    text-transform: uppercase;
    transition: all 0.25s ease;
}

.pd-btn--primary {
    background-color: var(--color-highlight);
    border: 1px solid var(--color-highlight);
    color: #fff;
}

.pd-btn--primary:hover {
    background-color: #1d55a3;
    border-color: #1d55a3;
    color: #fff;
}

.pd-btn--outline {
    background-color: #fff;
    border: 1px solid var(--color-highlight);
    color: var(--color-highlight);
}

.pd-btn--outline:hover {
    background-color: var(--color-highlight);
    color: #fff;
}

/* --- Tháº» tÆ° váº¥n / bÃ¡o giÃ¡ --- */
.pd-consult {
    margin-top: 1.6rem;
    padding: 2rem;
    background: linear-gradient(150deg, #00734f, #005a3c);
    border-radius: 12px;
    color: #fff;
}

.pd-consult__title {
    font-size: 1.6rem;
    font-weight: 700;
}

.pd-consult__desc {
    margin-bottom: 1.6rem;
    font-size: 1.3rem;
    opacity: 0.85;
}

.pd-consult__btn {
    display: flex;
    align-items: center;
    gap: 1.2rem;
    margin-bottom: 1rem;
    padding: 1.1rem 1.4rem;
    background-color: #fff;
    border-radius: 8px;
    color: #006746;
    font-size: 1.5rem;
    font-weight: 700;
    transition: transform 0.2s ease;
}

.pd-consult__btn:last-child {
    margin-bottom: 0;
}

.pd-consult__btn:hover {
    color: #006746;
    transform: translateY(-2px);
}

.pd-consult__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3.2rem;
    height: 3.2rem;
    background-color: rgba(0, 103, 70, 0.1);
    border-radius: 50%;
    font-size: 1.4rem;
}

/* --- Badge cam káº¿t trong cá»™t thÃ´ng tin --- */
.pd-badges {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: 2.4rem;
}

.pd-badge {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.1rem 1.2rem;
    background-color: #f6f9f7;
    border: 1px solid #e8eeeb;
    border-radius: 8px;
}

.pd-badge i {
    color: #006746;
    font-size: 1.8rem;
}

.pd-badge span {
    display: flex;
    flex-direction: column;
    line-height: 1.3;
}

.pd-badge strong {
    color: var(--color-main);
    font-size: 1.3rem;
}

.pd-badge small {
    color: var(--color-text);
    font-size: 1.15rem;
}

/* --- HÃ ng cÃ´ng cá»¥: yÃªu thÃ­ch / so sÃ¡nh / chia sáº» --- */
.pd-tools {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 2rem;
    margin-top: 2rem;
    padding-top: 1.6rem;
    border-top: 1px solid #eef1f4;
}

.pd-tool {
    display: inline-flex;
    align-items: center;
    gap: 0.7rem;
    color: var(--color-text);
    font-size: 1.35rem;
}

.pd-tool:hover {
    color: #006746;
}

.pd-share {
    display: inline-flex;
    align-items: center;
    gap: 0.8rem;
    margin-left: auto;
}

.pd-share__label {
    color: var(--color-text);
    font-size: 1.35rem;
}

.pd-share__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.8rem;
    height: 2.8rem;
    border-radius: 50%;
    color: #fff;
    font-size: 1.2rem;
    transition: opacity 0.2s ease;
}

.pd-share__btn:hover {
    color: #fff;
    opacity: 0.85;
}

.pd-share__btn--fb { background-color: #1877f2; }
.pd-share__btn--tw { background-color: #1da1f2; }
.pd-share__btn--pi { background-color: #e60023; }
.pd-share__btn--li { background-color: #0a66c2; }

/* --- Dáº£i cam káº¿t dá»‹ch vá»¥ --- */
.pd-trustbar {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    margin: 2.4rem 0;
    padding: 1.8rem 2rem;
    background-color: #fff;
    border: 1px solid #e6eaed;
    border-radius: 12px;
}

.pd-trustbar__item {
    display: flex;
    align-items: center;
    gap: 1.2rem;
    padding-right: 1.5rem;
    border-right: 1px solid #eef1f4;
}

.pd-trustbar__item:last-child {
    border-right: 0;
}

.pd-trustbar__item i {
    color: #006746;
    font-size: 2.2rem;
}

.pd-trustbar__item span {
    display: flex;
    flex-direction: column;
    line-height: 1.35;
}

.pd-trustbar__item strong {
    color: var(--color-main);
    font-size: 1.35rem;
}

.pd-trustbar__item small {
    color: var(--color-text);
    font-size: 1.2rem;
}

@media (max-width: 991px) {
    .pd-trustbar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pd-trustbar__item:nth-child(2n) { border-right: 0; }
}

@media (max-width: 767px) {
    .pd-badges { grid-template-columns: 1fr; }
    .pd-trustbar { grid-template-columns: 1fr; }
    .pd-trustbar__item { border-right: 0; }
    .pd-share { margin-left: 0; width: 100%; margin-top: 1rem; }
}

/* Ghi Ä‘Ã¨ .add-to-cart cá»§a theme Ä‘á»ƒ nÃºt "Mua ngay" giá»¯ kiá»ƒu viá»n rá»—ng */
.product-content-detail .pd-btn.add-to-cart {
    display: flex;
    height: auto;
    line-height: 1.4;
    text-align: center;
}

.product-content-detail .pd-btn--primary.add-to-cart {
    background-color: var(--color-highlight);
    color: #fff;
}

.product-content-detail .pd-btn--outline.add-to-cart {
    background-color: #fff;
    border: 1px solid var(--color-highlight);
    color: var(--color-highlight);
}

.product-content-detail .pd-btn--outline.add-to-cart:hover {
    background-color: var(--color-highlight);
    color: #fff;
}

/* Badge: trÃ¡nh vá»¡ chá»¯ khi cá»™t háº¹p */
.pd-badge {
    padding: 1rem;
}

.pd-badge i {
    flex: 0 0 auto;
    font-size: 1.6rem;
}

.pd-badge strong {
    font-size: 1.2rem;
    white-space: nowrap;
}

.pd-badge small {
    font-size: 1.1rem;
    white-space: nowrap;
}

@media (max-width: 1199px) {
    .pd-badge strong,
    .pd-badge small {
        white-space: normal;
    }
}

/* Badge: cho phÃ©p xuá»‘ng dÃ²ng, trÃ¡nh bá»‹ cáº¯t chá»¯ á»Ÿ mÃ n hÃ¬nh háº¹p */
.pd-badge {
    align-items: flex-start;
    min-width: 0;
}

.pd-badge span {
    min-width: 0;
}

.pd-badge strong,
.pd-badge small {
    white-space: normal;
    overflow-wrap: anywhere;
}

/* ==========================================
   PD GALLERY - thumbs dá»c bÃªn trÃ¡i
========================================== */

.pd-gallery {
    display: flex;
    align-items: flex-start;
    gap: 1.4rem;
}

/* --- Cá»™t thumbs --- */
.pd-gallery__side {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 0 0 8.6rem;
    width: 8.6rem;
    gap: 0.6rem;
}

.pd-gallery__thumbs {
    width: 100%;
    max-height: 38rem;
}

.pd-gallery__thumbs .swiper-slide {
    height: auto;
}

.pd-gallery__thumb {
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1 / 1;
    padding: 0.6rem;
    background-color: #fff;
    border: 1px solid #e6eaed;
    border-radius: 8px;
    cursor: pointer;
    transition: border-color 0.25s ease;
}

.pd-gallery__thumb img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.pd-gallery__thumbs .swiper-slide-thumb-active .pd-gallery__thumb {
    border-color: var(--color-highlight);
    border-width: 2px;
}

.pd-gallery__nav {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3.2rem;
    height: 3.2rem;
    background-color: #fff;
    border: 1px solid #e6eaed;
    border-radius: 50%;
    color: var(--color-main);
    font-size: 1.4rem;
    cursor: pointer;
    transition: all 0.2s ease;
}

.pd-gallery__nav:hover {
    border-color: var(--color-highlight);
    color: var(--color-highlight);
}

.pd-gallery__nav.swiper-button-disabled {
    opacity: 0.35;
    pointer-events: none;
}

/* --- áº¢nh chÃ­nh --- */
.pd-gallery__main {
    flex: 1 1 auto;
    min-width: 0;
}

.pd-gallery__stage {
    padding: 1.5rem;
    background-color: #fff;
    border: 1px solid #e6eaed;
    border-radius: 12px;
}

.pd-gallery__stage .swiper-slide img {
    width: 100%;
    height: auto;
    object-fit: contain;
}

.pd-gallery__hint {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.7rem;
    margin-top: 1rem;
    color: var(--gray-bold);
    font-size: 1.25rem;
}

@media (max-width: 991px) {
    /* mobile: thumbs náº±m ngang bÃªn dÆ°á»›i áº£nh chÃ­nh */
    .pd-gallery {
        flex-direction: column-reverse;
        gap: 1rem;
    }
    .pd-gallery__side {
        flex-direction: row;
        width: 100%;
        flex-basis: auto;
    }
    .pd-gallery__thumbs {
        max-height: none;
    }
    .pd-gallery__nav {
        flex: 0 0 3.2rem;
    }
    .pd-gallery__nav--up i {
        transform: rotate(-90deg);
    }
    .pd-gallery__nav--down i {
        transform: rotate(-90deg);
    }
}

/* Swiper hÆ°á»›ng dá»c cáº§n chiá»u cao tháº­t cá»§a container má»›i chia Ä‘Æ°á»£c slide */
.pd-gallery__thumbs {
    height: 37.4rem;      /* 4 Ã´ vuÃ´ng 8.6rem + 3 khoáº£ng cÃ¡ch 1rem */
    max-height: none;
}

.pd-gallery__thumbs .swiper-slide {
    height: auto;
}

.pd-gallery__thumb {
    aspect-ratio: auto;
    height: 100%;
}

@media (max-width: 991px) {
    .pd-gallery__thumbs {
        height: auto;
    }
    .pd-gallery__thumb {
        aspect-ratio: 1 / 1;
        height: auto;
    }
}

/* Mobile: giá»¯ nguyÃªn bá»‘ cá»¥c thumbs dá»c bÃªn trÃ¡i, chá»‰ thu nhá» láº¡i.
   (KhÃ´ng Ä‘áº£o trá»¥c vÃ¬ Swiper Ä‘á»•i direction theo breakpoint sáº½ lá»—i) */
@media (max-width: 991px) {
    .pd-gallery {
        flex-direction: row;
        gap: 1rem;
    }
    .pd-gallery__side {
        flex: 0 0 6.4rem;
        width: 6.4rem;
        flex-direction: column;
    }
    .pd-gallery__thumbs {
        height: 27.8rem;   /* 4 Ã´ 6.4rem + 3 khoáº£ng cÃ¡ch 1rem */
    }
    .pd-gallery__thumb {
        aspect-ratio: auto;
        height: 100%;
    }
    .pd-gallery__nav {
        width: 2.6rem;
        height: 2.6rem;
        font-size: 1.2rem;
    }
    .pd-gallery__nav--up i,
    .pd-gallery__nav--down i {
        transform: none;
    }
    .pd-gallery__stage {
        padding: 1rem;
    }
}

/* ==========================================
   PD HEAD - bá»‘ cá»¥c theo cá»¡ mÃ n hÃ¬nh
========================================== */

.pd-head-row > [class*="col-"] {
    margin-bottom: 2rem;
}

/* lg: mua hÃ ng náº±m cáº¡nh áº£nh, thÃ´ng tin xuá»‘ng hÃ ng dÆ°á»›i full width */
@media (min-width: 992px) and (max-width: 1199px) {
    /* thÃ´ng tin tráº£i rá»™ng nÃªn báº£ng thÃ´ng sá»‘ vÃ  badge cÃ³ Ä‘á»§ chá»— */
    .pd-info-col .pd-badges {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        max-width: 60rem;
    }
    .pd-info-col .pd-specs-table {
        max-width: 100%;
    }
    /* khá»‘i mua hÃ ng dÃ n ngang cho Ä‘á»¡ trá»‘ng */
    .pd-quote-col .pd-quote-card,
    .pd-quote-col .pd-consult {
        max-width: 100%;
    }
}

/* DÆ°á»›i 992px: khá»‘i mua hÃ ng náº±m ngay dÆ°á»›i áº£nh */
@media (max-width: 991px) {
    .pd-quote-col {
        margin-top: 0;
    }
    .pd-quote-card {
        padding: 1.6rem;
    }
    /* giÃ¡ vÃ  nÃºt dÃ n ngang táº­n dá»¥ng chiá»u rá»™ng */
    .pd-price-block {
        display: flex;
        align-items: baseline;
        gap: 1.2rem;
        padding-bottom: 1.2rem;
        margin-bottom: 1.2rem;
    }
    .pd-price-label {
        margin-bottom: 0;
    }
    .pd-buy-actions {
        flex-direction: row;
    }
    .pd-buy-actions .pd-btn {
        flex: 1 1 0;
    }
    .pd-consult {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 1rem 1.2rem;
        align-items: center;
    }
    .pd-consult__title,
    .pd-consult__desc {
        grid-column: 1 / -1;
    }
    .pd-consult__desc {
        margin-bottom: 0.4rem;
    }
    .pd-consult__btn {
        margin-bottom: 0;
    }
}

@media (max-width: 575px) {
    .pd-buy-actions {
        flex-direction: column;
    }
    .pd-consult {
        grid-template-columns: 1fr;
    }
    .pd-price-block {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.2rem;
    }
}

/* ==========================================
   Khá»‘i mua hÃ ng khi tráº£i háº¿t chiá»u rá»™ng
   (náº±m dÆ°á»›i pháº§n TÃ­nh nÄƒng ná»•i báº­t)
========================================== */

.pd-quote-col--full {
    margin-top: 0.5rem;
}

@media (min-width: 992px) {
    /* tháº» giÃ¡ vÃ  tháº» tÆ° váº¥n náº±m cáº¡nh nhau cho cÃ¢n Ä‘á»‘i */
    .pd-quote-col--full .pd-quote {
        display: grid;
        grid-template-columns: 1.6fr 1fr;
        gap: 2rem;
        align-items: stretch;
    }

    .pd-quote-col--full .pd-quote-card {
        display: grid;
        grid-template-columns: auto auto 1fr;
        gap: 1.6rem 2.4rem;
        align-items: center;
        margin: 0;
    }

    /* giÃ¡ | sá»‘ lÆ°á»£ng | 2 nÃºt */
    .pd-quote-col--full .pd-price-block {
        padding-bottom: 0;
        margin-bottom: 0;
        border-bottom: 0;
        border-right: 1px solid #eef1f4;
        padding-right: 2.4rem;
    }

    .pd-quote-col--full .pd-qty-row {
        margin-bottom: 0;
    }

    .pd-quote-col--full .pd-buy-actions {
        flex-direction: row;
        gap: 1.2rem;
    }

    .pd-quote-col--full .pd-buy-actions .pd-btn {
        flex: 1 1 0;
        min-width: 16rem;
    }

    .pd-quote-col--full .out-of-stock {
        grid-column: 1 / -1;
    }

    .pd-quote-col--full .pd-consult {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0.8rem 1.2rem;
        align-content: center;
        margin-top: 0;
    }

    .pd-quote-col--full .pd-consult__title,
    .pd-quote-col--full .pd-consult__desc {
        grid-column: 1 / -1;
    }

    .pd-quote-col--full .pd-consult__btn {
        margin-bottom: 0;
    }
}

@media (min-width: 992px) and (max-width: 1199px) {
    .pd-quote-col--full .pd-quote {
        grid-template-columns: 1fr;
    }
    .pd-quote-col--full .pd-consult {
        margin-top: 1.6rem;
    }
}

/* KhÃ´ng Ä‘á»ƒ chá»¯ trong nÃºt bá»‹ ngáº¯t dÃ²ng khi khá»‘i mua hÃ ng tráº£i ngang */
@media (min-width: 992px) {
    .pd-quote-col--full .pd-buy-actions .pd-btn {
        min-width: auto;
        white-space: nowrap;
        padding-left: 2rem;
        padding-right: 2rem;
    }

    .pd-quote-col--full .pd-qty-row {
        gap: 1rem;
    }

    .pd-quote-col--full .pd-qty-label {
        white-space: nowrap;
    }

    .pd-quote-col--full .pd-consult__btn {
        white-space: nowrap;
        padding: 1rem 1.2rem;
        font-size: 1.4rem;
    }

    .pd-quote-col--full .pd-consult__icon {
        width: 2.8rem;
        height: 2.8rem;
        flex: 0 0 2.8rem;
        font-size: 1.2rem;
    }

    .pd-quote-col--full .pd-quote {
        grid-template-columns: 1.35fr 1fr;
    }
}

/* ==========================================
   Gallery: thumbs náº±m ngang bÃªn dÆ°á»›i áº£nh chÃ­nh
   (ghi Ä‘Ã¨ bá»‘ cá»¥c thumbs dá»c trÆ°á»›c Ä‘Ã³)
========================================== */

.pd-gallery {
    display: block;
}

.pd-gallery__main {
    width: 100%;
}

.pd-gallery__thumbs {
    width: 100%;
    height: auto;
    max-height: none;
    margin-top: 1.2rem;
}

.pd-gallery__thumbs .swiper-slide {
    height: auto;
}

.pd-gallery__thumb {
    aspect-ratio: 1 / 1;
    height: auto;
}

@media (max-width: 991px) {
    .pd-gallery {
        display: block;
    }
    .pd-gallery__thumbs {
        height: auto;
    }
    .pd-gallery__thumb {
        aspect-ratio: 1 / 1;
        height: auto;
    }
}

/* ==========================================
   Khá»‘i mua hÃ ng náº±m trong cá»™t thÃ´ng tin
   (cuá»‘i cá»™t, ngay sau pháº§n TÃ­nh nÄƒng ná»•i báº­t)
========================================== */

.pd-quote-inline {
    margin-top: 2rem;
    padding-top: 2rem;
    border-top: 1px solid #eef1f4;
}

/* Tháº» giÃ¡: giÃ¡ | sá»‘ lÆ°á»£ng | 2 nÃºt - dÃ n ngang, tá»± xuá»‘ng dÃ²ng khi háº¹p */
.pd-quote-inline .pd-quote-card {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 1.6rem 2rem;
    padding: 1.6rem 2rem;
}

.pd-quote-inline .pd-price-block {
    flex: 0 0 auto;
    padding: 0 2rem 0 0;
    margin: 0;
    border-bottom: 0;
    border-right: 1px solid #eef1f4;
}

.pd-quote-inline .pd-price .price-amount {
    font-size: 2.4rem;
}

.pd-quote-inline .pd-price .price-amount.price-contact {
    font-size: 2.1rem;
}

.pd-quote-inline .pd-qty-row {
    flex: 0 0 auto;
    margin: 0;
    gap: 1rem;
}

.pd-quote-inline .pd-qty-label {
    white-space: nowrap;
}

.pd-quote-inline .pd-buy-actions {
    flex: 1 1 26rem;
    flex-direction: row;
    gap: 1rem;
}

.pd-quote-inline .pd-buy-actions .pd-btn {
    flex: 1 1 0;
    min-width: 0;
    white-space: nowrap;
    padding: 1.2rem 1.4rem;
    font-size: 1.3rem;
}

.pd-quote-inline .out-of-stock {
    flex: 1 1 100%;
    margin-top: 0 !important;
}

/* Tháº» tÆ° váº¥n: tiÃªu Ä‘á» trÃªn, 2 nÃºt dÃ n ngang */
.pd-quote-inline .pd-consult {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.8rem 1.2rem;
    margin-top: 1.4rem;
    padding: 1.6rem 2rem;
}

.pd-quote-inline .pd-consult__title,
.pd-quote-inline .pd-consult__desc {
    grid-column: 1 / -1;
}

.pd-quote-inline .pd-consult__desc {
    margin-bottom: 0.4rem;
}

.pd-quote-inline .pd-consult__btn {
    margin-bottom: 0;
    padding: 1rem 1.2rem;
    font-size: 1.4rem;
    white-space: nowrap;
}

.pd-quote-inline .pd-consult__icon {
    flex: 0 0 2.8rem;
    width: 2.8rem;
    height: 2.8rem;
    font-size: 1.2rem;
}

/* MÃ n háº¹p: xáº¿p dá»c cho dá»… báº¥m */
@media (max-width: 575px) {
    .pd-quote-inline .pd-quote-card {
        display: block;
        padding: 1.6rem;
    }
    .pd-quote-inline .pd-price-block {
        padding: 0 0 1.2rem;
        margin-bottom: 1.2rem;
        border-right: 0;
        border-bottom: 1px solid #eef1f4;
    }
    .pd-quote-inline .pd-qty-row {
        margin-bottom: 1.2rem;
    }
    .pd-quote-inline .pd-buy-actions {
        flex-direction: column;
    }
    .pd-quote-inline .pd-consult {
        grid-template-columns: 1fr;
    }
}

/* ==========================================
   pd-quote-card: bá»‘ cá»¥c láº¡i cho cÃ¢n Ä‘á»‘i
   HÃ ng 1: GiÃ¡ bÃ¡n (trÃ¡i) --- Sá»‘ lÆ°á»£ng (pháº£i)
   HÃ ng 2: 2 nÃºt chia Ä‘Ã´i Ä‘á»u nhau
========================================== */

.pd-quote-inline .pd-quote-card {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1.6rem;
    padding: 2rem;
}

/* GiÃ¡: bÃ¡m trÃ¡i, bá» Ä‘Æ°á»ng káº» dá»c vÃ¬ hai bÃªn Ä‘Ã£ cÃ¡ch xa nhau */
.pd-quote-inline .pd-price-block {
    flex: 0 0 auto;
    padding: 0;
    margin: 0;
    border: 0;
}

.pd-quote-inline .pd-price-label {
    margin-bottom: 0.2rem;
}

/* Sá»‘ lÆ°á»£ng: Ä‘áº©y sang pháº£i */
.pd-quote-inline .pd-qty-row {
    flex: 0 0 auto;
    margin: 0 0 0 auto;
    gap: 1rem;
}

/* Hai nÃºt: xuá»‘ng hÃ ng riÃªng, chia Ä‘Ã´i Ä‘á»u */
.pd-quote-inline .pd-buy-actions {
    flex: 1 1 100%;
    flex-direction: row;
    gap: 1.2rem;
    padding-top: 1.6rem;
    border-top: 1px solid #eef1f4;
}

.pd-quote-inline .pd-buy-actions .pd-btn {
    flex: 1 1 0;
    min-width: 0;
    padding: 1.3rem 1.4rem;
    font-size: 1.35rem;
}

/* --- Ã” sá»‘ lÆ°á»£ng: Ä‘á»•i tá»« +/- xáº¿p dá»c bÃªn pháº£i sang âˆ’ [sá»‘] + náº±m ngang --- */
.pd-quote-inline .product-quantity {
    display: inline-flex;
    align-items: stretch;
    height: 4.4rem;
    padding: 0;
    border: 1px solid #dfe4e8;
    border-radius: 8px;
    overflow: hidden;
}

.pd-quote-inline .product-quantity .btn-quantity.quantity-subtract,
.pd-quote-inline .product-quantity .btn-quantity.quantity-add {
    position: static;
    top: auto;
    bottom: auto;
    right: auto;
    width: 3.8rem;
    height: auto;
    border: 0;
    background-color: #f5f7f8;
    color: var(--color-main);
    font-size: 1.2rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.pd-quote-inline .product-quantity .btn-quantity:hover {
    background-color: var(--color-highlight);
    color: #fff;
}

.pd-quote-inline .product-quantity .number-input {
    width: 4.8rem;
    height: 100%;
    padding: 0;
    border: 0;
    border-left: 1px solid #dfe4e8;
    border-right: 1px solid #dfe4e8;
    background-color: #fff;
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--color-main);
}

/* MÃ n ráº¥t háº¹p: xáº¿p dá»c */
@media (max-width: 575px) {
    .pd-quote-inline .pd-quote-card {
        padding: 1.6rem;
    }
    .pd-quote-inline .pd-qty-row {
        margin-left: 0;
        width: 100%;
        justify-content: space-between;
    }
    .pd-quote-inline .pd-price-block {
        width: 100%;
    }
    .pd-quote-inline .pd-buy-actions {
        flex-direction: column;
    }
    .header-menu>.container>.row>div:last-child {
        display: flex;
        align-items: center;
        justify-content: flex-end;
    }
    body:not(.home) {
        padding-top: 63px;
    }
}

/* ==========================================
   TRANG TÃŒM KIáº¾M - Ä‘áº§u trang káº¿t quáº£
========================================== */

.search-head {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem 2rem;
    margin-bottom: 2.4rem;
    padding: 1.8rem 2.2rem;
    background-color: #fff;
    border: 1px solid #e6eaed;
    border-radius: 12px;
}

.search-head__main {
    flex: 1 1 auto;
    min-width: 0;
}

.search-head__title {
    color: var(--color-main);
    font-size: 1.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.search-head__desc {
    margin-top: 0.4rem;
    color: var(--color-text);
    font-size: 1.4rem;
}

.search-head__desc b {
    color: #006746;
    font-weight: 700;
}

/* ==========================================
   Bá»˜ Lá»ŒC NÃ‚NG CAO (sidebar trang tÃ¬m kiáº¿m)
========================================== */

.content-filter-product {
    background-color: #fff;
    border: 1px solid #e6eaed;
    border-radius: 12px;
    padding: 2rem 1.8rem;
}

.content-filter-head .h3 {
    margin-bottom: 1.6rem !important;
    font-size: 1.7rem;
}

/* --- NhÃ³m lá»c --- */
.filter-group {
    padding-bottom: 1.8rem;
    margin-bottom: 1.8rem;
    border-bottom: 1px solid #eef1f4;
}

.filter-group:last-of-type {
    border-bottom: 0;
    margin-bottom: 1rem;
}

.filter-group__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.2rem;
}

.filter-group__title {
    color: var(--color-main);
    font-size: 1.4rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.filter-group__clear {
    align-items: center;
    color: var(--color-highlight);
    font-size: 1.25rem;
}

.filter-group__clear:hover {
    color: #006746;
    text-decoration: underline;
}

/* --- Pill tráº¡ng thÃ¡i --- */
.filter-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
}

.filter-pills .inner-product-attribute {
    margin: 0 !important;
    padding: 0.7rem 1.4rem;
    background-color: #f5f7f8;
    border: 1px solid #e6eaed;
    border-radius: 20px;
    color: var(--color-main);
    font-size: 1.3rem;
    line-height: 1.4;
    transition: all 0.2s ease;
}

.filter-pills .inner-product-attribute:hover {
    border-color: #006746;
    color: #006746;
}

.filter-pills .inner-product-attribute.active {
    background-color: #006746;
    border-color: #006746;
    color: #fff;
}

/* --- Danh sÃ¡ch checkbox --- */
.filter-list {
    margin-bottom: 0 !important;
    max-height: 32rem;
    overflow-y: auto;
    padding-right: 0.4rem;
}

.filter-list li {
    margin-bottom: 0.2rem;
}

.filter-list li a {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0.6rem 0.4rem;
    border-radius: 6px;
    color: var(--color-main);
    font-size: 1.35rem;
    transition: background-color 0.2s ease;
}

.filter-list li a:hover {
    background-color: #f6f9f7;
    color: #006746;
}

.filter-list .inner-name {
    flex: 1 1 auto;
    line-height: 1.4;
}

/* thanh cuá»™n máº£nh cho danh sÃ¡ch dÃ i */
.filter-list::-webkit-scrollbar {
    width: 5px;
}
.filter-list::-webkit-scrollbar-thumb {
    background-color: #d7dee3;
    border-radius: 3px;
}

/* --- NÃºt Ä‘áº·t láº¡i --- */
.filter-reset {
    margin-top: 1.6rem;
}

.filter-reset__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
    width: 100%;
    padding: 1.1rem 1.4rem;
    background-color: #fff;
    border: 1px solid var(--color-highlight);
    border-radius: 8px;
    color: var(--color-highlight);
    font-size: 1.35rem;
    font-weight: 600;
    transition: all 0.25s ease;
}

.filter-reset__btn:hover {
    background-color: var(--color-highlight);
    color: #fff;
}

@media (max-width: 767px) {
    .search-head {
        padding: 1.4rem 1.6rem;
    }
    .search-head__title {
        font-size: 1.5rem;
    }
}

/* ==========================================
   Modal thu thap thong tin khach khi tim kiem
========================================== */
.lead-modal {
    position: fixed;
    inset: 0;
    z-index: 10500;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 2rem 1.5rem;
}

.lead-modal.show {
    display: flex;
}

.lead-modal__overlay {
    position: absolute;
    inset: 0;
    background-color: rgba(17, 28, 45, 0.62);
    backdrop-filter: blur(2px);
    animation: leadFade 0.25s ease;
}

.lead-modal__dialog {
    position: relative;
    width: 100%;
    max-width: 46rem;
    max-height: calc(100vh - 4rem);
    overflow-y: auto;
    background-color: #fff;
    border-radius: 16px;
    box-shadow: 0 2.4rem 6rem rgba(17, 28, 45, 0.28);
    animation: leadUp 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes leadFade {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes leadUp {
    from { opacity: 0; transform: translateY(2.4rem); }
    to { opacity: 1; transform: translateY(0); }
}

body.lead-modal-open {
    overflow: hidden;
}

.lead-modal__close {
    position: absolute;
    top: 1.2rem;
    right: 1.2rem;
    z-index: 2;
    width: 3.2rem;
    height: 3.2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    background-color: rgba(255, 255, 255, 0.18);
    border: 0;
    border-radius: 50%;
    color: #fff;
    font-size: 1.8rem;
    line-height: 1;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.lead-modal__close:hover {
    background-color: rgba(255, 255, 255, 0.34);
}

.lead-modal__head {
    padding: 3rem 2.8rem 2.4rem;
    background: linear-gradient(135deg, var(--color-highlight) 0%, #1b4a8f 100%);
    border-radius: 16px 16px 0 0;
    text-align: center;
    color: #fff;
}

.lead-modal__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 5.4rem;
    height: 5.4rem;
    margin-bottom: 1.4rem;
    background-color: rgba(255, 255, 255, 0.16);
    border-radius: 50%;
    font-size: 2.4rem;
}

.lead-modal__title {
    margin: 0 0 0.8rem;
    color: #fff;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.35;
}

.lead-modal__desc {
    margin: 0;
    font-size: 1.4rem;
    line-height: 1.55;
    opacity: 0.88;
}

.lead-modal__ctx {
    display: none;
    padding: 1.2rem 2.8rem;
    background-color: #f2f6fc;
    border-bottom: 1px solid #e3ebf6;
    color: var(--color-main);
    font-size: 1.35rem;
    line-height: 1.6;
    word-break: break-word;
}

.lead-modal__ctx i.fa-magnifying-glass {
    margin-right: 0.5rem;
    color: var(--color-highlight);
}

.lead-modal__ctx span {
    margin: 0 0.4rem;
    color: #9bb0cc;
}

.lead-modal__body {
    padding: 2.4rem 2.8rem 2.8rem;
}

.lead-modal__field {
    margin-bottom: 1.6rem;
}

.lead-modal__field label {
    display: block;
    margin-bottom: 0.7rem;
    color: var(--color-main);
    font-size: 1.35rem;
    font-weight: 600;
}

.lead-modal__field label i {
    color: #e23c3c;
    font-style: normal;
}

.lead-modal__field input {
    width: 100%;
    height: 4.6rem;
    padding: 0 1.4rem;
    background-color: #fff;
    border: 1px solid #dde4ee;
    border-radius: 8px;
    color: var(--color-main);
    font-size: 1.4rem;
    outline: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.lead-modal__field input::placeholder {
    color: #b3bdcc;
}

.lead-modal__field input:focus {
    border-color: var(--color-highlight);
    box-shadow: 0 0 0 3px rgba(40, 104, 193, 0.12);
}

.lead-modal__err {
    display: none;
    margin-top: 0.5rem;
    color: #e23c3c;
    font-size: 1.25rem;
}

.lead-modal__field.is-error input {
    border-color: #e23c3c;
    box-shadow: 0 0 0 3px rgba(226, 60, 60, 0.1);
}

.lead-modal__field.is-error .lead-modal__err {
    display: block;
}

.lead-modal__msg {
    display: none;
    margin-bottom: 1.4rem;
    padding: 1rem 1.2rem;
    background-color: #fdecec;
    border-radius: 8px;
    color: #c62828;
    font-size: 1.3rem;
    line-height: 1.5;
}

.lead-modal__msg.show {
    display: block;
}

.lead-modal__submit {
    width: 100%;
    height: 4.8rem;
    padding: 0;
    background-color: var(--color-highlight);
    border: 0;
    border-radius: 8px;
    color: #fff;
    font-size: 1.5rem;
    font-weight: 700;
    cursor: pointer;
    transition: background-color 0.2s ease, opacity 0.2s ease;
}

.lead-modal__submit:hover {
    background-color: #1f559f;
}

.lead-modal__submit.is-loading {
    opacity: 0.7;
    pointer-events: none;
}

.lead-modal__note {
    margin: 1.4rem 0 0;
    color: var(--color-text);
    font-size: 1.25rem;
    line-height: 1.5;
    text-align: center;
}

.lead-modal__note i {
    margin-right: 0.4rem;
}

@media (max-width: 575px) {
    .lead-modal {
        padding: 1.2rem;
    }
    .lead-modal__head {
        padding: 2.4rem 1.8rem 2rem;
    }
    .lead-modal__title {
        font-size: 1.75rem;
    }
    .lead-modal__ctx {
        padding: 1.1rem 1.8rem;
    }
    .lead-modal__body {
        padding: 2rem 1.8rem 2.2rem;
    }
}

.mobile-search{
    position: relative;
}

.btn-search-toggle{
    width:40px;
    height:40px;
    border:none;
    background:transparent;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:20px;
    cursor:pointer;
}

.mobile-search-box{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    background:#fff;
    padding:12px;
    z-index:9999;

    transform:translateY(-100%);
    transition:.3s ease;
    box-shadow:0 5px 20px rgba(0,0,0,.12);
}

.mobile-search-box.active{
    transform:translateY(0);
}

.mobile-search-box .input-group{
    display:flex;
    align-items:center;
}

.mobile-search-box .form-control{
    flex:1;
    height:42px;
}

.mobile-search-box .btn-submit,
.mobile-search-box .btn-search-close{
    width:42px;
    height:42px;
    border:none;
    border-radius: 20px;
}
.mh-footer__menu-list {
    display: flex;
    flex-direction: column;
    font-size: 14px;
}

.mh-footer__menu-list .mh-footer__menu-item {
    color: #fff;
    font-size: 14px;
    display: flex;
    padding-bottom: 5px;
}
.mh-footer__menu-list .mh-footer__menu-item:hover {
    color: #3a91eb;
}