/*
Theme Name:   Luxion (Flatsome Child)
Theme URI:    http://flatsome.uxthemes.com
Description:  Child theme của Flatsome
Author:       Luxion Dev
Author URI:   
Template:     flatsome
Version:      1.0.0
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  Luxion
*/

/* 
 * Tất cả CSS tùy chỉnh nên được thêm vào file này
 * hoặc sử dụng Flatsome > Advanced > Custom CSS
 */

/*
 * Mulish — toàn site (Flatsome Customizer + luxion-mulish trong functions.php).
 * Khi Flatsome tắt typography, vẫn giữ Mulish cho nội dung cơ bản.
 */
html {
    font-family: 'Mulish', sans-serif;
}

body,
h1,
h2,
h3,
h4,
h5,
h6,
.heading-font,
.alt-font,
.nav>li>a,
.mobile-sidebar-levels-2 .nav>li>ul>li>a,
button,
input,
select,
textarea {
    font-family: 'Mulish', sans-serif;
}

/* Nút Back to top – icon tùy chỉnh (ảnh của bạn) */
#top-link .back-to-top-custom-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

#top-link .back-to-top-custom-icon img {
    width: 32px;
    height: 32px;
    object-fit: contain;
    vertical-align: middle;
}

.h1 {
    font-size: 40px;
    font-weight: 700;
    line-height: normal;
}

.h2 {
    font-size: 40px;
    font-weight: 700;
    line-height: normal;
}

.h3 {
    font-size: 28px;
    font-weight: 800;
    line-height: normal;
}

.h4 {
    font-size: 24px;
    font-weight: 700;
    line-height: normal;
}

.text-18 {
    font-size: 18px;
    font-weight: 400;
    line-height: 25px;
}

.text-17 {
    font-size: 17px;
    font-weight: 600;
    line-height: 22px;
}

.text-400 {
    font-weight: 400;
}

.text-primary {
    color: #F2482C;
}

.text-secondary {
    color: #1245C6;
}

.text-white {
    color: #FFF;
}

.text-black {
    color: #000;
}

.absolute-footer {
    display: none;
}

.cap {
    text-transform: capitalize;
}

.uppercase {
    text-transform: uppercase;
}

.lowercase {
    text-transform: lowercase;
}

.capitalize {
    text-transform: capitalize;
}

.header-nav {
    justify-content: center;
    gap: 15px;
}

.header-wrapper.stuck .header-main .nav>li>a {
    line-height: 50px;
}

.header-main .top-divider {
    display: none;
}

.single-du_an .stuck .header-main {
    display: none;
}


.header-main {
    transition: all 0.3s ease;
}

.header-main:hover {
    background-color: #fff4f2;
}

.nav-dropdown-has-border .nav-dropdown {
    border: none !important;
    border-radius: 30px;
}

.header-nav.nav>li {
    margin: 0 10px;
}

.header-nav.nav>li.header-search-form {
    margin: 0;
}

.header-nav.nav>li.header-button-1 {
    margin-left: 1px;
}

.header-nav.nav>li.header-button-1 a.button {
    font-size: 16px;
    line-height: 1.25;
    display: flex;
    align-items: center;
    padding: 3px 9.5px 2px;
    height: 32px;
    min-height: 32px;
}

/* .nav-top-link i{
    display: none;
} */

.header-nav .form-flat input:not([type=submit]),
.header-nav .form-flat select,
.header-nav .form-flat textarea {
    width: 170px;
    padding: 2px 18px;
    background-color: #FFE6E1;
    border: #FFE6E1;
    color: #F2482C !important;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 28px;
    text-transform: capitalize;
    height: 33px;
}


.header-nav .form-flat input:not([type=submit])::placeholder,
.header-nav .form-flat select::placeholder,
.header-nav .form-flat textarea::placeholder {
    color: #F2482C !important;
}


.header-nav .search-form {
    width: 170px;
    margin: 0;
}

.header-nav .searchform .button.icon i {
    font-size: 17px;
    color: #F2482C;
}

.header-nav .button span {
    text-transform: capitalize;
    color: #FFE6E1;
}

.header .header-main .nav>li>a {
    color: #999;
    font-size: 20px;
    font-style: normal;
    font-weight: 600;
    text-transform: capitalize;
    line-height: 28px;
}

.header .header-main .nav>li.current-menu-item>a,
.header .header-main .nav>li:hover>a {
    color: #F2482C;
}

/* Nút menu header (Flatsome: li.nav-icon + .header-button hoặc link trực tiếp) — box 38×34, nền #F2482C, 3 gạch #FFE6E1 */
.header-main li.nav-icon.has-icon>.header-button,
.header-main li.nav-icon.has-icon>a {
    --luxion-menu-icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2222%22%20height%3D%2220%22%20viewBox%3D%220%200%2022%2020%22%20fill%3D%22none%22%3E%3Crect%20width%3D%2222%22%20height%3D%223.33333%22%20fill%3D%22%23FFE6E1%22%2F%3E%3Crect%20y%3D%228.33331%22%20width%3D%2222%22%20height%3D%223.33333%22%20fill%3D%22%23FFE6E1%22%2F%3E%3Crect%20y%3D%2216.6667%22%20width%3D%2222%22%20height%3D%223.33333%22%20fill%3D%22%23FFE6E1%22%2F%3E%3C%2Fsvg%3E");
    width: 38px;
    height: 34px;
    min-width: 38px;
    min-height: 34px;
    box-sizing: border-box;
    background-color: #F2482C;
    background-image: var(--luxion-menu-icon-svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 22px 20px;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 !important;
    margin: 0;
    border: none !important;
    box-shadow: none !important;
}

.header-main li.nav-icon.has-icon>.header-button>a {
    width: 100%;
    height: 100%;
    min-height: 0;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    display: flex;
    align-items: center;
    justify-content: center;
}

.header-main li.nav-icon.has-icon>.header-button>a i,
.header-main li.nav-icon.has-icon>a i {
    display: none !important;
}

.header-main li.nav-icon.has-icon .menu-title {
    display: none;
}

.footer {
    position: relative;
    padding: 100px 0 31px !important;
}

.footer .footer-right-bottom .wpcf7 {
    margin: 0;
    padding: 0;
}

.footer .social-icon {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    gap: 8px;
}

.footer .social-icon li {
    display: flex;
    margin: 0;
    height: 20px;
}

.footer .social-icon li a {
    display: flex;
    font-size: 10px;
    font-style: normal;
    font-weight: 600;
    line-height: 20px;
    text-transform: uppercase;
    height: 100%;
    padding: 0 9px;
    background-color: #FFE6E1;
    color: #F2482C;
    border-radius: 10px;
    gap: 4px;
    align-items: center;
    transform: translateY(0);
    transition: all 0.3s ease;
}

.footer .social-icon li a:hover {
    transform: translateY(-2px);
}

.footer .social-icon li a svg {
    width: 11px;
    fill: #F2482C;
}

.footer-right {
    padding-bottom: 0;
}

.footer-right .col-inner p:first-child {
    color: #FFE6E1;
    font-size: 20px;
    font-style: normal;
    font-weight: 600;
    line-height: 28px;
    margin-bottom: 6px;
}

.footer-right .col-inner p+ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-right .col-inner p+ul li {
    padding: 0;
    margin: 0;
}

.footer-right .col-inner p+p,
.footer-right .col-inner ul li a {
    color: #FFE6E1;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 23px;
    margin: 0;
    transition: all 0.3s ease;

}

.footer-right .col-inner ul li:hover a {
    text-decoration: underline;
}

.footer-right-bottom {
    margin-top: 51px;
}

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

.footer-right-bottom form {
    position: relative;
    width: 100%;
    max-width: 439px;
    margin: 0;
}

.footer-right-bottom form input[type="text"],
.footer-right-bottom form input[type="email"],
.footer-right-bottom form textarea {
    width: 100%;
    padding: 10px;
    border: 1px solid #FFE6E1;
    border-radius: 10px;
    margin-bottom: 0px;
    padding: 11px 80px 10px 13px;
    color: #F2482C;
}

.footer-right-bottom form input[type="text"]::placeholder,
.footer-right-bottom form input[type="email"]::placeholder,
.footer-right-bottom form textarea::placeholder {
    color: #F2482C;
}

.footer-right-bottom form textarea {
    width: 100%;
    padding: 10px;
    border: 1px solid #FFE6E1;
    border-radius: 10px;
    margin-bottom: 0px;
    padding: 11px 80px 10px 13px;
    color: #F2482C;
}

.footer-right-bottom form input,
.footer-right-bottom form select {
    height: 46px;
}

.footer-right-bottom form input[type="submit"] {
    margin: 0;
    position: absolute;
    right: 0;
    top: 0;
    border-radius: 0 10px 10px 0;
    opacity: 0;
    transition: all 0.3s ease;
}

.footer-right-bottom form:hover input[type="submit"] {
    opacity: 1;
}

.footer .footer-below {
    margin-top: 50px;
    padding-top: 16px;
    border-top: 1px solid #fff;
}

.wpcf7-spinner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin: 0;
}

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

.footer .footer-below .col-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.footer .footer-below p {
    color: #FFE6E1;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 25px;
    margin: 0;
}

.footer .footer-below ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 51px;
}

.footer .footer-below ul li {
    padding: 0;
    margin: 0;
}

.footer .footer-below ul li a {
    color: #FFE6E1;
    font-size: 14px;
    font-style: normal;
    font-weight: 800;
    line-height: 35px;
    text-transform: uppercase;
}

.footer .footer-below ul li:hover a {
    text-decoration: underline;
}

.footer-left img {
    max-width: 340px;
}

.s1-about .flickity-viewport {
    overflow: hidden;
    border-radius: 24px;
}

.s1-about h2 {
    margin-bottom: 17px;
    max-width: 800px;
}

.s1-about .gtcl-title {
    margin: 0 auto 53px;
}

.s1-about p {
    font-size: 18px;
    max-width: 800px;
}

.s1-about p+h2 {
    margin-top: 59px;
}

/* Home Slider */

.slider-home {
    position: relative;
    border-radius: 45px;
    overflow: hidden;
}

.slider-home__item {
    padding: 0 !important;
}

.slide-home__buttons {
    position: absolute;
    bottom: 42px;
    left: 65px;
    display: flex;
}

.slide-home__buttons .button {
    margin: 0;
}

.slide-home__buttons .button+.button {
    margin-left: 12px;
}

.slide-home__buttons>.col {
    padding: 0;
}

.slider-home .flickity-page-dots {
    position: absolute;
    bottom: 42px;
    right: 65px !important;
    text-align: right;
}

.flickity-page-dots {
    left: 0 !important;
    right: 0 !important;
}

.about-download {
    width: 70px;
    height: 59px;
    margin: 0 auto;
    border-radius: 20px;
    background-color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    border: none;
    outline: none;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}

.about-download svg path {
    transition: all 0.3s ease;
}

.about-download:hover {
    background-color: #1245c6;
}

.about-download:hover svg path {
    fill: #fff;
}

.slider-home .slider-nav-dots-dashes-spaced .flickity-page-dots .dot {
    width: 65px;
    height: 8px;
    border-radius: 100px;
    opacity: 0.75;
    background: #FFF4F2;
    border: none;
    outline: none;
}

.slider-home .slider-nav-dots-dashes-spaced .flickity-page-dots .dot.is-selected {
    background: #B0C8F9;
}

.image-h2 {
    padding-right: 36px;
}

.image-h2 img {
    border-radius: 25px;
}

.home #content {
    padding-top: 0;
}

.grid-image-box .col-inner {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    justify-content: start;
    align-items: start;
}

.grid-image-box .box-image {
    width: 98px;
    height: 98px;
    border-radius: 50%;
    overflow: hidden;
    position: relative;
    margin: 0 0 17px;

}

.grid-image-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.grid-image-box .box-text {
    padding: 0;
    max-width: 134px;
}

.box-mural {
    padding-top: 60px !important;
}

.box-mural h2 {
    max-width: 654px;
}

.box-mural h2+p {
    max-width: 610px;
    margin-bottom: 50px;
}

.box-mural-left {
    padding-right: 36px;
}

/* Contact box */
.contact {
    position: relative;
    padding: 30px;
}

.contact.bg-pink {
    background-color: #FFE6E1;
    padding-top: 86px !important;
    padding-bottom: 86px !important;
}

.contact-box {
    position: relative;
    max-width: 1192px;
    background-color: #FFF4F2;
    border-radius: 40px;
    margin: 0 auto;
    padding: 38px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.contact-box__left {
    width: 588px;
    padding-left: 12px;
}

.contact-box__left img {
    height: 69px;
    object-fit: cover;
    width: fit-content;
    margin-bottom: 60px;
}

.contact-box__left .title {
    color: #F2482C;
    font-size: 48px;
    font-style: normal;
    font-weight: 700;
    line-height: 52px;
    text-transform: capitalize;
    margin-bottom: 20px;
}

.contact-box__left p {
    color: #000;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 25px;
}

.contact-box__left__social {
    display: flex;
    gap: 36px;
    margin-top: 129px;
}

.contact-box__left__social a {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 8px 20px 8px 15px;
    background-color: #1245C6;
    border-radius: 50px;
    color: #FFF;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 25px;
    transition: all 0.3s ease;
}

.contact-box__left__social a:hover {
    background-color: #F2482C;
}

.contact-box__right {
    display: flex;
    flex: 1;
    justify-content: flex-end;
}

/* Contact form popup (UX block) – ẩn mặc định, hiện theo config (sau X giây / click class) */
.luxion-cf-popup {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    pointer-events: none;
    visibility: hidden;
    opacity: 0;
    transition: visibility 0.25s ease, opacity 0.25s ease;
}

.luxion-cf-popup--open {
    pointer-events: auto;
    visibility: visible;
    opacity: 1;
}

.luxion-cf-popup__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    cursor: pointer;
}

.luxion-cf-popup__box {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: auto;
    border-radius: 12px;
    padding: 24px 24px 28px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.luxion-cf-popup__box>.luxion-cf-popup__close {
    display: none;
}

.luxion-cf-popup__close {
    position: absolute;
    top: 0;
    right: 0;
    transform: translate(35%, -35%);
    width: 43px;
    height: 43px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    border: none;
    background: none;
    transition: color 0.2s ease;
    background-color: #1245C6;
    display: flex;
    align-items: center;
    border-radius: 50%;
    line-height: 43px;
    z-index: 2;
}

.luxion-cf-popup__close:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(45deg);
    display: block;
    width: 22px;
    height: 4px;
    background-color: #F2482C;
    border-radius: 100px;
}

.luxion-cf-popup__close:after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(-45deg);
    display: block;
    width: 22px;
    height: 4px;
    background-color: #F2482C;
    border-radius: 100px;
}

.luxion-cf-popup__close:hover {
    color: #F2482C;
}

.luxion-cf-popup__title {
    margin: 0 36px 16px 0;
    font-size: 1.35rem;
}

.luxion-cf-popup__form {
    margin-top: 8px;
    width: 1256px;
}

.luxion-cf-popup__form .wpcf7-select {
    color: #898989;
}

.luxion-cf-popup__form .wpcf7 input[type=text] {
    margin-bottom: 13px;
    font-size: 18px;
}

.luxion-cf-popup__form .wpcf7 input[type=submit] {
    text-transform: capitalize;
    font-size: 18px;
}

/* Contact form */
.wpcf7 {
    position: relative;
    width: 100%;
    max-width: 460px;
    padding: 27px 30px 28px;
    background-color: #F2482C;
    border-radius: 40px;
}

.wpcf7 .wpcf7-form {
    margin: 0;
}

.wpcf7 .cf7-label {
    color: #FFF;
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: 25px;
    margin-bottom: 15px;
}

.wpcf7 input[type=email],
.wpcf7 input[type=number],
.wpcf7 input[type=search],
.wpcf7 input[type=tel],
.wpcf7 input[type=text],
.wpcf7 input[type=url],
.wpcf7 select {
    width: 100%;
    padding: 10px 22px;
    height: 45px;
    border: none;
    outline: none;
    border-radius: 17px;
    background-color: #FFE6E1;
    margin-bottom: 9px;
}

/*
 * CF7 dropdown: gỡ mũi tên trình duyệt + SVG chevron (.wpcf7-form-control luôn có trên select CF7).
 * body + !important: sau Custom CSS Flatsome / UX Builder vẫn có hiệu lực.
 */
body .wpcf7 select.wpcf7-form-control:not([multiple]) {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    padding-right: 44px !important;
    background-color: #FFE6E1 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1.5 1.5L7 7L12.5 1.5' stroke='%23F2482C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 18px center !important;
    background-size: 14px 9px !important;
}

body .wpcf7 select.wpcf7-form-control:not([multiple])::-ms-expand {
    display: none;
}

.wpcf7 input[type=submit] {
    width: fit-content;
    padding: 0 72px 0 22px;
    height: 51px;
    line-height: 55px;
    border: none;
    outline: none;
    border-radius: 50px;
    background-color: #FFE6E1;
    color: #F2482C;
    transition: all 0.3s ease;
    margin: 16px 0 0 0;
    text-transform: capitalize;

}

.wpcf7 input[type=submit]:hover {
    background-color: #1245C6;
    color: #fff;
}


.wpcf7 .cf7-input::placeholder,
.wpcf7 .cf7-textarea::placeholder {
    color: #FFF;
}

.wpcf7 .submit-row {
    width: fit-content;
    position: relative;
}

.wpcf7 .submit-row svg {
    position: absolute;
    bottom: 4px;
    right: 5px;
}

.wpcf7 .wpcf7-form input[type=submit].submit-footer {
    width: fit-content;
    padding: 0 15px;
    height: 45px;
    line-height: 45px;
    background-color: #1245C6;
    color: #fff;
}

.wpcf7-response-output {
    color: #fff;
}

/* jQuery Nice Select: <select> gốc → .luxion-nice-native (nền xanh #1245C6, chữ trắng). Không ảnh hưởng dropdown nice-select tùy biến (không có .luxion-nice-native). */
.wpcf7 .nice-select.luxion-nice-native {
    margin-bottom: 9px;
}

.nice-select.luxion-nice-native {
    float: none;
    display: block;
    width: 100%;
    clear: both;
    background-color: #FFE6E1;
    color: #898989;
    border: none;
    border-radius: 17px;
    min-height: 45px;
    height: auto;
    line-height: 1.3;
    padding: 10px 44px 10px 22px;
    font-size: 16px;
    font-weight: 600;
    z-index: 2;
    box-shadow: none;
    white-space: normal;
    word-break: break-word;
}

/* Mũi tên: icon tam giác màu cam (thư viện mặc định dùng border ở :after) */
.nice-select.luxion-nice-native:after {
    content: "" !important;
    position: absolute;
    right: 18px;
    top: 50%;
    left: auto;
    width: 17px;
    height: 10px;
    margin-top: 0;
    border: none !important;
    background-color: transparent !important;
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2210%22%20viewBox%3D%220%200%2017%2010%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M1.39901%200H15.2346C16.4787%200%2017.1007%201.55043%2016.2229%202.45436L9.30507%209.57797C8.75862%2010.1407%207.875%2010.1407%207.33437%209.57797L0.410748%202.45436C-0.467058%201.55043%200.154964%200%201.39901%200Z%22%20fill%3D%22%23F2482C%22%2F%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    -webkit-transform: translateY(-50%) rotate(0deg);
    -ms-transform: translateY(-50%) rotate(0deg);
    transform: translateY(-50%) rotate(0deg);
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
    -webkit-transition: -webkit-transform 0.2s ease;
    transition: transform 0.2s ease;
    pointer-events: none;
}

.nice-select.luxion-nice-native.open:after {
    -webkit-transform: translateY(-50%) rotate(180deg);
    -ms-transform: translateY(-50%) rotate(180deg);
    transform: translateY(-50%) rotate(180deg);
}

.nice-select.luxion-nice-native .current {
    color: #898989;
    line-height: 25px;
    display: block;
    padding: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.nice-select.luxion-nice-native .list {
    z-index: 10050;
    background-color: #1245C6;
    color: #fff;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 12px;
    max-height: 280px;
    overflow: auto;
    margin-top: 6px;
    left: 0;
    right: 0;
    width: 100% !important;
    min-width: 100%;
}

.nice-select.luxion-nice-native .option {
    color: #fff;
    line-height: 1.4;
    min-height: auto;
    padding: 10px 18px;
    margin: 0;
}

.nice-select.luxion-nice-native .option:hover,
.nice-select.luxion-nice-native .option.focus,
.nice-select.luxion-nice-native .option.selected.focus {
    background-color: rgba(255, 255, 255, 0.15) !important;
    color: #fff;
}

.nice-select.luxion-nice-native .option.selected {
    color: #fff;
    font-weight: 700;
}

.nice-select.luxion-nice-native.open {
    z-index: 10051;
}

.wpcf7 .wpcf7-not-valid-tip {
    margin-top: 8px;
    margin-bottom: 10px;
}

.image-radius img {
    border-radius: 40px;
}

.du-an-single__title {
    text-align: center;
    max-width: 756px;
    margin: 0 auto;
}

blockquote,
dl,
figure,
form,
ol,
p,
pre,
ul {
    margin-bottom: 15px;
}

.blog-single .entry-content blockquote {
    border: none;
    padding: 32px 26px 27px;
    border-radius: 16px;
    background-color: #FFF4F2;
    display: flex;
    align-items: flex-start;
    gap: 13px;
}

.blog-single .entry-content blockquote::before {
    content: "“";
    color: #F2482C;
    font-size: 48px;
    font-weight: 700;
    line-height: 56px;
}

.du-an-feature {
    margin-top: 24px;
}

.featured-box {
    display: flex;
    gap: 10px;
}

.featured-box .icon-box-text p {
    font-size: 14px;
    color: #898989;
}

.featured-box .icon-box-img {
    max-width: 24px;
}

.featured-box.icon-light .icon-box-img svg {
    max-width: 17px;
}

.icon-box-img img,
.icon-box-img svg {
    padding-top: unset;
    margin-top: 3px;
}

.featured-box .icon-box-img svg path {
    fill: #1245C6;
}

.featured-box h3 {
    color: #333;
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    text-transform: capitalize;
    margin-bottom: 7px;
}

.list-skill {
    list-style: none;
    display: flex;
    gap: 10px;
    margin: 10px 0 0 0;
    padding: 0;
}

.list-skill li,
.list-skill__item {
    margin: 0 !important;
    padding: 0;
    width: 32px;
    min-width: 32px;
}

.list-skill li img,
.list-skill__item img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.giai-phap {
    position: relative;
    padding: 32px 15px 50px;
    margin: 0 auto;
    background-color: #fff;
}

.giai-phap__inner {
    max-width: 1310px;
    margin: 0 auto;
}

.giai-phap-wrapper {
    display: flex;
    gap: 51px;
}

.giai-phap-left {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.giai-phap {
    position: relative;
    border-radius: 0 0 30px 30px;
}

.giai-phap__title {
    color: #F2482C;
    font-family: Mulish;
    font-size: 30px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    text-transform: capitalize;
}

.giai-phap-group__top {
    position: relative;
    display: flex;
    align-items: center;
    gap: 22px;
}

.giai-phap-group__top h3 {
    position: relative;
    color: #898989;
    font-size: 18px;
    font-weight: 400;
    line-height: 25px;
    text-transform: capitalize;
    margin-bottom: 10px;
    width: fit-content;
    min-width: 148px;
    margin: 0;

}

.giai-phap-group__top-line {
    flex: 1;
    width: 100%;
    height: 1px;
    background-color: #D9D9D9;
    position: relative;
}

.giai-phap-group__top-line svg {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}

.giai-phap-group__bottom {
    padding: 26px 19px 18px;
}

.giai-phap-group__bottom .giai-phap-items {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 27px;
}

.giai-phap-group__bottom .giai-phap-items .giai-phap-item {
    align-items: start;
}

.giai-phap-group__bottom .giai-phap-items img {
    max-width: 23.5px;
    height: auto;
    margin-top: 2px;
}

.giai-phap-item {
    display: flex;
    gap: 8px;
}

.giai-phap-item:hover h4 {
    color: #E6392D;
}

.giai-phap-item svg {
    margin-top: 3px;
}

.giai-phap-group__bottom .giai-phap-items h4 {
    margin-bottom: 7px;
}

.giai-phap-group__bottom .giai-phap-items p {
    margin-bottom: 0;
}

.giai-phap h4 {
    color: #333;
    font-size: 18px;
    font-weight: 700;
    line-height: normal;
    text-transform: capitalize;
}

.giai-phap p {
    color: #898989;
    font-size: 14px;
    font-weight: 400;
    line-height: 18px;
}

.du-an-archive {
    padding-bottom: 0 !important;
}

.du-an-archive__title {
    text-align: center;
}

.du-an-archive__card {
    text-align: center;
}

.du-an-archive .du-an-archive__title {
    color: #F2482C;
    font-size: 40px;
    font-weight: 700;
    line-height: normal;
    text-transform: capitalize;
}

.giai-phap-right {
    width: 100%;
    max-width: 373px;
    aspect-ratio: 373/485;
    overflow: hidden;
    position: relative;
}

.giai-phap-right .giai-phap-img {
    border-radius: 30px;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s ease, visibility 0.4s;
}

.giai-phap-img.active {
    opacity: 1;
    visibility: visible;
}

.nav-top-link i {
    display: none;
}

@media (max-width: 850px) {
    .vct-mb {
        padding-top: 46px;
    }

    .vct-mb .slm {
        margin-bottom: 35px;
    }

    .gtcl {
        padding-top: 0 !important;
    }

    .social-mobile {
        list-style: none;
        display: flex;
        gap: 9px;
    }

    .social-mobile li {
        margin: 0 !important;
    }

    .footer {
        padding: 60px 0 20px !important;
    }

    .footer-right .col-inner .col:nth-child(1) {
        order: 1;
    }

    .footer-right .col-inner .col:nth-child(2) {
        order: 2;
    }

    .footer-right .col-inner .col:nth-child(3) {
        order: 3;
        margin-top: 23px;
    }

    .combo-row {
        flex-wrap: wrap;
    }
}

@media (max-width: 550px) {
    .footer {
        padding: 50px 0 31px !important;
    }

    .footer-left img {
        max-width: 170px;
    }

    .footer .footer-below {
        margin-top: 28px;
        padding-top: 0;
        border-top: none;
    }

    .footer .footer-below .col-inner {
        flex-direction: column-reverse;
        justify-content: flex-start;
        align-items: flex-start;
    }

    .footer .footer-below .col-inner p {
        margin-top: 5px;
        padding-top: 7px;
        border-top: 1px solid #fff;
        width: 100%;
        font-size: 13px;
    }



    .footer .footer-below ul {
        gap: 27px;
    }

    .footer .footer-below ul li a {
        font-size: 12px;
        line-height: 27px;
        font-size: 11px;
    }

    .footer-right-bottom {
        margin-top: 32px;
    }

    .footer-right-bottom .col-inner>p {
        display: none;
    }

    .footer-right .col-inner p:first-child {
        color: #FFE6E1;
        font-size: 17.5px;
        font-weight: 700;
        line-height: 28px;
        margin-bottom: 2px;
    }

    .footer-right .col-inner p+p,
    .footer-right .col-inner ul li a {
        color: #FFE6E1;
        font-size: 15px;
        font-weight: 400;
        line-height: 16px;
    }


    .text-mb-17,
    .p-testimonial__desc,
    .top-solution__desc {
        font-size: 17px !important;
    }

    .footer-right-bottom form input[type="text"],
    .footer-right-bottom form input[type="email"],
    .footer-right-bottom form textarea {
        padding: 10px;
        font-size: 13px;
    }

    .footer-right .col-inner .col:nth-child(3) {
        margin-top: -29px;
    }

    .footer-right-bottom form input[type="text"],
    .footer-right-bottom form input[type="email"],
    .footer-right-bottom form textarea {
        padding: 11px;
        border-radius: 15px;
        font-size: 14px;
    }

}

/* Slider sub categories - 2 nút prev/next (desktop); mobile = nice-select */
.archive-sub-categories-slider {
    margin: 1.5rem 0 0;
    max-width: 1440px;
}

.archive-sub-categories-slider__desktop {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.archive-sub-categories-slider__nice {
    display: none;
}

.archive-sub-categories-slider__nice {
    display: none;
}

@media (max-width: 849px) {
    .archive-sub-categories-slider__desktop {
        display: none !important;
    }

    .archive-sub-categories-slider__nice {
        display: block;
        width: 100%;
    }

    .archive-sub-categories-slider .archive-sub-categories-slider__nice-select.nice-select {
        width: 100%;
        display: block;
        margin-bottom: 0;
        max-width: 100%;
        width: fit-content;
        margin: 0 auto;
        min-width: 246px;
    }

    .archive-sub-categories-slider .archive-sub-categories-slider__nice-select .nice-select__current {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .archive-sub-categories-slider .archive-sub-categories-slider__nice-select .nice-select__list {
        left: 0;
        right: 0;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    .archive-sub-categories-slider .nice-select__option.is-active {
        color: #F2482C;
        font-weight: 600;
    }
}

.archive-sub-categories-slider__swiper {
    flex: 1;
    overflow: hidden;
}

.archive-sub-categories-slider button {
    padding: 0;
    margin: 0 !important;
}

.archive-sub-categories-slider__swiper .swiper-slide {
    width: max-content;
    flex-shrink: 0;
}

.archive-sub-categories-slider__link {
    display: inline-block;
    padding: 0.5rem 1rem;
    border: 1px solid #F2482C;
    border-radius: 10px;
    color: #F2482C;
    text-decoration: none;
    font-weight: 500;
    white-space: nowrap;
    transition: background 0.2s, color 0.2s;
}

.archive-sub-categories-slider__link:hover,
.archive-sub-categories-slider__link.is-active {
    background: #F2482C;
    color: #fff;
}

.archive-sub-categories-slider__prev,
.archive-sub-categories-slider__next {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border: 1px solid rgba(242, 72, 44, 0.6);
    border-radius: 50%;
    background: #fff;
    color: #F2482C;
    cursor: pointer;
    display: flex;
    opacity: 1 !important;
    align-items: center;
    justify-content: center;
    transition: background 0.2s, color 0.2s;
}

.archive-sub-categories-slider__prev:hover,
.archive-sub-categories-slider__next:hover {
    background: #F2482C;
    color: #fff;
    border-color: #F2482C;
}

.archive-sub-categories-slider__prev:hover svg,
.archive-sub-categories-slider__next:hover svg {
    path {
        stroke: #fff;
    }
}

/* --- Blog archive: grid 3 cột x 4 hàng --- */
.blog-archive .large-10 {
    flex-basis: 100%;
    max-width: 100%;
}

.blog-archive-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 48px 28px;
    margin-bottom: 48px;
}

.blog-archive-grid>article {
    margin: 0;
    width: calc(33.333% - 28px);
}

/* Blog archive: category trên title, nút Xem thêm dưới excerpt */
.entry-content-category {
    display: block;
    margin-bottom: 8px;
    font-size: 13px;
}

.entry-content-category a {
    color: #F2482C;
    text-decoration: none;
    font-weight: 600;
}

.entry-content-category a:hover {
    text-decoration: underline;
}

.entry-content-more {
    margin: 12px 0 0;
}

.entry-content-more-link {
    display: inline-block;
    padding: 8px 18px;
    background: transparent;
    color: #F2482C;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    border-radius: 999px;
    transition: background 0.2s, color 0.2s;
    border-radius: 50px;
    border: 1px solid #B0C8F9;
    display: flex;
    align-items: center;
    gap: 10px;
    width: fit-content;
}

.entry-content-more-link:hover {
    color: #fff;
    background-color: #1245C6;
    border-color: #1245C6;
}

/* --- Bài viết liên quan: carousel 4 bài --- */
.blog-related-carousel {
    margin-top: 84px;
    order: 5;
}

.blog-related-carousel__title {
    color: #F2482C;
    text-align: center;
    font-size: 40px;
    font-weight: 700;
    line-height: 48px;
    text-transform: capitalize;
    margin-bottom: 79px;
}

.blog-related-carousel__swiper {
    overflow: hidden;
    padding-bottom: 20px;
}

.blog-related-carousel__swiper .swiper-wrapper {
    align-items: stretch;
}

.blog-related-carousel__swiper .swiper-slide {
    height: auto;
    display: flex;
}

.blog-related-carousel__slide-inner {
    width: 100%;
    display: flex;
    flex-direction: column;
    border-radius: 20px;
    overflow: hidden;
    transition: box-shadow 0.2s;
}

.blog-related-carousel__slide-link {
    display: block;
    text-decoration: none;
    color: inherit;
}

.blog-related-carousel__slide-image {
    aspect-ratio: 283/215;
    overflow: hidden;
    border-radius: 20px;
    background: #f0f0f0;
}

.archive-page-header .page-title {
    color: #F2482C;
    text-align: center;
    font-size: 40px;
    font-weight: 700;
    line-height: 48px;
    text-transform: capitalize;
}

.archive-categories__list {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center;
    align-items: center;
}

.archive-categories__list a {
    color: #898989;
    font-size: 18px;
    font-weight: 700;
    line-height: 25px;
    text-transform: uppercase;
}

.archive-categories__list a:hover {
    color: #1245C6;
}

.archive-categories__list a.active {
    color: #1245C6;
}

.blog-single .article-inner {
    margin: 0 auto;
}

.blog-single .article-inner .entry-header {
    max-width: 654px;
    margin: 0 auto;
}

.blog-single .entry-author {
    order: 3;
}

.blog-single a.entry-author.author-box {
    color: inherit;
    text-decoration: none;
    display: block;
    max-width: 654px;
    margin: 0 auto;
    border: 1px solid #B0C8F9;
    border-radius: 16px;
    margin-top: 44px;
    width: 100%;
    padding: 14px 20px 13px 30px;
}


.blog-single a.entry-author.author-box:hover .author-name {
    color: #1245C6;
}

.author-box__inner {
    display: flex;
    align-items: flex-start;
    gap: 30px;
}

.author-desc {
    margin: 0;
    color: #333;
    font-size: 14px;
    font-weight: 400;
    line-height: 18px;
}

.blog-author-image {
    width: 100%;
    min-width: 59px;
    height: auto;
    aspect-ratio: 1/1;
    overflow: hidden;
    border-radius: 50%;
    background: #f0f0f0;
}

.author-box__inner-left {
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

.author-label {
    white-space: nowrap;
    color: #1245C6;
    font-size: 15px;
    font-weight: 500;
    line-height: 22px;
}

.author-name {
    color: #333;
    font-size: 18px;
    font-weight: 700;
    line-height: 22px;
    white-space: nowrap;
}

.blog-single .tag-list {
    padding: 15px 93px;
    margin-top: 66px;
    border-top: 1px solid #D9D9D9;
    border-bottom: 1px solid #D9D9D9;
    display: flex;
    gap: 10px;
    position: relative;
    order: 4;
}

.blog-single .tag-list::before {
    content: "";
    width: 6px;
    height: 10px;
    background-image: url(./img/triangle.svg);
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    left: 0;
    transform: translateY(-50%);
}

.blog-single .tag-list::after {
    content: "";
    width: 6px;
    height: 10px;
    background-image: url(./img/triangle.svg);
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    bottom: 0;
    left: 0;
    transform: translateY(50%);
}

.blog-single .tag-list a {
    color: #1245C6;
    font-size: 18px;
    font-weight: 700;
    line-height: 31px;
    text-decoration: none;
}

.blog-single .tag-list a::before {
    content: "#";
}

.blog-single .article-inner {
    display: flex;
    flex-direction: column;
}

.blog-single .entry-header {
    order: 1;
}

.blog-single .article-inner .entry-content {
    max-width: 654px;
    margin: 0 auto;
    order: 2;
}


.blog-single .entry-header-text {
    text-align: left !important;
    padding: 0 !important;
}

.blog-single .entry-header-text .entry-title {
    color: #F2482C;
    font-size: 35px;
    font-weight: 700;
    line-height: 42px;
    text-transform: capitalize;
}

.blog-single .entry-content p {
    font-size: 17px;
}

.blog-single .entry-content h2 {
    margin-top: 47px;
    color: #333;
    font-size: 24px;
    font-weight: 700;
    line-height: 32px;
    text-transform: capitalize;
    margin-bottom: 20px;
}

.blog-single .entry-content ul {
    margin-left: 27px;
}

.blog-single .entry-content ul li {
    color: #1245C6;
    font-size: 16px;
    font-weight: 700;
    line-height: 22px;
    list-style: disc;
}

.blog-single .entry-content h3 {
    color: #333;
    font-size: 20px;
    font-weight: 600;
    line-height: 28px;
}

.blog-single .entry-content {
    padding: 0 !important;
}

.blog-related-carousel__slide-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.blog-related-carousel__slide-content {
    flex: 1;
}

.blog-related-carousel__slide-category {
    display: block;
    margin: 8px 0;
    font-size: 13px;
}

.blog-related-carousel__slide-category a {
    text-decoration: none;
    font-weight: 600;
    color: #B3B3B3;
    display: flex;
    align-items: center;
}

.blog-related-carousel__slide-category a::before {
    content: "";
    width: 4px;
    height: 4px;
    background-color: #B3B3B3;
    border-radius: 50%;
    display: inline-block;
    margin-right: 8px;
}

.blog-related-carousel__slide-category a:hover {
    text-decoration: underline;
}

.blog-related-carousel__slide-title {
    font-size: 18px;
    font-weight: 600;
    line-height: 1.35;
    margin: 0 0 8px;
    color: #333;
}

.blog-related-carousel__slide-title a {
    color: inherit;
    text-decoration: none;
}

.blog-related-carousel__slide-title a:hover {
    color: #F2482C;
}

.blog-related-carousel__slide-excerpt {
    font-size: 14px;
    line-height: 1.5;
    color: #555;
    margin: 0 0 12px;
}

.blog-related-carousel__slide-more {
    display: inline-block;
}

.blog-related-carousel__slide-more-link {
    display: inline-block;
    padding: 8px 18px;
    background: #F2482C;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    border-radius: 999px;
    transition: background 0.2s, color 0.2s;
}

.blog-related-carousel__slide-more-link:hover {
    background: #d93d24;
    color: #fff;
}

.blog-related-carousel__wrap {
    display: flex;
    align-items: stretch;
    gap: 16px;
    position: relative;
}

.blog-related-carousel__prev {
    position: absolute;
    left: -95px;
    top: 30%;
    transform: translateY(-50%);
}

.blog-related-carousel__next {
    position: absolute;
    right: -105px;
    top: 30%;
    transform: translateY(-50%);
}

.blog-related-carousel__swiper {
    flex: 1;
    min-width: 0;
}

.blog-related-carousel__prev,
.blog-related-carousel__next {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: #1245C6;
    color: #fff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    align-self: center;
    transition: background 0.2s;
}

.blog-related-carousel__prev svg,
.blog-related-carousel__next svg {
    display: block;
    flex-shrink: 0;
}

.blog-related-carousel__prev:hover,
.blog-related-carousel__next:hover {
    background: #0d36a0;
}

.entry-summary {
    overflow: hidden;
    color: #333;
    text-overflow: ellipsis;
    font-size: 17px;
    font-weight: 400;
    line-height: 22px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
    align-self: stretch;
}

/* --- Product list (WooCommerce): category + excerpt + Đọc thêm --- */
.luxion-product-cat {
    margin-bottom: 6px;
    font-size: 13px;
}

.luxion-product-cat a {
    color: #F2482C;
    text-decoration: none;
    font-weight: 600;
}

.luxion-product-cat a:hover {
    text-decoration: underline;
}

.luxion-product-excerpt {
    margin: 8px 0 12px;
    color: #555;
    font-size: 14px;
    line-height: 1.5;
}

.luxion-product-readmore {
    margin: 0 0 8px;
}

.luxion-product-readmore-link {
    display: inline-block;
    padding: 8px 18px;
    background: #F2482C;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    border-radius: 999px;
    transition: background 0.2s, color 0.2s;
}

.luxion-product-readmore-link:hover {
    background: #d93d24;
    color: #fff;
}


@media (max-width: 640px) {
    .blog-archive-grid article {
        width: 100%;
    }

    .post .entry-image {
        border-radius: 25px !important;
    }

    .post .entry-content {
        padding: 15px 0 0 !important;
    }

    .post .entry-content-more {
        display: none;
    }

    .blog-related-carousel {
        margin-top: 50px;
    }

    .page-wrapper {
        padding-bottom: 0;
    }

}

/* --- Dự án tiêu biểu (UX Block) --- */
.Luxion-du-an-tieu-bieu {
    padding: 2rem 0;
    max-width: 1440px;
    margin: 0 auto;
}

.du-an-tieu-bieu__filter-row {
    max-width: 1400px;
    margin-bottom: 8px;
}

.du-an-tieu-bieu__danh-muc-filter {
    margin-top: 0;
    flex-shrink: 0;
}

.blog-related-carousel__wrap button[disabled] {
    opacity: 1;
}

.du-an-tieu-bieu__nice-select {
    height: 24px;
    background-color: #F2482C !important;
}

.du-an-tieu-bieu__nice-select .nice-select__arrow svg path {
    fill: #fff;
}

.du-an-tieu-bieu__nice-select .nice-select__option {
    color: #898989;
}

.du-an-tieu-bieu__nice-select .nice-select__current {
    font-size: 16px;
    line-height: 21px;
    color: #fff;
    font-weight: 400;
}

.du-an-tieu-bieu__danh-muc-filter .nice-select {
    margin-bottom: 0;
}

.du-an-tieu-bieu__tabs {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 13px;
    padding: 11px 22px;
    border-radius: 999px;
    border: 1px solid #F2482C;
    max-width: 850px;
    margin: 0 auto;
}

.du-an-tieu-bieu__tab {
    margin: 0;
    border: none;
    outline: none;
    background-color: transparent;
    color: #F2482C;
    transition: all 0.3s ease;
    border-radius: 50px;
    padding: 12.5px 10px;
    text-transform: uppercase;
    font-weight: 700;
    cursor: pointer;
}

.du-an-tieu-bieu__tab:hover,
.du-an-tieu-bieu__tab.is-active {
    background: #F2482C;
    color: #fff;
}

.du-an-tieu-bieu__tab.is-active {
    color: #fff !important;
}

.du-an-tieu-bieu__grid {
    margin: 0 -11px;
}

.du-an-tieu-bieu__grid.is-loading {
    opacity: 0.6;
    pointer-events: none;
    transition: opacity 0.2s;
}

.du-an-tieu-bieu__grid .du-an-tieu-bieu__col {
    padding: 11px;
}

.du-an-da-thuc-hien .du-an-tieu-bieu__tabs {
    max-width: 528px;
}

.du-an-da-thuc-hien__overflow-col {
    width: 100%;
    max-width: 100%;
    padding: 11px;
}

.du-an-da-thuc-hien__overflow-wrap {
    position: relative;
    padding: 0;
}

.du-an-da-thuc-hien__overflow-slide .du-an-tieu-bieu__col {
    padding: 11px;
}

.du-an-da-thuc-hien__overflow-swiper .swiper-slide {
    display: block !important;
    height: auto;
}

.du-an-da-thuc-hien__overflow-pagination {
    margin-top: 18px;
    text-align: center;
}

.du-an-da-thuc-hien__overflow-pagination .swiper-pagination-bullet {
    background: #FFE6E1;
    opacity: 1;
    margin: 0 3px;
    width: 12px;
    height: 12px;
}

.du-an-da-thuc-hien__overflow-pagination .swiper-pagination-bullet-active {
    opacity: 1;
    background: #898989;
}

.du-an-tieu-bieu__card {
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
    transition: box-shadow 0.25s, transform 0.25s;
    position: relative;
}

.du-an-tieu-bieu__card:hover .du-an-tieu-bieu__body {
    opacity: 1;
    visibility: visible;
}

.du-an-tieu-bieu__badge {
    position: absolute;
    top: 13px;
    right: 14px;
    border-radius: 100px;
    background: rgba(255, 255, 255, 0.6);
    color: #565656;
    padding: 4px 10px;
    font-size: 12px;
    font-weight: 700;
    line-height: 13px;
    text-transform: uppercase;
}

.du-an-tieu-bieu__card:hover {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
    transform: translateY(-2px);
}

.du-an-tieu-bieu__link {
    display: block;
    color: inherit;
    text-decoration: none;
}

.slider-nav-light .flickity-page-dots .dot {
    background-color: #FFF4F2 !important;
    opacity: 0.75 !important;
    border-radius: 50px;
    width: 65px;
    height: 8px;
    border: none !important;
}

.slider-nav-light .flickity-page-dots .dot.is-selected {
    background-color: #B0C8F9 !important;
}

.du-an-tieu-bieu__image {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    display: contents;
}

.du-an-tieu-bieu__image img {
    aspect-ratio: 342/298;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.du-an-tieu-bieu__body {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, rgba(70, 21, 13, 0) 0%, rgba(70, 21, 13, 0.5) 100%);
    display: flex;
    align-items: end;
    justify-content: center;
    padding: 23px 10px;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}


.du-an-tieu-bieu__tag {
    display: inline-block;
    margin-bottom: 0.35rem;
    color: #F2482C;
    font-weight: 600;
}

.du-an-tieu-bieu__title {
    color: #FFE6E1;
    font-family: Mulish;
    font-size: 24px;
    font-weight: 700;
    line-height: 28px;
    text-transform: capitalize;
    margin: 0;
    text-align: center;
    opacity: 0;
    visibility: hidden;
    transform: translateY(50px);
    transition: all 0.3s ease;
}

.du-an-tieu-bieu__card:hover .du-an-tieu-bieu__title {
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
}

.du-an-tieu-bieu__title a {
    color: inherit;
}

.du-an-tieu-bieu__empty {
    padding: 2rem;
    text-align: center;
    color: #666;
}

/* --- Dự án đã thực hiện (UX Block) — style giống Dự án tiêu biểu, dùng chung class du-an-tieu-bieu__* --- */
.Luxion-du-an-da-thuc-hien {
    padding: 2rem 0;
    max-width: 1440px;
    margin: 0 auto;
}

.du-an-da-thuc-hien__filter-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem;
    margin-bottom: 2rem;
    border-bottom: 1px solid #eee;
    padding-bottom: 0.5rem;
}

.du-an-da-thuc-hien__badge-tabs,
.du-an-da-thuc-hien__chu-de-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.du-an-da-thuc-hien__tab {
    padding: 0.5rem 1.25rem;
    border: none;
    background: transparent;
    color: #333;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    cursor: pointer;
    border-radius: 4px;
    transition: background 0.2s, color 0.2s;
}

.du-an-da-thuc-hien__tab:hover {
    background: rgba(242, 72, 44, 0.1);
    color: #F2482C;
}

.du-an-da-thuc-hien__tab.is-active {
    color: #fff !important;
}

.du-an-da-thuc-hien__grid {
    margin-left: -0.75rem;
    margin-right: -0.75rem;
}



.du-an-da-thuc-hien__grid .du-an-da-thuc-hien__col {
    padding: 0.75rem;
    margin-bottom: 1rem;
}

.du-an-da-thuc-hien__card {
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
    transition: box-shadow 0.25s, transform 0.25s;
}

.du-an-da-thuc-hien__card:hover {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
    transform: translateY(-2px);
}

.du-an-da-thuc-hien__link {
    display: block;
    color: inherit;
    text-decoration: none;
}

.du-an-da-thuc-hien__image {
    position: relative;
    padding-top: 75%;
    overflow: hidden;
}

.du-an-da-thuc-hien__image .image-cover,
.du-an-da-thuc-hien__image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.du-an-da-thuc-hien__image .image-zoom:hover img {
    transform: scale(1.05);
}

.du-an-da-thuc-hien__body {
    padding: 1rem 1rem 1.25rem;
    position: relative;
}

.du-an-da-thuc-hien__tag {
    display: inline-block;
    margin-bottom: 0.35rem;
    color: #F2482C;
    font-weight: 600;
}

.du-an-da-thuc-hien__title {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.35;
}

.du-an-da-thuc-hien__title a {
    color: inherit;
}

.du-an-da-thuc-hien__link:hover .du-an-da-thuc-hien__title {
    color: #F2482C;
}

.du-an-da-thuc-hien__empty {
    padding: 2rem;
    text-align: center;
    color: #666;
}

/* Archive dự án (taxonomy danh mục / thẻ) */
.du-an-archive__card {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
}

.du-an-archive__card:hover .du-an-archive__content {
    opacity: 1;
    visibility: visible;
}

.du-an-archive__badge {
    position: absolute;
    top: 13px;
    right: 22px;
    display: inline-block;
    padding: 4px 10px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    background: rgba(255, 255, 255, 0.6);
    color: #565656;
    line-height: 1.2;
    border-radius: 50px;
}

.du-an-archive__empty {
    padding: 2rem;
    text-align: center;
    color: #666;
}

.du-an-archive__grid--tieu-bieu {
    margin-left: -11px;
    margin-right: -11px;
}

.du-an-archive__grid--tieu-bieu .du-an-tieu-bieu__col {
    padding: 11px;
}

.du-an-archive__image {
    position: relative;
    width: 100%;
    height: 100%;
    aspect-ratio: 340/299;
}

.du-an-archive__image {
    position: relative;
    width: 100%;
    height: 100%;
    aspect-ratio: 340/299;
}

.du-an-archive__content {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 50%;
    background: linear-gradient(180deg, rgba(70, 21, 13, 0) 0%, rgba(70, 21, 13, 0.5) 100%);
    display: flex;
    align-items: end;
    justify-content: center;
    padding: 23px 10px;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

.du-an-archive__content-title {
    color: #FFE6E1;
    font-size: 24px;
    font-weight: 700;
    text-transform: capitalize;
    margin: 0;
}

.du-an-archive .page-numbers {
    position: absolute;
    bottom: 80px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
}

.du-an-archive .page-numbers li a:hover {
    color: #fff;
    background-color: #F2482C;
}

.chu-de-filter__item {
    margin: 0;
}

.chu-de-filter__item button {
    margin: 0 !important;
}

/* Filter chủ đề (AJAX) dưới title */
.du-an-archive__filter {
    max-width: 1380px;
    margin: 0 auto;
}

.du-an-archive__filter .nice-select {
    background-color: #F2482C;
}

.du-an-archive__filter .nice-select .nice-select__current {
    color: #fff;
    font-size: 17px;
    font-weight: 700;
    line-height: 25px;
    cursor: pointer;
}

.du-an-archive__filter .nice-select .nice-select__arrow svg path {
    fill: #fff;
}

.du-an-archive__filter.chu-de-filter {
    margin-top: 1rem;
}

.danh-muc-filter {
    margin: 0 auto;
    text-align: right;
}

.danh-muc-filter .nice-select {
    text-align: center;
    border-radius: 50px;
}

.chu-de-filter__list {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    justify-content: center;
    margin: 0 auto;
    gap: 13px;
    padding: 19px 20px;
    border: 1px solid #F2482C;
    border-radius: 50px;
    max-width: 850px;
}

ul.nav-pagination.links>li {
    margin-left: 9px;
    margin-right: 9px;
}

/* Prev / Next: SVG (img/icon-next.svg), prev lật ngang; chữ Trước — Tiếp — ẩn icon font Flatsome */
ul.nav-pagination.links>li>a.prev i,
ul.nav-pagination.links>li>a.next i {
    display: none !important;
}

ul.nav-pagination.links>li>a.prev,
ul.nav-pagination.links>li>a.next {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-family: 'Mulish', sans-serif !important;
    width: auto !important;
    min-width: 98px;
    padding: 0 14px;
    border-radius: 18px;
    background-color: transparent;
    border: 1px solid #B0C8F9;
}

ul.nav-pagination.links>li>a.prev::before {
    content: "";
    flex-shrink: 0;
    width: 18px;
    height: 14px;
    background: url("./img/icon-next.svg") no-repeat center / contain;
    transform: scaleX(-1);
}

ul.nav-pagination.links>li>a.prev::after {
    content: "Trước";
    font-family: 'Mulish', sans-serif !important;
}

ul.nav-pagination.links>li>a.next::before {
    content: "Tiếp";
    font-family: 'Mulish', sans-serif !important;
}

ul.nav-pagination.links>li>a.next::after {
    content: "";
    flex-shrink: 0;
    width: 18px;
    height: 14px;
    background: url("./img/icon-next.svg") no-repeat center / contain;
}

ul.nav-pagination.links>li>a.prev:hover::before,
ul.nav-pagination.links>li>a.next:hover::after {
    filter: brightness(0) invert(1);
}

ul.nav-pagination.links>li>a.prev:hover,
ul.nav-pagination.links>li>a.next:hover {
    background-color: #F2482C;
    color: #fff;
}

.nav-pagination>li>.current,
.nav-pagination>li>a:hover,
.nav-pagination>li>span:hover {
    background-color: #F2482C;
}

.chu-de-filter__btn {
    padding: 0.4em 0.9em;
    border: 1px solid transparent;
    border-radius: 50px;
    background: transparent;
    cursor: pointer;
    color: #F2482C;
    font-size: 16px;
    font-weight: 700;
    line-height: 28px;
    text-transform: uppercase;
}

.chu-de-filter__btn:hover,
.chu-de-filter__btn.is-active {
    background: #F2482C;
    border-color: #F2482C;
    color: #fff;
}

/* Dropdown danh mục (nice-select) */
.danh-muc-filter {
    margin-top: 0.75rem;
}

.nice-select {
    position: relative;
    display: inline-block;
    background-color: transparent;
    border: 1px solid #F2482C;
    margin-bottom: 15px;
    border-radius: 10px;
    cursor: pointer;
}

.nice-select__current {
    display: block;
    padding: 1px 43px 1px 20px;
    border-radius: 50px;
    color: #F2482C;
    font-size: 17px;
    font-weight: 700;
    line-height: 25px;
    cursor: pointer;

}

.nice-select__arrow {
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    width: 14px;
    height: 7px;
    display: inline-table;
}

.nice-select__arrow svg path {
    fill: #F2482C;
}

.nice-select__list {
    position: absolute;
    top: calc(100% + 10px);
    right: -28px;
    margin: 0;
    list-style: none;
    background: #fff;
    border: 1px solid #ccc;
    border-top: none;
    border-radius: 0 0 4px 4px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    max-height: 285px;
    z-index: 100;
    display: none;
    width: 250px;
    height: 285px;
    border-radius: 20px;
    padding: 14px 31px;
    overflow-y: scroll;
}

.nice-select__list::-webkit-scrollbar {
    width: 0px;
}

.nice-select__list::-webkit-scrollbar-thumb {
    background: #D9D9D9;
    border-radius: 10px;
}

.nice-select__list::-webkit-scrollbar-track {
    background: #F2F0F0;
}


.nice-select.is-open .nice-select__list {
    display: block;
}

.nice-select__option {
    cursor: pointer;
    line-height: 28px;
    padding-bottom: 7px;
    border-bottom: 1px solid #D9D9D9;
}

.nice-select__option:hover {
    background: #f5f5f5;
}

#du-an-archive-grid-wrap.is-loading {
    opacity: 0.6;
    pointer-events: none;
    position: relative;
}

#du-an-archive-grid-wrap.is-loading::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 32px;
    height: 32px;
    margin: -16px 0 0 -16px;
    border: 3px solid #ddd;
    border-top-color: #F2482C;
    border-radius: 50%;
    animation: luxion-spin 0.6s linear infinite;
}

@keyframes luxion-spin {
    to {
        transform: rotate(360deg);
    }
}

.du-an-single__feature {
    max-width: 756px;
    margin: 0 auto;
}


.du-an-feature--intro>.col {
    padding-bottom: 0;
}

.du-an-archive__grid {
    padding-bottom: 140px;
    position: relative;
    margin-left: auto;
    margin-right: auto;
}

.nav-pagination>li>a,
.nav-pagination>li>span {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #F2F0F0;
    border: none;
    outline: none;
    color: #000;
    color: #333;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.nav-pagination>li>a:hover,
.nav-pagination>li>span:hover {
    background-color: #F2482C;
    color: #fff;
}

.portfolio-slider {
    position: relative;
    padding-right: 25px;
    height: 696px;
}

.portfolio-slider .swiper-pagination-bullet {
    width: 6px;
    height: 65px;
    border-radius: 99px;
    background-color: #FFE6E1;
}

.portfolio-slider .swiper-pagination-bullet-active {
    background-color: #FECFC5;
}

.portfolio-slider .swiper-wrapper {
    position: relative;
}

.portfolio-item {
    padding: 23px 20px 20px;
    border-radius: 25px;
    display: flex;
    background-color: #FFE6E1;
    gap: 30px;
    height: 100%;
}

.portfolio-item:hover {
    background-color: #FECFC5;
}

.portfolio-image {
    width: 181px;
    min-width: 181px;
    aspect-ratio: 1/1;
    border-radius: 15px;
    overflow: hidden;
}

.portfolio-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.portfolio-title {
    color: #F2482C;
    font-size: 28px;
    font-weight: 800;
    text-transform: uppercase;
    margin-bottom: 9px;
}

.portfolio-tag {
    color: #FFF;
    font-size: 16px;
    font-weight: 600;
    line-height: 28px;
    padding: 0 39px 0 10px;
    background-color: #F2482C;
    border-radius: 28px;
    display: block;
    width: fit-content;
    position: relative;
    margin-bottom: 34px;
}

.portfolio-tag span {
    position: absolute;
    top: 50%;
    right: 5px;
    transform: translateY(-50%);
    width: 23px;
    height: 23px;
    display: block;
    border-radius: 50%;
    background-color: #1245C6;
    display: flex;
    align-items: center;
    justify-content: center;
}

.portfolio-desc {
    color: #F2482C;
    font-size: 17px;
    font-weight: 600;
    line-height: 22px;
    margin-bottom: 0;
}

.top-solution {
    position: relative;
    padding: 0 15px;
}

.top-solution-2 {
    padding: 0;
    margin-top: 0px;
}

.top-solution__inner {
    max-width: 1440px;
    border-radius: 30px;
    background: #B0C8F9;
    margin: 0 auto;
    padding: 56px 62px 40px;
}

.top-solution__header {
    margin-bottom: 12px;
    display: flex;
}

.top-solution__title {
    flex: 1;
    color: #1245C6;
    font-size: 40px;
    font-weight: 700;
    text-transform: capitalize;
}

.top-solution-2 .top-solution__title {
    text-align: center;
    margin-bottom: 48px;
}

.top-solution-2 .top-solution__footer {
    align-items: center;
    justify-content: center;
}

.top-solution__desc {
    flex: 1;
}

.solution-card {
    position: relative;
    border-radius: 43px;
    overflow: hidden;
    height: 100%;
    aspect-ratio: 310/418;
    max-width: 310px;
}

.solution-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.solution-card__overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 0 0 43px 43px;
    background: linear-gradient(180deg, rgba(70, 21, 13, 0.00) 20%, rgba(70, 21, 13, 0.50) 100%);
    transition: all 0.3s ease;
    opacity: 0;
    visibility: hidden;
}

.solution-card:hover .solution-card__overlay {
    opacity: 1;
    visibility: visible;
}

.solution-card__label {
    color: #FFF;
    width: fit-content;
    font-size: 24px;
    font-weight: 700;
    text-transform: capitalize;
    position: absolute;
    bottom: 40px;
    text-align: center;
    width: 100%;
    opacity: 0;
    visibility: hidden;
    transform: translateY(50px);
    transition: all 0.3s ease;
}

.solution-card:hover .solution-card__label {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.top-solution__footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    margin-top: 52px;
}

.solution-nav {
    display: flex;
    gap: 12px;
}

.solution-nav .solution-prev,
.solution-nav .solution-next {
    width: 40px;
    height: 40px;
    display: flex;
    background-color: #1245C6;
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    line-height: 28px;
    text-transform: uppercase;
    cursor: pointer;
}

.solution-nav .solution-prev:hover,
.solution-nav .solution-next:hover {
    background-color: #F2482C;
    color: #FFF;
}

.solution-btn-more {
    padding: 0 18.5px;
    height: 41px;
    line-height: 41px;
    display: block;
    width: fit-content;
    background-color: #F2482C;
    border-radius: 50px;
    color: #FFF;
    font-size: 18px;
    font-weight: 400;
}

.solution-btn-more:hover {
    background-color: #1245C6;
    color: #FFF;
}

/* Combo */
.combo {
    position: relative;
    padding: 88px 0 30px;
}

/* If you ever use a variant like: <section class="combo combo-2"> */
section.combo.combo-2 {
    padding: 24px 0 30px;
}

.custom-combo-container {
    display: flex;
    gap: 10px 26px;
    flex-wrap: nowrap;
    justify-content: center;
    width: 100%;
    max-width: 1470px;
    padding: 0 15px;
    margin: 0 auto;
    max-width: 1470px;
    padding: 0 15px;
    margin: 0 auto;
}

.combo-item {
    border-radius: 30px;
    background-color: #FFE6E1;
    padding: 38px 36px 34px;
    flex: 1;
    transition: all 0.5s ease;
    max-height: 355px;
    overflow: hidden;
    min-width: calc(25% - 13px);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
}

.combo-item.active-hover {
    flex: 2;
    min-width: calc(50% - 13px);
}

.combo-item .group-box {
    display: none;
}

.combo-item.active-hover .group-box {
    display: flex;
}

/* Hover interaction for desktop (UX Builder friendly, no JS needed) */
@media (hover: hover) and (pointer: fine) {
    .combo-item:hover {
        flex: 2;
        min-width: calc(50% - 13px);
    }

    .combo-item:hover .group-box {
        display: flex;
    }

    .combo-item:hover .combo-title {
        max-width: 100%;
    }
}

.combo-item .button.primary {
    margin: 0;
}


.combo-item h3 {
    margin-bottom: 15px;
}

.combo-item p {
    margin-bottom: 15px;
    color: #000;
    font-size: 17px;
    font-weight: 400;
    line-height: 23px;
    margin-bottom: 28px;
}

.combo-item .group-box {
    align-items: center;
    flex-wrap: wrap;
    gap: 15px 0;
}

.combo-item .combo-desc {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 69px;
}

.combo-item.active-hover .combo-desc {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 35px;
}

.combo-item a.button {
    text-transform: capitalize;
}

.combo-item:first-child .combo-title {
    max-width: 100%;
}

.combo-item .combo-desc+.group-box {
    margin-bottom: 55px;
}

.combo-desc+.button.primary {
    margin-top: 22px;
}

.combo-item .group-box .group-item {
    display: flex;
    align-items: center;
    gap: 7px;
    color: #F2482C;
    font-size: 16px;
    font-weight: 700;
    line-height: 23px;
}

.combo-item .group-box .group-item+.group-item {
    margin-left: 25px;
    padding-left: 40px;
    position: relative;
}

.combo-item .group-box .group-item+.group-item::before {
    content: '+';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    font-size: 24px;
    color: #F28D2A;
}

.combo-item .combo-title {
    max-width: 200px;
}

.combo-item.active-hover .combo-title {
    max-width: 100%;
}

.p-brand {
    background-color: #FFF4F2;
}

.p-brand-swipper {
    max-width: 1045px;

}

.p-brand-swipper-wrap {
    max-width: 1045px;
    margin: 0 auto;
    position: relative;
}

.p-brand-swipper {
    max-width: none;
}

.p-brand-swipper .swiper-wrapper {
    margin: 0 auto;
    align-items: center;
}

.p-brand-title {
    text-align: center;
    margin-bottom: 47px;
}

.p-brand {
    padding: 139px 0 132px;
    position: relative;
}

.p-brand .swiper-wrapper {
    text-align: center;
}

/* Fallback (nếu có section cũ không có .p-brand-swipper-wrap) */
.p-brand>.swiper-button {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    justify-content: space-between;
    width: 1378px;
}

.p-brand .swiper-slide {
    margin: 0;
}

.p-brand-swipper-wrap .swiper-button {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    justify-content: space-between;
    width: 1378px;
}

.swiper-button .swiper-button-prev,
.swiper-button .swiper-button-next {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #1245C6;
}

.swiper-button .swiper-button-prev:after,
.swiper-button .swiper-button-next:after {
    font-size: 17px;
    color: #fff;
}

.p-brand .swiper-slide {
    display: flex;
    align-items: center;
    justify-content: center;
}

.p-brand img {
    width: 100%;
    height: auto;
    object-fit: contain;
    max-height: 70px;
}

.p-brand .p-brand-slide-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}

.p-brand .luxion-client-carousel-placeholder {
    font-size: 12px;
    color: #999;
    padding: 12px;
    border: 1px dashed #ccc;
    border-radius: 6px;
}

#post-list .page-numbers {
    width: 100%;
    display: flex;
    list-style: none;
    justify-content: center;
    gap: 20px;
}

#post-list .page-numbers li {
    margin: 0;
}

#post-list .page-numbers li span.current {
    background-color: #F2482C;
    color: #fff;
}

#post-list .page-numbers li span,
#post-list .page-numbers li a {
    display: flex;
    width: 47px;
    aspect-ratio: 1/1;
    background-color: #F2F0F0;
    justify-content: center;
    align-items: center;
    border-radius: 50px;
    color: #333;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 25px;
    transition: all 0.3s ease;
}

#post-list .page-numbers li:hover a,
#post-list .page-numbers li:hover span {
    background-color: #F2482C;
    color: #fff;
}

#post-list .page-numbers li a {
    display: flex;
    width: 47px;
    aspect-ratio: 1/1;
    background-color: #F2F0F0;
    justify-content: center;
    align-items: center;
    border-radius: 50px;
    color: #333;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 25px;
}

#post-list .page-numbers.prev,
#post-list .page-numbers.next {
    width: 120px;
    height: 47px;
    aspect-ratio: unset;
    display: flex;
    gap: 10px;
    transition: all 0.3s ease;
}

#post-list.blog-archive-grid .page-numbers.prev,
#post-list.blog-archive-grid .page-numbers.next {
    background-color: transparent;
    border: 1px solid #B0C8F9;
}

#post-list.blog-archive-grid .page-numbers.prev:hover,
#post-list.blog-archive-grid .page-numbers.next:hover {
    border: 1px solid #F2482C;
}

.entry-content.single-page .fancybox.image img {
    margin-bottom: 20px;
}

#post-list .page-numbers.prev:hover,
#post-list .page-numbers.next:hover {
    background-color: #F2482C;
    color: #fff;
}

#post-list .page-numbers.prev::before {
    content: "";
    flex-shrink: 0;
    width: 18px;
    height: 14px;
    background: url("./img/icon-next.svg") no-repeat center / contain;
    transform: scaleX(-1);
}

#post-list .page-numbers.next::after {
    content: "";
    flex-shrink: 0;
    width: 18px;
    height: 14px;
    background: url("./img/icon-next.svg") no-repeat center / contain;
}

#post-list .page-numbers.prev:hover::before,
#post-list .page-numbers.next:hover::after {
    filter: brightness(0) invert(1);
}

.post .entry-image {
    aspect-ratio: 442/341;
    border-radius: 30px;
    overflow: hidden;
}

.post .entry-image a {
    display: block;
    width: 100%;
    height: 100%;
}

.post .entry-content {
    padding: 20px 10px 0;
}

.entry-content-category a {
    color: #B3B3B3;
    font-size: 15px;
    font-style: normal;
    font-weight: 400;
    line-height: 25px;
    display: flex;
    align-items: center;
}

.entry-content-category a:before {
    content: "";
    width: 4px;
    height: 4px;
    background-color: #B3B3B3;
    border-radius: 50%;
    display: inline-block;
    margin-right: 8px;
}

.entry-content-title h2 a {
    overflow: hidden;
    color: #333;
    text-overflow: ellipsis;
    font-size: 24px;
    font-weight: 700;
    line-height: 30px;
    text-transform: capitalize;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    align-self: stretch;
}

.post .entry-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media(max-width:768px) {

    .p-brand .swiper-button {
        display: none;
    }

}

.p-testimonial {
    position: relative;
    padding: 106px 0 124px;
    text-align: center;
    max-width: 1320px;
    margin: 0 auto;
}

.p-testimonial__title {
    text-align: center;
    margin-bottom: 28px;
}

.p-testimonial__desc {
    text-align: center;
    margin-bottom: 47px;
    max-width: 610px;
    margin: 0 auto;
    color: #000;
    text-align: center;
    font-size: 18px;
    font-weight: 400;
    line-height: 25px;
    margin-bottom: 40px;
}

.p-testimonial-item {
    border-radius: 33px;
    background: #FFE6E1;
    padding: 45px 32px 26px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    color: #333;
    text-align: center;
    font-size: 18px;
    font-weight: 700;
    line-height: normal;
    max-width: 401px;
}

.p-testimonial-item img {
    width: 86px;
    aspect-ratio: 1/1;
    margin-bottom: 36px !important;
}

.p-testimonial-item img {
    margin-bottom: 17px;
}

.p-testimonial-item .rating {
    margin-top: 30px;
    margin-bottom: 30px;
}

.p-testimonial-item h4 {
    margin-bottom: 0px;
    color: #333;
    text-align: center;
    font-size: 18px;
    font-weight: 700;
    line-height: 22px;
    margin-bottom: 3px;
}

.p-testimonial__position {
    color: #000;
    font-size: 14px;
    font-weight: 400;
    line-height: 22px;
}

.p-testimonial .swiper-pagination {
    bottom: 84px;
}

.p-testimonial .swiper-pagination .swiper-pagination-bullet {
    width: 12px;
    height: 12px;
    background-color: #FFE6E1;
    opacity: 1;
}

.p-testimonial .swiper-pagination .swiper-pagination-bullet-active {
    background-color: #898989;
}

/* circle list */
.circle-list {
    display: flex;
    list-style: none;
    max-width: 1100px;
    margin: 0 auto;
}

.circle-list li {
    display: flex;
    list-style: none;
    width: calc(25% + 50px);
    aspect-ratio: 1/1;
    border-radius: 50%;
    border: 1px solid #D9D9D9;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 -25px !important;
    color: #1245C6;
    text-align: center;
    font-size: 24px;
    font-weight: 700;
    line-height: normal;
    text-transform: capitalize;
}

.gtcl-title {
    margin-bottom: 53px;
}

.s2-about {
    padding-top: 97px !important;
    padding-bottom: 99px !important;
    background-color: #F2482C;
    text-align: center;
}

.s2-about h2 {
    color: #fff;
    margin-bottom: 12px;
}

.s2-about p {
    color: #fff;
    margin-bottom: 35px;
}

.s2-about .img {
    max-width: 70px;
    margin: 0 auto;
}

.tab-dv .button.primary {
    color: #F2482C;
    border-color: #1245C6;
}

.design-process__title {
    margin-bottom: 59px;
}

.title-tab-dv {
    margin-bottom: 37px;
}

.tab-dv .nav {
    justify-content: center;
    width: 600px;
    margin: 0 auto;
    border: 1px solid #F2482C;
    padding: 11px;
    border-radius: 99px;
}

.tab-dv .nav .tab a {
    height: 53px;
    border: none;
    outline: none;
    padding: 0 10px;
    border-radius: 50px;
    color: #F2482C;
    font-size: 16px;
    font-weight: 700;
    line-height: 28px;
    text-transform: uppercase;
}

.tab-dv .nav .tab a::before {
    display: none;
}

.tab-dv .nav .tab.active a {
    background-color: #F2482C;
    color: #FFF4F2;
}

.tab-dv .tab-panels {
    padding-top: 58px;
}

.gtcl {
    padding: 60px 0 90px !important;
}


.tab-dv__title {
    max-width: 389px;
    margin-bottom: 21px;
}

.tab-dv__price {
    padding: 13px 11px;
    border-radius: 50px;
    background-color: #F2482C;
    color: #FFF;
    font-size: 22px;
    font-weight: 700;
    line-height: 25px;
    text-transform: uppercase;
    margin-bottom: 46px;
    width: fit-content;
}

.tab-dv__desc {
    color: #000;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 25px;
    max-width: 386px;
    margin-bottom: 107px;
}

.tab-dv__btn {
    padding: 5px 11px;
    color: #F2482C;
    font-size: 18px;
    font-weight: 700;
    line-height: 25px;
    text-transform: uppercase;
}

.features-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px 16px;
}

.feature-item {
    padding: 23px 21px 18px;
    border: 1px solid #B0C8F9;
    background-color: transparent;
    border-radius: 25px;
    transition: all 0.3s ease;
}

.feature-item:hover {
    background-color: #F2F8FF;
}

.feature-icon {
    margin-bottom: 12px;
}

.feature-icon img {
    max-width: 100%;
    height: auto;
    display: block;
}

.feature-label {
    color: #F2482C;
    font-size: 22px;
    font-weight: 700;
    line-height: 27px;
    text-transform: capitalize;
    margin-bottom: 12px;
    margin-bottom: 11px;
}

.feature-desc {
    margin-bottom: 0;
    color: #333;
    font-size: 17px;
    font-weight: 400;
    line-height: 22px;
}

.feature-value {
    color: #F2482C;
    font-size: 26px;
    font-weight: 800;
    line-height: 30px;
    text-transform: capitalize;
    margin-bottom: 12px;
}

.design-process {
    text-align: center;
}

.design-process__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px 20px;
}

.design-process__item {
    border-radius: 20px;
    border: 1px solid #B0C8F9;
    padding: 103px 24px 29px;
    position: relative;
}

.design-process__number {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 68px;
    height: 65px;
    border-radius: 0 0 50% 50%;
    background-color: #F2482C;
    color: #F3F3F3;
    text-align: center;
    font-size: 35px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    text-transform: capitalize;
    padding: 10px;
}

.design-process__heading {
    color: #1245C6;
    text-align: center;
    font-size: 24px;
    font-weight: 700;
    line-height: 30px;
    text-transform: capitalize;
    margin-bottom: 24px;
}

.design-process__desc {
    text-align: left;
    color: #000;
    font-size: 16px;
    font-weight: 400;
    line-height: 20px;
    margin: 0;
}

.faq {
    position: relative;

}

.faq .accordion {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
}

.faq-2 .accordion {
    display: grid;
    gap: 18px;
    flex: 1;
}

.faq-2>.col-inner {
    display: flex;
    gap: 24px;
}

.faq:not(.faq-2) .tab-panels {
    max-width: 646px;
    margin-left: auto;
}

.faq:not(.faq-2) {
    max-width: 1254px;
    margin: 0 auto;
}

.faq:not(.faq-2) .nav li a {
    text-transform: capitalize;
}


.faq-2 .accordion-title span {
    max-width: 369px;
    color: #000;
    font-size: 20px;
    font-weight: 400;
    line-height: 28px;
    display: block;
}

.faq-box {
    width: 102px;
    height: 30px;
    border: 1px solid #1245C6;
    border-radius: 50px;
    text-align: center;
    line-height: 30px;
    color: #F2482C;
    font-size: 18px;
    font-weight: 700;
    text-transform: uppercase;
}

.faq .tabbed-content {
    display: grid;
    grid-template-columns: 464px 1fr;
    gap: 0px;
    align-items: start;
    align-content: start;
}

.faq .tabbed-content h4 {
    grid-column: 1;
}

.faq .tabbed-content .nav {
    grid-column: 1;
}

.faq .tabbed-content .tab-panels {
    grid-column: 2;
    grid-row: 1 / span 2;
}

.faq .tabbed-content h4 {
    color: #1245C6;
    font-size: 40px;
    font-weight: 700;
    line-height: normal;
    text-transform: capitalize;
    margin-bottom: 82px;
}

.faq .nav {
    flex-direction: column;
    max-width: 257px;
    gap: 22px;
}

.faq .nav li {
    margin: 0;
    width: 100%;

}

.faq .nav li a {
    border-radius: 25px;
    border: 1px solid #1245C6;
    padding: 0;
    height: 37px;
    width: 100%;
    text-align: center;
    display: block;
    line-height: 37px;
    transition: all 0.3s ease;
    color: #1245C6;
    font-size: 20px;
    font-weight: 700;
}

.faq .nav li:hover a,
.faq .nav li.active a {
    background-color: #1245C6;
    color: #fff;
}

.faq .tab-panels {
    padding-top: 0;
}

.faq .faq-tab-desc {
    color: #898989;
    font-size: 18px;
    font-weight: 600;
    line-height: 28px;
    margin-bottom: 62px;
}

.faq .accordion-item {
    border-radius: 20px;
    border: 1px solid #D9D9D9;
}

.faq .accordion-item .accordion-title {
    padding: 20px 70px 20px 30px;
    border: none;
    position: relative;
}

.faq .accordion-item .accordion-title.active {
    background-color: transparent;
}

/* Accordion: dùng before/after làm + khi chưa active, − khi active (không dùng icon-angle-down) */
.accordion-item .accordion-title .toggle {
    position: absolute;
    width: 22px;
    height: 22px;
    top: 11px;
    right: 12px;
    left: unset;
    padding: 0;
    border: none;
    background: transparent;
    font-size: 0;
    vertical-align: middle;
    margin: 0;
    opacity: 1;
}

.accordion-item .accordion-title .toggle>* {
    display: none !important;
}

.accordion-item .accordion-title .toggle::before,
.accordion-item .accordion-title .toggle::after {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background: currentColor;
    transition: transform 0.2s ease, opacity 0.2s ease;
    border-radius: 5px;
    background-color: #1245C6;
}

/* Gạch ngang (nét −) */
.accordion-item .accordion-title .toggle::before {
    width: 20px;
    height: 5px;
}

/* Gạch dọc (nét |) → cùng với before tạo dấu + */
.accordion-item .accordion-title .toggle::after {
    width: 5px;
    height: 20px;
}

/* Active: ẩn gạch dọc → chỉ còn gạch ngang (dấu −) */
.accordion-item .accordion-title.active .toggle::after {
    opacity: 0;
    transform: translate(-50%, -50%) rotate(90deg);
}

.faq .accordion-item .accordion-title {
    color: #000;
    font-size: 20px;
    font-weight: 600;
    line-height: 28px;
}

.faq .accordion-inner {
    padding: 0 30px 0;
}

.faq .accordion-inner p {
    color: #898989;
    font-size: 17px;
    font-weight: 400;
    line-height: 22px;
}

/* contact */

.contact h1 {
    margin-bottom: 36px;
}

.contact .contact-desc {
    max-width: 747px;
    margin: 0 auto;
    margin-bottom: 57px;
}

.contact-info {
    justify-content: center;
    max-width: 1017px;
    gap: 81px;
    margin-bottom: 64px;
}

.contact-info .col {
    padding: 0;
    margin: 0;
    width: 100%;
    max-width: 285px;
    text-align: center;
    border-radius: 25px;
    border: 2px solid #B0C8F9;
    padding: 27px 34px 21px;
}

.contact-info .col .col-inner p:first-child {
    margin-bottom: 4px;
}

.contact-info .col .col-inner .contact-box__title {
    color: #1245C6;
    font-size: 20px;
    font-weight: 700;
    line-height: 28px;
    margin-bottom: 17px;
}

.contact-info .col .col-inner .contact-box__text {
    color: #1245C6;
    text-align: center;
    font-size: 18px;
    font-weight: 500;
    line-height: 25px;
    margin: 0;
}

.contact-map .section-content {
    display: flex;
    padding: 42px 46px 36px;
    background-color: #fff1ee;
    border-radius: 40px;
    gap: 52px;
}

.contact-map .section-content iframe {
    border-radius: 40px;
}

.contact-footer .section-content {
    max-width: 816px;
    margin: 0 auto;
}

.contact-footer .ddk {
    max-width: 174px;
}

.contact-footer p {
    color: #333;
    font-size: 18px;
    font-weight: 600;
    line-height: 28px;
}

.contact-footer p img {
    margin-right: 11px;
}

.lux-review {
    background-color: #F2482C;
    padding: 65px 85px 43px 97px;
    border-radius: 52px;
    position: relative;
}

.lux-review-bg {
    position: absolute;
    left: 0;
    bottom: 0;
}

.lux-review-header {
    display: flex;
    align-content: flex-start;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 30px;
}

.lux-review-rating {
    display: flex;
    flex-wrap: nowrap;
    min-width: 291px;
    align-items: center;
    background-color: #FFE6E1;
    padding: 4px 6px;
    border-radius: 50px;
    gap: 10px;
}

.lux-review-rating .lux-review-text {
    color: #1245C6;
    font-size: 18px;
    font-weight: 400;
    line-height: 25px;
}

.lux-stars {
    display: flex;
    align-items: center;
    gap: 8px;
}

.lux-review-content {
    max-width: 861px;
}

.lux-review-content .lux-review-title {
    color: #FFF;
    font-size: 40px;
    font-weight: 700;
    line-height: normal;
    margin-bottom: 14px;
}

.lux-review-content .lux-review-desc {
    color: #FFF;
    font-size: 20px;
    font-weight: 400;
    line-height: 31px;
}

.lux-review-footer {
    margin-top: 106px;
}

.lux-review-items {
    max-width: 861px;
    margin-left: auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 13px;
}

.lux-review-item h4 {
    color: #FFF;
    font-size: 24px;
    font-weight: 700;
    text-transform: capitalize;
    margin-bottom: 8px;
}

.lux-review-item p {
    color: #FFF;
    font-size: 18px;
    font-weight: 400;
    line-height: 25px;
    max-width: 186px;
}

.many-box .col-inner {
    background-color: #FFF4F2;
    padding: 75px 59px 75px 73px;
    border-radius: 68px;
}

.luxion-cta {
    position: relative;
    margin-bottom: 92px;
}

.luxion-cta-inner {
    display: flex;
    justify-content: space-between;
    gap: 30px;
}

.luxion-cta-content {
    width: 100%;
    max-width: 513px;
}

.luxion-cta-title {
    color: #F2482C;
    font-family: Mulish;
    font-size: 55px;
    font-weight: 700;
    line-height: normal;
    text-transform: capitalize;
    margin-bottom: 31px;
}

.luxion-cta-desc {
    color: #333;
    font-size: 20px;
    font-weight: 600;
    line-height: 28px;
    margin-bottom: 40px;
}

.luxion-cta-btn {
    display: inline-flex;
    height: 51px;
    padding: 13px 11px;
    justify-content: center;
    align-items: center;
    gap: 8px;
    border-radius: 25px;
    background: #F2482C;
    color: #FFF;
    font-size: 18px;
    font-weight: 700;
    line-height: 25px;
    text-transform: uppercase;
}

.luxion-cta-media {
    width: 100%;
    max-width: 674px;
}

.lux-team {
    position: relative;
    margin-bottom: 72px;
}

.lux-team-inner {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 30px;
}

.lux-team-media {
    width: 100%;
    max-width: 664px;
}

.lux-team-media .lux-team-grid {
    display: grid;
    gap: 50px 24px;
    align-items: center;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
}

.lux-team-grid img {
    width: 100%;
    object-fit: cover;
    border-radius: 32px;
    aspect-ratio: 320/348;
}

.lux-team-grid img:nth-child(1) {
    grid-column: 1;
    grid-row: 1;
}

.lux-team-grid img:nth-child(2) {
    grid-column: 1;
    grid-row: 2;
}

.lux-team-grid img:nth-child(3) {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: center;
}

.lux-team-content {
    width: 100%;
    max-width: 513px;
}

.lux-team-title {
    color: #1245C6;
    font-size: 55px;
    font-weight: 700;
    line-height: normal;
    text-transform: capitalize;
    margin-bottom: 31px;
}

.lux-team-desc {
    color: #333;
    font-size: 20px;
    font-weight: 600;
    line-height: 28px;
    margin-bottom: 31px;
}

.lux-quality {
    position: relative;
    margin-bottom: 72px;
}

.lux-quality.m0 {
    margin-bottom: 0;
}

.lux-quality-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
}

.lux-quality-content {
    max-width: 719px;
    width: 50%;
}

.lux-quality-title {
    max-width: 513px;
    color: #1245C6;
    font-size: 55px;
    font-weight: 700;
    line-height: normal;
    text-transform: capitalize;
    margin-bottom: 44px;
}

.lux-quality-desc {
    color: #333;
    font-size: 20px;
    font-weight: 600;
    line-height: 28px;
    margin: 0;
}

.lux-quality-desc + .lux-quality-desc {
    margin-top: 28px;
}

.lux-quality-media img {
    max-width: 100%;
    height: auto;
    display: block;
}

.lux-quality-media-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 200px;
    padding: 24px;
    border-radius: 24px;
    background: rgba(18, 69, 198, 0.06);
    color: #1245C6;
    font-size: 16px;
    font-weight: 600;
    text-align: center;
}

.lux-system {
    position: relative;
    margin-bottom: 94px;
}

.lux-system-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.lux-system-title {
    max-width: 513px;

}

.lux-system-title h2 {
    color: #1245C6;
    font-size: 55px;
    font-weight: 700;
    line-height: normal;
    text-transform: capitalize;
}

.lux-system-text {
    color: #333;
    font-size: 20px;
    font-weight: 600;
    line-height: 28px;
    max-width: 719px;
    width: 50%;
}

.lux-system-images {
    display: flex;
    gap: 30px;
    align-items: flex-start;
    max-width: 100%;
}

.lux-system-images img,
.lux-system-images .lux-system-img-placeholder {
    position: relative;
    width: calc(33.333% - 15px);
}

.lux-system-img-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 180px;
    box-sizing: border-box;
    border-radius: 12px;
    background: rgba(18, 69, 198, 0.06);
    color: #1245C6;
    font-size: 15px;
    font-weight: 600;
}

.lux-system-images > *:nth-child(1) {
    margin-top: 0;
}

.lux-system-images > *:nth-child(2) {
    margin-top: 168px;
}

.lux-system-images > *:nth-child(3) {
    margin-top: 336px;
}

.p-packaging {
    position: relative;
    background-color: #fff4f2;
    padding: 93px 52px 70px;
    border-radius: 40px;
}

.p-packaging-2 {
    max-width: 1031px;
    margin: 105px auto 61px;
}

.p-packaging-title {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    width: fit-content;
    text-align: center;
    color: #f2482c;
    font-size: 32px;
    font-weight: 700;
    line-height: normal;
    text-transform: capitalize;
    border-radius: 50px;
    border: 2px solid #FFE6E1;
    background: #FFF;
    padding: 17px 63px;
    white-space: nowrap;
}

.price-title {
    margin-bottom: 96px;
}

.p-packaging-list {
    display: flex;
    align-items: flex-start;
    gap: 50px;
}

.p-packaging-item {
    width: 100%;
    border: 1px solid #1245C6;
    border-radius: 40px;
    background-color: #fff;
}

.p-packaging-head {
    padding: 31px 12px 23px;
    text-align: center;
}

.package-label {
    color: #FFF;
    font-size: 24px;
    font-weight: 700;
    text-transform: capitalize;
    padding: 4px 34px;
    background-color: #F2482C;
    border-radius: 15px;
    display: block;
    width: fit-content;
    margin: 0 auto 18px;
}

.p-packaging-head h3 {
    color: #F2482C;
    font-size: 26px;
    font-weight: 700;
    text-transform: capitalize;
}

.package-features {
    list-style: none;
    padding: 0 36px;
    margin-bottom: 32px;
}

.package-features li {
    margin: 0 !important;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
    color: #000;
    font-size: 18px;
    font-weight: 400;
    line-height: 25px;
}

.package-features li+li {
    margin-top: 13px !important;
}

.package-features li.check span::before {
    content: '';
    width: 18px;
    height: 18px;
    background-image: url('./img/check.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    display: inline-block;
    margin-right: 12px;
    margin-bottom: -3px;
}

.package-features li.minus span::before {
    content: '';
    width: 18px;
    height: 18px;
    background-image: url('./img/minus.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    display: inline-block;
    margin-right: 12px;
    margin-bottom: -3px;
}

.package-bottom {
    padding: 33px 36px 45px;
    background-color: #1245C6;
    border-radius: 0 0 40px 40px;
    position: relative;
}

.package-bottom ul {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    list-style: none;
    padding: 0;
    margin: 0;
    gap: 13px;
}

.package-bottom ul li {
    margin: 0 !important;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #FFF;
    font-size: 18px;
    font-weight: 400;
    line-height: 25px;
}


.package-bottom li.check span::before {
    content: '';
    width: 18px;
    height: 18px;
    background-image: url('./img/check-white.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    display: inline-block;
    margin-right: 12px;
}

.package-price {
    color: #FFF;
    font-size: 32px;
    font-weight: 800;
    line-height: 25px;
    margin-top: 30px;
    text-align: center;
}

.package-btn {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 50%);
    width: fit-content;
    padding: 8px 25px;
    background-color: #F2482C;
    border-radius: 50px;
    color: #FFF;
    font-size: 18px;
    font-weight: 700;
    line-height: 25px;
}

.launchpad {
    position: relative;
    width: 100%;
}

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

.launchpad-content {
    max-width: 550px;
}

.launchpad-title {
    color: var(--Branding-color---01, #F2482C);
    font-size: 40px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    text-transform: capitalize;
    margin-bottom: 24px;
}

.launchpad-desc {
    color: #000;
    font-size: 18px;
    font-weight: 400;
    line-height: 25px;
    margin-bottom: 15px;
}

.launchpad-highlight {
    color: #1245C6;
    font-size: 22px;
    font-weight: 400;
    line-height: 30px;
    text-transform: capitalize;
    margin-bottom: 35px;
}

.launchpad-highlight strong {
    color: #1245C6;
    font-size: 26px;
    font-weight: 800;
    line-height: normal;
    text-transform: capitalize;
}

.launchpad-btn {
    display: inline-block;
    padding: 10px 25px;
    border-radius: 50px;
    background: #F2482C;
    color: #FFF;
    font-size: 18px;
    font-weight: 700;
    line-height: 25px;
    text-transform: uppercase;
}

.launchpad-image {
    width: 100%;
    max-width: 366px;
    border-radius: 25px;
    overflow: hidden;
}

.service-detail-grid {
    display: flex;
    justify-content: space-between;
    gap: 30px;
}

.service-detail {
    margin-top: 100px;
    border-radius: 45px;
    background: #FFE6E1;
    border-radius: 45px;
    padding: 69px 65px 63px;
    position: relative;
}

.service-detail-title {
    border-radius: 50px;
    border: 2px solid #FFE6E1;
    background: #FFF;
    padding: 17px 63px;
    text-align: center;
    color: #F2482C;
    font-size: 24px;
    font-weight: 700;
    line-height: normal;
    text-transform: capitalize;
    width: fit-content;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
}

.service-label {
    padding: 3px 10px;
    background-color: #1245C6;
    border-radius: 50px;
    height: 23px;
    color: #FFF;
    font-size: 14px;
    font-weight: 700;
    line-height: 30px;
    text-transform: capitalize;
    margin-bottom: 8px;
    display: flex;
    width: fit-content;
    line-height: 1.3;
}

.service-heading {
    color: #F2482C;
    font-size: 26px;
    font-weight: 700;
    line-height: normal;
    text-transform: capitalize;
    margin-bottom: 19px;
}

.service-desc {
    color: #333;
    font-size: 17px;
    font-weight: 400;
    line-height: 22px;
}

.service-list {
    color: #333;
    font-size: 18px;
    font-weight: 700;
    line-height: 30px;
    padding-left: 24px;
}

.service-list li {
    margin-bottom: 0;
}

.service-detail-col {
    max-width: 500px;
}

.service-detail-line {
    height: 345px;
    position: relative;
}

.line-dot {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 30px;
    height: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    background-color: #34C759;
    font-size: 24px;
}

.line-dot::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 22px;
    height: 5px;
    background-color: #fff;
    border-radius: 50px;
}

.line-dot::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 5px;
    height: 22px;
    background-color: #fff;
    border-radius: 50px;
}

.line-dot.top {
    top: 0;
}

.line-dot.bottom {
    bottom: 0;
}

.line {
    width: 2px;
    height: 100%;
    display: block;
    background-color: #1245C6;
}

.service-detail-btn {
    display: inline-block;
    padding: 10px 25px;
    border-radius: 50px;
    background: #F2482C;
    color: #FFF;
    font-size: 18px;
    font-weight: 700;
    line-height: 25px;
    text-transform: uppercase;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 50%);
    display: flex;
    align-items: center;
    gap: 7px;
    width: fit-content;
    white-space: nowrap;
}

.du-an-th {
    margin-top: 94px;
}

.brand-compare {
    display: flex;
    gap: 24px;
    max-width: 1164px;
    margin: 0 auto;
    margin-bottom: 40px;
}

.brand-compare>div {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.brand-item {
    padding: 14px 18px 14px 52px;
    border-radius: 20px;
    border-radius: 20px;
    border: 1px solid #B0C8F9;
    min-height: 84px;
    position: relative;
}

.brand-item-bad::before,
.brand-item-good::before {
    content: '';
    position: absolute;
    left: 5px;
    top: 5px;
    width: 25px;
    height: 25px;
    background-size: contain;
    background-repeat: no-repeat;
}

.brand-item-good::before {
    background-image: url('./img/good.svg');
}

.brand-item-bad::before {
    background-image: url('./img/bad.svg');
}

.brand-item p {
    margin-bottom: 0;
    color: #333;
    font-size: 18px;
    font-weight: 600;
    line-height: 20px;
}

.brand-item-good p {
    color: #1245C6;
}

.team-card {
    background-color: #FFF4F2;
    border-radius: 50px;
    padding: 55px 48px 46px 36px;
}

.team-card-inner {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.team-card-left {
    width: 100%;
    max-width: 549px;
}

.team-name {
    color: #1245C6;
    font-size: 40px;
    font-weight: 700;
    line-height: normal;
    text-transform: capitalize;
    margin-bottom: 17px;
}

.team-role {
    color: #FFF;
    font-size: 18px;
    font-weight: 600;
    line-height: 25px;
    padding: 2px 12px;
    border-radius: 40px;
    background: #1245C6;
    width: fit-content;
    margin-bottom: 40px;
}

.team-specialty {
    color: #F2482C;
    font-size: 18px;
    font-weight: 700;
    line-height: 28px;
    display: flex;
    gap: 23px;
    flex-flow: row wrap;
    margin-bottom: 15px;
}

.team-desc {
    color: #898989;
    font-size: 17px;
    font-weight: 400;
    line-height: 22px;
    margin-bottom: 43px;
}

.du-an-single__tags {
    max-width: 1465px;
    margin: 0 auto;
    padding: 15px;
    border-top: 1px solid #D9D9D9;
    border-bottom: 1px solid #D9D9D9;
    position: relative;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 87px;

}

.du-an-single__tags a {
    color: #1245C6;
    font-size: 18px;
    font-weight: 700;
    line-height: 31px;
    text-transform: capitalize;
    text-transform: lowercase;
}

.du-an-related-carousel {
    max-width: 1470px;
    margin: 0 auto;
    padding: 0 15px;
}

.du-an-related-carousel__slide {
    position: relative;
}

/* Overlay + hover chỉ áp dụng carousel dự án; blog giữ category/title dưới ảnh */
.du-an-related-carousel .blog-related-carousel__slide-content {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 50%;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 0%, rgba(0, 0, 0, 0.50) 100%);
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
    padding: 15px 15px 23px;
    text-align: center;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all 0.3s ease;
}

.du-an-related-carousel .blog-related-carousel__slide-content h3 {
    margin: 0;
    color: #FFE6E1;
    font-size: 24px;
    font-weight: 700;
    line-height: normal;
    text-transform: capitalize;
    text-align: center;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all 0.3s ease;
}

.du-an-related-carousel__slide:hover .blog-related-carousel__slide-content {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.du-an-related-carousel__slide:hover .blog-related-carousel__slide-content h3 {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.du-an-single__tags::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 6px;
    height: 10px;
    background: url(./img/triangle.svg);
    background-repeat: no-repeat;
    background-position: center center;
    transform: translateY(calc(-50%));
}

.du-an-single__tags::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 6px;
    height: 10px;
    background: url(./img/triangle.svg);
    background-repeat: no-repeat;
    background-position: center center;
    transform: translateY(calc(50%));
}

.team-posts {
    display: flex;
    align-items: center;
    gap: 9px;
    color: var(--Branding-color---02, #1245C6);
    font-size: 17px;
    font-weight: 400;
    line-height: 22px;
}

.team-posts svg {
    width: 20px;
    height: auto;
    fill: #1245C6;
}

.team-card-right {
    display: flex;
    flex-direction: column;
    gap: 26px;
    align-items: center;
}

.team-avatar {
    border-radius: 90px;
    overflow: hidden;
}

.team-social {
    display: flex;
    gap: 21px;
}

.team-social a:hover svg path {
    fill: #1245C6;
}

.box-skill {
    h2 {
        margin-bottom: 6px;
    }

    .skill-position {
        color: #1245C6;
        font-size: 24px;
        font-weight: 700;
        line-height: normal;
        text-transform: capitalize;
        max-width: 342px;
    }

    .skill-right p {
        color: #898989;
        font-size: 17px;
        font-weight: 400;
        line-height: 22px;
    }

    .skill-right ul li {
        color: #F2482C;
        font-size: 18px;
        font-weight: 700;
        line-height: 21px;
        margin-bottom: 10px;
    }

}

.box-gift {
    h2 {
        margin-bottom: 51px;
    }

    .project-list {
        max-width: 1226px;
        padding: 0 15px;
        margin: 0 auto;
        display: grid;
        gap: 15px 24px;
        grid-template-columns: 1fr 1fr;
    }

    .project-item {
        border-radius: 23px;
        border: 1px solid #B0C8F9;
        padding: 33px 30px;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .project-name {
        color: #1245C6;
        font-size: 16px;
        font-weight: 800;
        line-height: 25px;
        text-transform: uppercase;
    }

    .project-meta {
        display: flex;
        gap: 33px;
        color: #898989;
        font-size: 16px;
        font-weight: 600;
        line-height: 25px;
        text-transform: uppercase;
    }
}

.author-posts-list {
    display: flex;
    flex-direction: column;
    gap: 48px;
}

.author-post-card {
    display: flex;
    gap: 40px;
}

.author-post-card__image {
    width: 100%;
    max-width: 230px;
    aspect-ratio: 1/1;
    overflow: hidden;
    border-radius: 30px;
}

.author-post-card__image a {
    width: 100%;
    height: 100%;
    display: block;
}

.author-post-card__image a img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.author-post-card__title {
    overflow: hidden;
    color: #333;
    text-overflow: ellipsis;
    font-size: 24px;
    font-weight: 700;
    line-height: normal;
    text-transform: capitalize;
    margin-bottom: 8px;
}

.author-post-card__cats {
    color: #B3B3B3;
    font-size: 15px;
    font-weight: 400;
    line-height: 25px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.author-post-card__cats:before {
    content: '';
    width: 4px;
    height: 4px;
    border-radius: 5px;
    background-color: #B3B3B3;
}

.author-post-card__excerpt {
    overflow: hidden;
    color: #333;
    text-overflow: ellipsis;
    font-size: 17px;
    font-weight: 400;
    line-height: 22px;
}

.author-post-card__button {
    border-radius: 18px;
    border: 1px solid #B0C8F9;
    padding: 9px 16px;
    color: #F2482C;
    font-size: 16px;
    font-weight: 700;
    line-height: 22px;
    display: block;
    width: fit-content;
    margin-top: 14px;
    transition: all 0.3s ease;
}

.author-post-card__button:hover {
    color: #fff;
    border-color: #F2482C;
    background-color: #F2482C;
}

.author-post-card__button:hover svg path {
    fill: #fff;
}

.author-posts-list-loadmore {
    margin-top: 67px;
    text-align: center;
}

.author-posts-list-loadmore button {
    margin: 0 auto;
    color: #fff;
    border-color: #F2482C;
    background-color: #F2482C;
    border-radius: 50px;
}

.mbs {
    display: none;
}

.button-lh {
    padding: 4.5px 7.5px;
    font-weight: 700;
    font-size: 20px;
    line-height: 25px;
    text-transform: uppercase;
    border-radius: 25px;
    border: 0.7px solid #1245C6;
    color: #F2482C;
}

.pricing-section {
    position: relative;
    justify-content: space-between;
}

.pricing-wrapper {
    max-width: 1107px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    gap: 30px;
    flex-wrap: wrap;
}

.pricing-left {
    width: 100%;
    max-width: 536px;
}

.pricing-left h2 {
    color: #F2482C;
    font-size: 40px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    text-transform: capitalize;
    margin-bottom: 25px;
}

.pricing-left p {
    color: #000;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 25px;
}

.pricing-left .saving {
    display: flex;
    gap: 12px;
    align-items: center;
    color: #1245C6;
    font-family: Mulish;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 25px;
    margin-bottom: 29px;
}

.btn-consult {
    padding: 13px 11px;
    border-radius: 25px;
    color: #fff;
    background-color: #F2482C;
    font-size: 16px;
    font-weight: 700;
    line-height: 22px;
    display: block;
    width: fit-content;
    margin-top: 14px;
}

.pricing-card {
    width: 100%;
    max-width: 459px;
    border-radius: 40px 40px 41px 40px;
    border: 1px solid #1245C6;
    background: #FFF;
    padding: 24px 0 0;
}

.pricing-card .group {
    padding: 0 23px;
}

.group-title {
    position: relative;
    border-radius: 50px;
    border: 1px solid #1245C6;
    display: flex;
    gap: 11px;
    align-items: center;
    margin-bottom: 17px;
}

.group-title span {
    position: relative;
    padding: 3px 10px;
    min-width: 127px;
    width: fit-content;
    display: block;
    background-color: #1245C6;
    border-radius: 50px;
    color: #fff;
}

.group-title b {
    color: #F2482C;
}

.pricing-card .item {
    margin-bottom: 12px;
    display: flex;
    justify-content: space-between;
    gap: 20px;
}

.pricing-card .item span {
    display: flex;
    gap: 5px;
    align-items: center;
}

.pricing-card .item:last-child {
    margin-bottom: 18px;
}

.price-footer {
    padding: 24px 16px 23px 24px;
    border-radius: 0 0 40px 40px;
    border: 1px solid #1245C6;
    background: #1245C6;
    display: flex;
    justify-content: space-between;
    gap: 5px;
}

.price-footer .price-main {
    color: #FFF;
    font-family: Mulish;
    font-size: 30px;
    font-style: normal;
    font-weight: 800;
    line-height: 25px;
}

.price-footer .price-old {
    color: #FFE6E1;
    font-family: Mulish;
    font-size: 18px;
    font-style: normal;
    font-weight: 600;
    line-height: 25px;
    text-decoration-line: line-through;
}

.contact-box-header {
    position: relative;
}

.column-faqs {
    max-width: 1350px;
    margin: 80px auto 0;
}

@media screen and (max-width: 1440px) {

    .row.row-collapse,
    .combo-row,
    .du-an-tieu-bieu,
    .p-testimonial {
        padding-left: 15px;
        padding-right: 15px;
    }

}

@media screen and (max-width: 1400px) {
    .p-packaging-list {
        gap: 30px;
    }
}

.main-menu-overlay {
    background-color: #000000 !important;
}

.luxion-floating-icons {
    display: flex;
    flex-direction: column;
    position: fixed;
    right: 40px;
    bottom: 60px;
    gap: 6px;
    z-index: 999;
}

.luxion-floating-icon {
    width: 67px;
    height: 67px;
    background-color: #F2482C;
    box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.08);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.luxion-floating-icon img {
    max-width: 34px;
}

.luxion-floating-icon .luxion-back-to-top-svg {
    width: 6px;
    height: 46px;
    display: block;
}

/* Back-to-top (Luxion): chỉ hiện khi .active (logic: cách đáy <= 395px) */
#luxion-top-link.luxion-back-to-top:not(.active) {
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    transform: translateY(8px);
}

#luxion-top-link.luxion-back-to-top.active {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
    transform: none;
    transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;
}

.luxion-back-to-top {
    position: absolute !important;
    width: 71px;
    height: 71px;
    background-color: #1245C6 !important;
    box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.08);
    border: none !important;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    bottom: 375px;
    right: 130px;
}

.back-to-top span {
    display: block;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
}

.box-skill {
    display: flex;
    max-width: 983px;
    padding: 0 15px;
    flex-wrap: wrap;
    width: 100%;
    margin: 0 auto;
}

.box-skill .block-pro-services {
    padding-left: 30px;
}

.box-skill>div {
    width: 50%;
    max-width: 50%;
}

.ve-chung-toi-button {
    border-radius: 50px;
    padding-left: 36px;
    position: relative;
    line-height: 49px;
    font-weight: 400;
    margin-top: 6px;
}

.ve-chung-toi-button svg {
    position: absolute;
    top: 50%;
    left: 11px;
    transform: translateY(-50%);
}

.vctdt {
    margin-top: 74px;
}

.vctdt h1 {
    margin-bottom: 72px;
}

@media screen and (max-width: 1200px) {
    .header-wrapper {
        box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
    }

    .giai-phap {
        display: none;
    }

    .header .header-main {
        height: 75px;
    }

    .nav-sidebar.nav-vertical>li+li {
        border: none;
    }

    .nav.nav-vertical::-webkit-scrollbar {
        display: none;
        width: 0;
    }

    .off-canvas .nav-vertical>li>a {
        padding-top: 10px;
        padding-bottom: 10px;
    }

    .nav-slide-header .toggle {
        color: #F2482C;
        font-size: 20px;
        font-style: normal;
        font-weight: 600;
        line-height: 28px;
        opacity: 1;
    }

    .giai-phap-group__top {
        gap: 10px;
        padding: 0 12px;
    }

    .off-canvas:not(.off-canvas-center) .nav-vertical li>a {
        color: #898989;
        font-size: 20px;
        font-style: normal;
        font-weight: 600;
        line-height: 28px;
        text-transform: capitalize;
    }

    .off-canvas:not(.off-canvas-center) .nav-vertical li>a:hover {
        color: #F2482C;
    }

    .off-canvas-left .mfp-content,
    .off-canvas-right .mfp-content {
        border-radius: 40px 0 0 40px;
        background-color: #fff4f2;
        box-shadow: none;
    }

    .main-menu-overlay {
        background-color: #000000 !important;
    }

    .mobile-sidebar {
        padding: 19px 0 30px 15px;
    }

    /* Logo mobile: nằm ngoài .sidebar-menu để không bị slide theo submenu (xem functions.php) */
    #main-menu.mobile-sidebar>.sidebar-menu-top-content {
        flex-shrink: 0;
        padding: 0 15px 12px 15px;
    }

    #main-menu.mobile-sidebar {
        display: flex;
        flex-direction: column;
        align-items: stretch;
    }

    #logo img,
    .header .stuck #logo img {
        max-height: 46px !important;
    }

    .combo-item .combo-desc+.group-box {
        margin-bottom: 30px;
    }

    .lux-review {
        padding: 30px;
    }

    .lux-review-header {
        flex-direction: column;
    }

    .lux-review-items {
        grid-template-columns: repeat(2, 1fr);
    }

    .lux-review-footer {
        margin-top: 30px;
    }

    .many-box .col-inner {
        padding: 0px;
        border-radius: 0;
        background-color: transparent;
    }

    .luxion-cta-title {
        font-size: 32px;
    }

    .mobile-nav .primary {
        background-color: #F2482C;
    }

    .luxion-cta-inner {
        gap: 30px;
    }

    .lux-team-title {
        font-size: 32px;
    }

    .lux-quality-title {
        font-size: 32px;
        margin-bottom: 12px;
    }

    .lux-quality-desc {
        margin-bottom: 12px;
    }

    .lux-quality-media {
        margin-bottom: 12px;
    }

    .lux-system-title h2 {
        font-size: 32px;
    }

    .luxion-cta-inner {
        flex-direction: column;
    }

    .luxion-cta-content {
        order: 1;
    }

    .giai-phap-group__top h3 {
        font-size: 16px;
    }

    .nav-sidebar.nav-vertical>li.menu-item.active,
    .nav-sidebar.nav-vertical>li.menu-item:hover {
        background-color: transparent;
    }

    .giai-phap-group__bottom .giai-phap-item {
        padding: 2px 12px;
        border-radius: 8px;
        border: 1px solid #FFE6E1;
    }

    .giai-phap-group__bottom .giai-phap-items h4 {
        color: #333;
        font-size: 20px;
        line-height: 1.4;
        margin: 0;
    }

    .giai-phap-group__bottom .giai-phap-items p {
        font-size: 14px;
        line-height: 1.25;
    }

    .luxion-cta-media img {
        border-radius: 25px;
        aspect-ratio: 365/228;
        width: 100%;
    }

    .luxion-cta-title {
        margin-bottom: 15px;
    }

    .luxion-cta-desc {
        margin-bottom: 15px;
    }

    .luxion-cta-button {
        margin-top: 30px;
    }

    .lux-team-inner {
        padding: 28px 14px 0;
        background-color: #FFE6E1;
        border-radius: 30px 30px 0 0;
    }

    .lux-team {
        margin-bottom: 0;
    }

    .lux-team-media .lux-team-grid {
        gap: 12px;
    }

    .lux-team-media {
        width: 45%;
    }

    .lux-team-content {
        width: 55%;
        max-width: 100%;
    }

    .luxion-cta-media {
        max-width: 100%;
    }

    .lux-team-grid img {
        border-radius: 13px;
    }

    .lux-quality {
        background-color: #FFE6E1;
        padding: 48px 14px 0px;
        margin: 0;
    }

    .lux-quality-content {
        width: 50%;
        max-width: auto;
    }

    .lux-quality-media {
        width: 50%;
    }

    .lux-system {
        background-color: #FFE6E1;
        padding: 48px 14px 0px;
        margin: 0;
        display: flex;
        gap: 30px;
    }

    .lux-system-top {
        flex-direction: column;
        order: 2;
        width: 60%;
        align-items: flex-start;
        justify-content: flex-start;
    }

    .lux-system-images {
        flex-direction: column;
        gap: 20px;
        order: 1;
        width: 40%;
    }

    .lux-system-images > *:nth-child(2) {
        margin: 0;
    }

    .lux-system-images > *:nth-child(3) {
        margin: 0;
    }

    .lux-system-images img,
    .lux-system-images .lux-system-img-placeholder {
        width: 100%;
    }

    .luxion-cf-popup__form {
        width: auto;
    }

    .lux-system-text {
        width: 100%;
        max-width: 100%;
    }

    .lux-quality:last-child {
        padding-bottom: 40px;
        border-radius: 0 0 30px 30px;
    }

    .p-packaging {
        padding: 80px 30px 60px;

    }

    .p-packaging-list {
        flex-flow: row wrap;
        justify-content: center;
    }

    .p-packaging .p-packaging-item {
        width: calc(50% - 15px);
    }

    .mobile-nav .header-button {
        --luxion-menu-icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2222%22%20height%3D%2220%22%20viewBox%3D%220%200%2022%2020%22%20fill%3D%22none%22%3E%3Crect%20width%3D%2222%22%20height%3D%223.33333%22%20fill%3D%22%23FFE6E1%22%2F%3E%3Crect%20y%3D%228.33331%22%20width%3D%2222%22%20height%3D%223.33333%22%20fill%3D%22%23FFE6E1%22%2F%3E%3Crect%20y%3D%2216.6667%22%20width%3D%2222%22%20height%3D%223.33333%22%20fill%3D%22%23FFE6E1%22%2F%3E%3C%2Fsvg%3E");
        width: 38px;
        height: 34px;
        background-color: #F2482C;
        background-image: var(--luxion-menu-icon-svg);
        background-repeat: no-repeat;
        background-position: center;
        background-size: 22px 20px;
        border-radius: 6px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .mobile-nav .header-button a {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        background: transparent !important;
        background-image: none !important;
        border: none !important;
        box-shadow: none !important;
    }

    .mobile-nav .header-button a i {
        display: none !important;
    }

    .contact-box-header {
        width: 100%;
    }

    .contact-buttons {
        display: flex;
        flex-direction: column;
        gap: 10px;
        padding-top: 19px;
        padding-bottom: 19px;
        border-top: 1px solid #D9D9D9;
        border-bottom: 1px solid #D9D9D9;
        position: relative;
        margin-bottom: 19px;
    }

    .contact-buttons::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 6px;
        height: 10px;
        background: url(./img/triangle.svg);
        background-repeat: no-repeat;
        background-position: center center;
        transform: translateY(calc(-50% - 1px));
    }

    .contact-buttons::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        width: 6px;
        height: 10px;
        background: url(./img/triangle.svg);
        background-repeat: no-repeat;
        background-position: center center;
        transform: translateY(calc(50% + 1px));
    }

    .contact-buttons a {
        width: fit-content;
        height: 35px;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 11px;
        min-width: 168px;
        border-radius: 30px;
        color: #FFF;
        font-size: 18px;
        font-style: normal;
        font-weight: 600;
        line-height: 25px;
        padding: 0 11px;

    }

    .contact-buttons a.btn-call {
        background-color: #1245C6;
        color: #fff;
    }

    .contact-buttons a.btn-zalo {
        background-color: #08F;

    }

    .contact-buttons a.btn-zalo img {
        width: 24px;
        height: 24px;
    }

    .contact-item {
        display: flex;
        gap: 12px;
    }

    .contact-item svg {
        margin-top: 4px;
    }

    .contact-item:last-child {
        margin-bottom: 50px;
    }

    .contact-item strong {
        color: #1245C6;
        font-size: 18px;
        font-style: normal;
        font-weight: 700;
        line-height: 28px;
    }

    .contact-item p {
        color: #8E8E93;
        font-size: 16px;
        font-style: normal;
        font-weight: 500;
        line-height: 18px;
    }

    .contact-item+.contact-item {
        margin-top: 10px;
    }

    .giai-phap-group__bottom .giai-phap-items {
        grid-template-columns: 1fr;
        gap: 6px;
    }

    .giai-phap-right {
        display: none;
    }

    .giai-phap__title {
        display: none;
    }

    .giai-phap-item svg {
        display: none;
    }

    .giai-phap-group__bottom {
        padding: 12px;
    }

    .sub-menu {
        padding-top: 0 !important;
    }
}


@media (max-width: 1024px) {
    .custom-combo-container {
        flex-direction: column;
        padding: 36px 0 0;
    }

    .combo-item .combo-title {
        max-width: 100%;
    }

    .combo-item .combo-desc {
        min-height: auto;
    }

    .combo-item .combo-desc {
        display: none;
    }

    .combo-item .button.primary {
        height: 36px;
        text-transform: capitalize;
        font-weight: 400;
        font-size: 17px;
    }
}

@media screen and (max-width: 991px) {

    .contact-box {
        flex-direction: column;
        gap: 30px;
    }

    .contact-box__left {
        padding: 0;
        width: 100%;
    }

    .contact-box__left__social {
        margin-top: 20px;
    }

    .contact-box__left img {
        margin-bottom: 30px;
    }

    .contact-box__right .wpcf7 {
        max-width: 100%;
    }

    .faq {
        padding: 0 !important;
    }

    .faq .faq-box {
        margin: 0 auto;
        margin-bottom: 5px;
    }

    .faq h4 {
        text-align: center;
    }

    .faq .tabbed-content {
        grid-template-columns: 1fr;
    }

    .faq .tabbed-content .tab-panels {
        grid-column: unset;
        grid-row: unset;
    }

    .faq .tabbed-content h4 {
        margin-bottom: 20px;
    }

    .faq .nav {
        width: 100%;
        display: flex;
        flex-flow: row wrap;
        gap: 10px;
        max-width: 100%;
        justify-content: center;
        margin-bottom: 20px;
    }

    .faq .faq-tab-desc {
        margin-bottom: 15px;
    }

    .faq .nav li {
        width: fit-content;
    }

    .faq .nav li a {
        padding: 3px 9px;
        color: #1245C6;
        text-align: center;
        font-size: 16px;
        font-weight: 700;
        line-height: 28px;
        /* 175% */
    }

    .portfolio-item {
        gap: 20px;
        align-items: flex-start;
        padding: 18px 9px;
    }

    .portfolio-image {
        width: 96px;
        min-width: 96px;
    }

    .portfolio-tag {
        margin-bottom: 12px;
        width: 100%;
    }

    .portfolio-tag span {
        right: 2px;
    }
}

.contact-container {
    max-width: 1017px;
    margin: 0 auto;
    display: flex;
    gap: 30px;
    flex-flow: row wrap;
    justify-content: center;
    align-items: center;
    margin-bottom: 64px;
}

.contact-container .contact-item {
    width: 100%;
    max-width: 285px;
    padding: 27px 33px 21px;
    text-align: center;
    border-radius: 25px;
    border: 2px solid #B0C8F9;
    height: 100%;
    min-height: 179px;
}

.contact-container .contact-item .contact-title {
    color: #1245C6;
    font-size: 20px;
    font-weight: 700;
    line-height: 28px;
}

.contact-container .contact-item .contact-text {
    color: #1245C6;
    text-align: center;
    font-size: 18px;
    font-weight: 500;
    line-height: 25px;
    margin: 0;
}

.contact-container .contact-item .contact-text:last-child {
    margin: 0;
}

.svg-desktop {
    display: block;
}

.svg-mobile {
    display: none;
}

.slider-home img {
    aspect-ratio: 1440/544;
}

.custom-img-home img {
    aspect-ratio: 527/279;
}

@media screen and (max-width: 767px) {
    .contact {
        padding: 0 !important;
    }

    .svg-desktop {
        display: none;
    }

    .svg-mobile {
        display: block;
    }

    .contact h1 {
        line-height: 35px;
        margin-bottom: 12px;
    }

    .luxion-back-to-top {
        width: 42px;
        height: 42px;
        bottom: 516px;
        right: 29px;
    }

    #top-link .back-to-top-custom-icon img {
        width: 19px;
        height: 19px;
    }

    /* (removed empty ruleset) */

    .slider-homes .flickity-page-dots {
        display: none;
    }

    .col-mb-0 {
        padding: 0 !important;
    }

    .lux-team-grid img:nth-child(1) {
        grid-column: auto;
        grid-row: auto;

    }

    .lux-team-grid img:nth-child(2) {
        grid-column: auto;
        grid-row: auto;

    }

    .lux-team-grid img:nth-child(3) {
        grid-column: auto;
        grid-row: auto;

    }

    .h-mobile {
        display: none;
    }

    .solution-slider .swiper-wrapper {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
        transform: none !important;
    }

    .solution-slider .swiper-slide {
        width: 100% !important;
    }

    .solution-nav {
        display: none;
    }

    .top-solution__header {
        flex-direction: column;
    }

    .top-solution__inner {
        padding: 22px 18px 24px;
    }

    .solution-card {
        aspect-ratio: 1/1;
    }

    .solution-card__overlay {
        opacity: 1;
        visibility: visible;
    }

    .swiper-slide {
        display: none;
    }

    .swiper-slide:nth-child(1),
    .swiper-slide:nth-child(2),
    .swiper-slide:nth-child(3),
    .swiper-slide:nth-child(4) {
        display: block;
    }

    .top-solution__footer {
        text-align: center;
        justify-content: center;
        margin: 22px 0 0;
    }

    .combo-row {
        flex-direction: column;
        padding: 0;
        margin-top: 24px;
    }

    .top-solution__title,
    .h1,
    .h2 {
        font-size: 24px;
    }

    .combo-item {
        padding: 20px 18px;
    }

    .combo-desc {
        margin-bottom: 7px !important;
    }

    section.combo {
        padding: 0 15px !important;
    }

    .combo-2 p,
    .combo-3 p {
        display: none;
    }

    .combo-2 .button,
    .combo-3 .button {
        margin-top: 0 !important;
    }

    .slider-home {
        border-radius: 24px;
    }

    .slider-home img {
        width: 100%;
        aspect-ratio: 365/263;
        object-fit: cover;
    }

    .slider-home .col-inner {
        display: none;
    }

    .section-home-2 {
        padding-top: 0 !important;
    }

    .mbs {
        display: unset;
    }

    .slider-homes {
        padding-bottom: 0 !important;
    }

    .box-mural {
        padding-top: 0 ! important;
        padding-left: 0 ! important;
        padding-right: 0 ! important;
    }

    .box-mural .row {
        padding-left: 0 ! important;
        padding-right: 0 ! important;
    }

    .portfolio-slider {
        padding-right: 14px;
        padding-left: 14px;
        height: 420px;
    }

    .portfolio-slider .swiper-pagination-bullet {
        width: 4px;
        height: 65px;
    }

    .swiper-pagination-vertical.swiper-pagination-bullets,
    .swiper-vertical>.swiper-pagination-bullets {
        right: 5px;
    }

    .portfolio-item {
        padding: 13px 10px 12px 9px;
        gap: 7px;
    }

    .portfolio-image {
        width: 96px;
        min-width: 96px;
        max-height: 96px;
        height: auto;
    }

    .portfolio-title {
        font-size: 19px;
        margin-bottom: 2px;
    }

    .portfolio-tag {
        margin-bottom: 0;
    }

    .portfolio-desc {
        font-size: 15px;
        line-height: 22px;
        overflow: hidden;
        text-overflow: ellipsis;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
    }

    .solution-card__label {
        bottom: 9px;
        font-size: 17px;
        padding: 0 10px;
        font-weight: 800;
        line-height: 25px;
    }

    .du-an-tieu-bieu__nice-select {
        height: 36px;
        border-radius: 40px;
    }

    .du-an-tieu-bieu__nice-select .nice-select__current {
        font-size: 17px;
        padding: 7px 43px 5px 13px;

    }

    .solution-card {
        border-radius: 24px;
    }

    .solution-card__overlay {
        border-radius: 24px;
    }

    .combo {
        padding: 0;
        margin-top: 8px;
    }

    .combo-item .group-box {
        gap: 5px 32px;
    }

    .combo-item .combo-desc+.group-box {
        margin-bottom: 12px;
    }

    .combo-item .group-box .group-item+.group-item {
        margin: 0;
        padding: 0;
    }

    .combo-item .group-box .group-item+.group-item::before {
        display: none;
    }

    .group-item.group-1 {
        order: 1;
    }

    .group-item.group-2 {
        order: 3;
    }

    .group-item.group-3 {
        order: 2;
    }

    .datb-title {
        margin-bottom: 0;
    }

    .du-an-tieu-bieu {
        padding-top: 24px !important;
    }

    /* Carousel dọc: 3 hàng, tab active luôn căn giữa vùng nhìn */
    .du-an-tieu-bieu__tabs {
        --du-an-tab-row-h: 42px;
        border: none;
        flex-direction: column;
        flex-wrap: nowrap;
        align-items: stretch;
        justify-content: flex-start;
        gap: 0;
        max-width: 225px;
        margin-left: auto;
        margin-right: auto;
        height: calc(3 * var(--du-an-tab-row-h));
        overflow-x: hidden;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
        touch-action: pan-y;
        scroll-snap-type: y mandatory;
        scroll-behavior: smooth;
        padding: var(--du-an-tab-row-h) 0;
        scrollbar-width: none;
        -ms-overflow-style: none;
        border-radius: 0;
    }

    .du-an-tieu-bieu__tabs::-webkit-scrollbar {
        display: none;
    }

    .du-an-tieu-bieu__tab {
        width: 100%;
        max-width: none;
        box-sizing: border-box;
        min-height: var(--du-an-tab-row-h);
        flex: 0 0 var(--du-an-tab-row-h);
        display: flex;
        align-items: center;
        justify-content: center;
        border-top: 1px solid #D9D9D9;
        border-radius: 0;
        scroll-snap-align: center;
        scroll-snap-stop: always;
        background-color: transparent;
        text-align: center;
    }

    .du-an-tieu-bieu__tab:hover,
    .du-an-tieu-bieu__tab.is-active {
        background-color: transparent;
    }

    .du-an-tieu-bieu__tab-inner {
        width: fit-content;
        padding: 0px 10px;
        border-radius: 30px;
        background-color: transparent;
        color: #F2482C;
        font-size: 17px;
        text-transform: capitalize;
        font-weight: 700;
        height: 36px;
        line-height: 36px;
        white-space: nowrap;
    }

    .du-an-tieu-bieu__tab.is-active .du-an-tieu-bieu__tab-inner {
        background-color: #F2482C;
        color: #fff;
    }

    .du-an-tieu-bieu__tab-inner {
        display: block;
        padding: 0 12px;
    }

    .nice-select__current {
        padding: 5px 37px 5px 15px;
    }

    .du-an-tieu-bieu__tab:last-child {
        border-bottom: 1px solid #D9D9D9;
    }

    .p-brand-title {
        margin-bottom: 11px;
    }

    .p-brand {
        padding: 43px 15px;
        text-align: center;
    }

    .p-brand .swiper-slide {
        padding: 17px 10px;
        height: 100%;
        min-height: 93px;
        align-items: center;
        display: flex;
    }

    .p-brand .swiper-slide img {
        max-height: 59px;
    }

    .p-testimonial {
        padding-top: 38px;
        padding-bottom: 71px;
    }

    .p-testimonial-title {
        font-size: 24px;
        margin-bottom: 11px;
    }

    .p-testimonial__title {
        margin-bottom: 9px;
    }

    .p-testimonial__desc {
        margin-bottom: 32px;
    }

    .p-testimonial .swiper-pagination {
        bottom: 35px;
    }

    .p-testimonial-item {
        padding: 15px 13px 14px;
        font-size: 15px;
        font-weight: 600;
    }

    .p-testimonial-item img {
        margin-bottom: 17px;
    }

    .p-testimonial-item .rating {
        margin-top: 15px;
        margin-bottom: 2px;
    }

    .p-testimonial-item h4 {
        margin-bottom: 0px;
    }

    .p-testimonial__position {
        color: #000;
        font-size: 12px;
        font-weight: 400;
        line-height: 16px;
    }

    .circle-list {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 0px;
    }

    .circle-list li {
        margin: 0px !important;
        width: 100%;
        aspect-ratio: 1/1;
        font-size: 20px;
    }

    .gtcl {
        padding: 0px 15px 0 !important;
    }

    .s2-about {
        padding-top: 42px !important;
        padding-bottom: 22px !important;
    }

    .s2-about img {
        width: 56px;
        height: 43px;
    }

    .contact-box {
        flex-direction: column;
        padding: 0;
    }

    .contact-box__left {
        width: 100%;
        padding: 0;
        padding: 24px 18px 0;
    }

    .contact-box__left img {
        display: none;
    }

    .contact-box__left .title {
        font-size: 24px;
        margin-bottom: 11px;
        line-height: 30px;
    }

    .contact-box__left p {
        font-size: 17px;
        margin-bottom: 20px;
    }

    .contact-box__left__social {
        display: none;
    }

    .wpcf7 {
        border-radius: 30px;
        padding: 24px 28px 35px;
    }

    .wpcf7 .cf7-label {
        margin-bottom: 5px;
    }

    .wpcf7 input[type=submit] {
        font-size: 15px;
        height: 45px;
        line-height: 45px;
        padding: 0 49px 0 20px;
        font-weight: 700;
    }

    .wpcf7 .submit-row svg {
        width: 33px;
        bottom: 6px;
        right: 6px;
    }

    .contact-info {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 15px;
    }

    .contact-info {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 15px;
    }

    .image-radius {
        border-radius: 30px;
    }

    .img-dv img {
        aspect-ratio: 365/263;
        object-fit: cover;
    }

    .title-tab-dv {
        margin-bottom: 9px;
    }

    .tab-dv .nav .tab a {
        height: 36px;
        line-height: 36px;
        font-size: 14px;
    }

    .tab-dv .nav {
        padding: 12px 0;
    }

    .tab-dv .tab-panels {
        padding-top: 26px;
    }

    .tab-dv__price {
        padding: 5.5px 15px;
        font-size: 20px;
    }

    .hmb {
        display: none;
    }

    .smb {
        display: block;
    }

    .tab-dv__price {
        margin-bottom: 0;
    }

    .tab-dv__button {
        display: flex;
        align-items: center;
        margin-bottom: 0px;
        gap: 16px;
        flex-wrap: wrap;
    }

    .tab-dv__button p {
        margin: 0;
    }

    .tab-dv__desc {
        margin-bottom: 0;
        order: 2;
        margin-bottom: 38px;
    }

    .tab-dv-inner>.col-inner {
        display: flex;
        flex-direction: column;
    }

    .tab-dv__title {
        order: 1;
    }

    .tab-dv__button {
        order: 3;
    }

    .features-grid {
        grid-template-columns: repeat(1, 1fr);
    }

    .p-testimonial .swiper-pagination .swiper-pagination-bullet {
        width: 10px;
        height: 10px;
    }

    .feature-item {
        padding: 19px 15px 16px;
        position: relative;
    }

    .feature-icon {
        position: absolute;
        top: 19px;
        left: 15px;
    }

    .feature-icon svg {
        width: 31px;
    }

    .feature-icon img {
        width: 31px;
        max-width: 31px;
        height: auto;
    }

    .feature-label {
        padding-left: 44px;
        font-size: 20px;
        line-height: 22px;
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 5px;
    }

    .feature-value {
        font-size: 20px;
        margin: 0;
    }

    .design-process__grid {
        grid-template-columns: repeat(1, 1fr);
    }

    .design-process__number {
        width: 41px;
        height: 43px;
        left: unset;
        right: 29px;
        font-size: 18px;
    }

    .design-process__item {
        padding: 17px 17px 16px;

    }

    .design-process__heading {
        text-align: left;
        margin-bottom: 11px;
        font-size: 20px;
    }

    .du-an-da-thuc-hien {
        padding-top: 0;
    }

    .danh-muc-filter {
        text-align: center;
        margin-bottom: 30px;
    }

    .top-solution__title {
        margin-bottom: 20px;
    }

    .top-solution-2 .swiper-slide {
        margin: 0 !important;
    }

    .solution-btn-more {
        padding: 0 20px;
        font-size: 17px;
        height: 36px;
        line-height: 36px;
    }

    .faq-2 .accordion {
        grid-template-columns: repeat(1, 1fr);
    }

    .faq .accordion-item {
        padding: 0;
        border-radius: 0;
        border-left: none;
        border-right: none;
        border-bottom: none;
    }

    .faq .accordion-item .accordion-title {
        padding: 16px 40px 0 0;
        font-size: 18px;
        line-height: 22px;
    }

    .faq .accordion-inner {
        padding: 12px 9px 0;
    }

    .accordion-item .accordion-title .toggle {
        top: 23px;
        right: 0;
    }

    .accordion-item .accordion-title .toggle::before {
        width: 14px;
        height: 3px;
    }

    .accordion-item .accordion-title .toggle::after {
        width: 3px;
        height: 14px;
    }

    .faq-box {
        margin-bottom: 5px;
    }

    .faq-box+h2 {
        margin-bottom: 3px;
    }

    .faq-box+h2+p {
        margin-bottom: 0;
    }

    .row-faq__2 .text-right {
        text-align: center;
    }

    .lux-review {
        padding: 30px 25px 180px;
        overflow: hidden;
        border-radius: 30px;
    }

    .lux-review-header {
        flex-direction: column;
    }

    .lux-review-items {
        grid-template-columns: repeat(2, 1fr);
    }

    .lux-review-bg {
        width: 320px;
        height: 150px;
    }

    .lux-review-content .lux-review-desc {
        font-size: 17px;
        line-height: 24px;
        margin: 0;
    }

    .lux-review-footer {
        margin-top: 20px;
    }

    .lux-review-footer p {
        margin-bottom: 0;
    }

    .lux-review-item h4 {
        font-size: 20px;
        line-height: 22px;
    }

    .launchpad-inner {
        flex-direction: column;
    }

    .launchpad-content {
        order: 2;

    }

    .launchpad-image {
        order: 1;
        max-width: 100%;
        width: 100%;
        max-width: 100%;
        aspect-ratio: 365/188;
        margin-bottom: 38px;
    }

    .launchpad-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .launchpad-title {
        color: #F2482C;
        font-size: 24px;
        font-weight: 700;
        line-height: 30px;
        text-transform: capitalize;
        margin-bottom: 10px;
        margin-bottom: 7px;
    }

    .launchpad-desc {
        color: #000;
        font-size: 17px;
        font-weight: 400;
        line-height: 22px;
        margin-bottom: 15px;
    }

    .launchpad-highlight {
        margin-bottom: 8px;
    }

    .service-detail-title {
        padding: 8px 48px;
        white-space: nowrap;
    }

    .service-detail {
        padding: 48px 19px;
        margin-top: 56px;
    }

    .service-detail-grid {
        flex-direction: column;
        gap: 15px;
    }

    .service-detail-line {
        height: 2px;
        width: 100%;
    }

    .service-detail-line .line {
        height: 2px;
        width: 100%;
    }

    .line-dot.top {
        left: 0;
        top: 50%;
        transform: translateY(-50%);
    }

    .line-dot.bottom {
        display: none;
    }

    .service-detail-col:last-child {
        margin-top: 30px;
    }

    .service-label {
        padding: 7.5px 12px;
        height: 36px;
        line-height: 21px;
    }

    .service-heading {
        font-size: 20px;
    }

    .service-block+.service-detail-line {
        margin-top: 40px;
        display: block;
    }

    .service-detail-line+.service-block {
        margin-top: 40px;
    }

    .du-an-th {
        margin-top: 55px;
    }

    .du-an-ss {
        text-align: left;
        margin-bottom: 22px;
    }

    .brand-item {
        padding: 18px 10px 16px;
    }

    .brand-compare {
        gap: 16px;
    }

    .brand-compare>div {
        gap: 28px;
    }


    .brand-item-bad::before,
    .brand-item-good::before {
        top: 0;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 30px;
        height: 30px;
    }

    .brand-item p {
        color: #333;
        font-family: Mulish;
        font-size: 17px;
        font-style: normal;
        font-weight: 600;
        line-height: 22px;
    }

    .pricing-left h2 {
        color: #F2482C;
        font-family: Mulish;
        font-size: 24px;
        font-style: normal;
        font-weight: 700;
        line-height: 30px;
        text-transform: capitalize;
        margin-bottom: 7px;
    }

    .pricing-left p {
        font-size: 17px;
        line-height: 22px;
    }

    .saving {
        justify-content: center;
    }

    .saving svg {
        display: none;
    }

    .contact-container {
        gap: 30px 0;
        margin-bottom: 30px;
    }

    .contact-container .contact-item {
        flex-direction: column;
        border: none;
        gap: 0;
        padding: 0;
        width: calc(50%);
        margin: 0;
        min-height: auto;
    }

    .contact-map {
        padding: 0 !important;
    }

    .contact-map .section-content {
        flex-direction: column !important;
        padding: 0;
        background-color: transparent;
        gap: 0;
    }

    .contact-map .section-content h2 {
        color: #F2482C;
        font-size: 24px;
        font-weight: 700;
        line-height: 30px;
        text-transform: capitalize;
        margin-bottom: 10px;
    }

    .contact-map .section-content p {
        color: #000;
        font-size: 17px;
        font-weight: 400;
        line-height: 22px;
        margin-bottom: 0;
    }

    .contact-footer {
        padding: 40px 24px 20px !important;
    }

    .contact-map .wpcf7 {
        width: 100%;
        max-width: 100%;
    }

    .contact-contentz {
        margin-top: 60px;
        padding: 24px 18px 60px;
        margin-bottom: -40px;
        border-radius: 30px 30px 0 0;
        background-color: #FFE6E1;
    }

    .contact-container .contact-item .contact-title {
        margin-bottom: 6px;
    }

    .btn-consult {
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translate(-50%, 50%);
        margin: 0 auto;
        font-size: 17px;
        font-weight: 700;
        line-height: 25px;
        padding: 5.5px 16.5px;
        white-space: nowrap;
    }

    .group-title span {
        min-width: 100px;
        padding: 3px 10px;
    }

    .group-title b {
        font-size: 17px;
    }

    .price-footer {
        padding: 25px 20px 45px;
    }

    .price-footer .price-main {
        font-size: 24px;
    }

    .price-footer .price-old {
        font-size: 14px;
    }

    .contact.bg-pink {
        padding: 0 15px 54px !important;
        background-color: transparent;
    }

    .contact.bg-pink .contact-box__left p {
        margin-bottom: 0;
    }

    .contact-box {
        gap: 20px;
    }

    .launchpad-highlight {
        font-size: 20px;
    }

    .launchpad-highlight strong {
        font-size: 20px;
    }

    .price-title {
        margin-bottom: 52px;
    }

    .p-packaging {
        padding: 45px 14px 43px;
    }

    .p-packaging-head {
        padding: 20px 25px 13px;
    }

    .p-packaging-title {
        font-size: 24px;
        padding: 8px 48px;
    }

    .p-packaging-desc {
        font-size: 17px;
    }

    .p-packaging-list {
        gap: 45px;
    }

    .package-features {
        padding: 20px 25px 13px;
    }

    .p-packaging .p-packaging-item {
        width: 100%;
    }

    .p-packaging-2 {
        margin: 57px 0px 14px;
    }

    .package-bottom {
        padding: 13px 25px 30px;
    }

    .du-an-tieu-bieu__grid {
        margin: 0;
    }

    .chu-de-filter__list {
        /* Mobile: hiển thị giống widget "Dự án tiêu biểu" (carousel dọc 3 hàng) */
        --du-an-tab-row-h: 42px;
        flex-direction: column;
        flex-wrap: nowrap;
        align-items: stretch;
        justify-content: flex-start;
        gap: 0;
        max-width: 225px;
        width: 100%;
        margin-left: auto;
        margin-right: auto;
        height: calc(3 * var(--du-an-tab-row-h));
        overflow-x: hidden;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
        touch-action: pan-y;
        scroll-snap-type: y mandatory;
        scroll-behavior: smooth;
        padding: var(--du-an-tab-row-h) 0;
        scrollbar-width: none;
        -ms-overflow-style: none;
        border: none;
        border-radius: 0;
    }

    .chu-de-filter__list::-webkit-scrollbar {
        display: none;
    }

    .du-an-archive .du-an-archive__title {
        color: #F2482C;
        font-size: 24px;
        font-weight: 700;
        line-height: 30px;
        text-transform: capitalize;
    }

    .chu-de-filter__item {
        width: 100%;
        box-sizing: border-box;
        min-height: var(--du-an-tab-row-h);
        flex: 0 0 var(--du-an-tab-row-h);
        display: flex;
        align-items: center;
        justify-content: center;
        border-top: 1px solid #D9D9D9;
        border-radius: 0;
        scroll-snap-align: center;
        scroll-snap-stop: always;
        background-color: transparent;
        padding: 0;
        margin: 0;
    }

    .chu-de-filter__item:last-child {
        border-bottom: 1px solid #D9D9D9;
    }

    .chu-de-filter__btn {
        width: fit-content;
        padding: 0 12px;
        border-radius: 30px;
        background-color: transparent;
        color: #F2482C;
        font-size: 17px;
        text-transform: capitalize;
        font-weight: 700;
        height: 36px;
        line-height: 36px;
        white-space: nowrap;
    }

    .chu-de-filter__btn:hover,
    .chu-de-filter__btn.is-active {
        background-color: #F2482C;
        border-color: #F2482C;
        color: #fff;
    }

    .chu-de-filter__item.active {
        background-color: transparent;
    }

    .du-an-archive__grid .col {
        padding: 0 6px 12px;
    }

    .du-an-archive .page-numbers {
        width: 100%;
        justify-content: center;
    }

    .du-an-archive__grid {
        padding: 0 9px 120px;
    }

    .du-an-archive .page-numbers {
        bottom: 50px;
    }

    .du-an-top .icon-box {
        position: relative;
        flex-direction: column;
    }

    .du-an-top .icon-box-img {
        margin: 0;
        position: absolute;
    }

    .du-an-top .icon-box-text h3 {
        padding-left: 32px;
    }

    .faq .tabbed-content {
        grid-template-columns: 1fr;
    }

    .faq .tabbed-content h4 {
        color: #1245C6;
        text-align: center;
        font-size: 24px;
        font-weight: 700;
        line-height: 35px;
        text-transform: capitalize;
    }

    .author-box__inner {
        gap: 15px;
        align-items: center;
    }

    .blog-single a.entry-author.author-box {
        padding: 14px 8px 12px 9px;
    }

    .author-box__inner-left {
        gap: 6px;
        min-width: 166px;
        flex-direction: column;
    }

    .blog-author-image {
        min-width: 45px;
        width: 45px;
    }

    .author-name {
        white-space: wrap;
    }

    .blog-single .entry-header-text .entry-title {
        font-size: 28px;
    }

    .blog-related-carousel__title {
        font-size: 24px;
        line-height: 1.44;
        text-align: left;
        margin-bottom: 20px;
    }

    .team-card {
        padding: 33px 9px;
    }

    .team-card-inner {
        flex-direction: column;
    }

    .team-card-left {
        display: flex;
        flex-direction: column;
    }

    .team-card-left {
        order: 2;
        width: 100%;
        text-align: center;
    }

    .team-role {
        text-align: center;
        margin: 0 auto 15px;
        font-size: 17px;
        line-height: 1.5;
        padding: 2px 16px 3px;
        order: 2;
    }

    .team-card-right {
        order: 1;
        width: 100%;
        gap: 15px;
    }

    .team-name {
        font-size: 24px;
        margin-bottom: 12px;
        order: 1;
    }

    .luxion-cf-popup__form {
        padding: 0 14px;
    }

    .luxion-cf-popup__close {
        top: 8px;
        right: 8px;
    }

    .contact-box {
        border-radius: 30px;
    }

    .team-specialty {
        gap: 0 12px;
        flex-flow: row wrap;
        justify-content: center;
        order: 3;
        padding-top: 9px;
        border-top: 0.5px solid #D9D9D9;
        font-size: 16px;
    }

    .team-specialty span {
        max-width: 234px;

    }

    .team-desc {
        order: 5;
        margin: 0;
        padding: 0 13px;
        font-size: 17px;
    }

    .team-posts {
        order: 4;
        justify-content: center;
        padding-bottom: 9px;
        margin-bottom: 9px;
        border-bottom: 0.5px solid #D9D9D9;
    }

    .box-skill>div {
        width: 100%;
        max-width: 100%;
        text-align: center;
    }

    .block-pro-title h2 {
        font-size: 24px;
        margin-bottom: 5px;
    }

    .box-skill .skill-position {
        font-size: 17px;
        line-height: 22px;
        max-width: 205px;
        margin: 0 auto 15px;
    }

    .block-pro-description,
    .block-skill-description {
        font-size: 17px;
        line-height: 22px;
        color: #898989;
    }

    .box-skill .block-pro-services {
        padding: 0;
        margin-bottom: 39px;
    }

    .box-skill .block-pro-services ul {
        list-style: none;
    }

    .box-skill .block-pro-services ul li {
        position: relative;
        padding-top: 9px;
        margin-top: 9px;
    }

    .box-skill .block-pro-services ul li+li:before {
        content: "";
        width: 72px;
        height: 1px;
        background-color: #D9D9D9;
        display: block;
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
    }

    .list-skill {
        justify-content: center;
        margin-bottom: 17px;
    }

    .box-gift .project-list {
        grid-template-columns: 1fr;
    }

    .box-gift .project-item {
        padding: 16px 22px 15px;
        flex-direction: column;
        align-items: flex-start;
        gap: 7px;
    }

    .box-gift .project-meta {
        width: 100%;
        justify-content: space-between;
    }

    .box-gift .project-name,
    .box-gift .project-meta {
        font-size: 17px;
    }

    .author-post-card {
        align-items: flex-start;
        gap: 17px;
    }

    .author-post-card__image {
        max-width: 107px;
        border-radius: 14px;
    }

    .author-post-card__title {
        font-size: 17px;
    }

    .author-post-card__excerpt {
        display: none;
    }

    .author-post-card__button {
        display: none;
    }

    .author-posts-list {
        gap: 30px;
    }

    .author-post-card__cats {
        margin: 0;
    }

    .post-list-title {
        margin-bottom: 30px;
    }

    .author-posts-list-loadmore {
        margin-top: 30px;
    }

    .box-gift h2 {
        margin-bottom: 14px;

    }

    .luxion-cf-popup__box {
        padding: 0;
    }

    .luxion-cf-popup--open {
        padding: 0 !important;
    }
}

@media screen and (max-width: 550px) {
    .chu-de-filter__item {
        text-align: center;
        padding: 3px 0 !important;
    }

    .design-process__title {
        margin-bottom: 18px;
        text-align: left;
    }

    .tab-dv {
        margin-bottom: -30px;
    }

    .chu-de-filter__btn {
        border-radius: 50px;
        width: fit-content;
        margin: 0 auto;
        font-size: 17px;
        padding: 4px 10px;
        text-align: center;
        margin: 0 auto;
    }

    .chu-de-filter__btn:hover,
    .chu-de-filter__btn.is-active {
        background: #F2482C;
        border-color: #F2482C;
        color: #fff;
    }

    .du-an-feature .col {
        padding-bottom: 0;

    }

    .du-an-top .icon-box {
        padding: 13px 5px;
        border-top: 1px solid #D9D9D9;
        position: relative;
    }

    .du-an-top .icon-box:before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        transform: translateY(-50%);
        width: 4px;
        height: 7px;
        background: url(./img/triangle.svg) no-repeat center center;
    }

    .luxion-floating-icons {
        bottom: 0;
        left: 0;
        right: 0;
        width: 100%;
        justify-content: center;
        gap: 0px;
        flex-direction: row;
        flex-wrap: nowrap;
    }

    .luxion-floating-icon {
        flex: 1;
        box-shadow: none;
        height: 36px;
    }

    .p-packaging-title {
        font-size: 20px;
    }

    .luxion-floating-icon img {
        width: 23px;
        height: auto;
    }

    .luxion-floating-icon:first-child {
        border-radius: 0px 15px 0 0;
    }

    .luxion-floating-icon:nth-child(2) {
        border-radius: 15px 15px 0 0;
    }

    .luxion-floating-icon:nth-child(3) {
        border-radius: 15px 0 0 0;
    }

    #logo img,
    .stuck #logo img {
        max-height: 46px !important;
    }

    .header .header-main {
        height: 65px;
    }

    .mfp-close {
        display: none;
    }

    #main-menu.mobile-sidebar>.sidebar-menu-top-content {
        padding-top: 11px;
        padding-left: 0px;
    }

    .off-canvas:not(.off-canvas-center) .nav-vertical li>a {
        padding-left: 13px;
    }

    .off-canvas:not(.off-canvas-center) li.html {
        padding-left: 13px;
    }

    .solution-card__label {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
        color: #FFE6E1;
        font-size: 17px;
        font-weight: 800;
        line-height: normal;
    }

    .du-an-top .list-skill--icons {
        justify-content: start;
    }

    .vct-mb p {
        font-size: 17px;
    }

    .flickity-page-dots {
        display: none;
    }

    .contact {
        padding: 50px 15px !important;
    }

    .mobile-nav.nav li:last-child {
        display: flex;
    }

    /* Flatsome: chiều cao sticky — .header.show-on-scroll trên <header>; .stuck trên .header-wrapper */
    #header.header.show-on-scroll,
    .header-wrapper.stuck .header-main#masthead {
        height: 58px !important;
    }

    .combo-item.active-hover a.button {
        padding-right: 20px;
        padding-left: 20px;
    }

    .footer-right .small-7 {
        padding-right: 23px !important;
    }

    .nice-select__arrow svg {
        width: 10px;
    }

}

@media (max-width: 549px) {
    #logo img {
        max-height: 34px !important;
    }
}

@media screen and (max-width: 393px) {
    .team-avatar {
        width: 207px;
        margin: 0 auto;
        border-radius: 64px;
    }

    .du-an-tieu-bieu__grid .du-an-tieu-bieu__col {
        flex-basis: 100%;
        max-width: 100%;
        padding-left: 0;
        padding-right: 0;
    }

    .du-an-tieu-bieu__grid {
        margin: 30px 0 0;
        padding: 0;
    }

    .du-an-da-thuc-hien__overflow-pagination {
        margin-top: 12px;
    }

    .danh-muc-filter {
        text-align: center;
    }

    .du-an-tieu-bieu__image img {
        aspect-ratio: 370/247;
    }

    .du-an-tieu-bieu__grid .small-6,
    .du-an-archive__grid .col {
        padding: 0 6px 12px;
        flex-basis: 100%;
        max-width: 100%;
    }

    .du-an-da-thuc-hien {
        padding: 0 15px;
    }

    #logo img,
    .header .stuck #logo img {
        max-height: 34px !important;

    }

    .header-main {
        box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
    }

    .archive-page-header .page-title {
        font-size: 24px;
        line-height: 1.46;
    }
}

@media screen and (max-width: 380px) {
    .portfolio-tag {
        font-size: 12px;
        -webkit-line-clamp: 1;
        line-clamp: 1;
        -webkit-box-orient: vertical;
        box-orient: vertical;
        display: -webkit-box;
        display: box;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .portfolio-tag {
        padding-right: 30px;
        font-size: 17px;
        line-height: 36px;
    }

    .portfolio-tag span {
        width: 26px;
        height: 26px;
        right: 5px;
    }

}

.du-an-single__content img {
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 2rem;
}

@media screen and (max-width: 350px) {
    .portfolio-tag {
        font-size: 12px;
        line-height: 24px;
    }

    .portfolio-tag span {
        width: 18px;
        height: 18px;
        right: 3px;
    }
}