/*
Theme Name: LTT Child
Theme URI: https://ledinhtuan.com
Author: Le Dinh Tuan
Author URI: https://ledinhtuan.com
Template: ltt
Version: 1.0.15
Text Domain: ltt-child
*/

* {
    box-sizing: border-box;
}

html,
body {
    margin: 0;
    padding: 0;
}

html {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body {
    font-family: "Be Vietnam Pro", "Segoe UI", sans-serif;
    font-size: 14px;
    font-weight: 400;
    font-synthesis: none;
    font-synthesis-weight: none;
    line-height: 1.5;
    color: #333333;
    background-color: #FFFFFF;
}

body.ltt-mobile-menu-open,
body.ltt-tablet-submenu-open {
    overflow: hidden;
}

a {
    color: inherit;
    text-decoration: none;
}

.ltt-container {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 15px;
}

.ltt-icon {
    width: 20px;
    height: 20px;
    display: inline-block;
    vertical-align: middle;
    flex: 0 0 auto;
}

.ltt-icon-sm {
    width: 18px;
    height: 18px;
}

.ltt-icon-cta {
    width: 15px;
    height: 15px;
}

.ltt-site-header {
    position: sticky;
    top: 0;
    z-index: 1305;
    background-color: #FFFFFF;
}

.ltt-topbar {
    background-color: #FFFFFF;
    border-bottom: 1px solid #E8E8E8;
    padding: 10px 0;
}

.ltt-topbar-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.ltt-top-contact {
    list-style: none;
    display: flex;
    align-items: center;
    gap: 48px;
    margin: 0;
    padding: 0;
}

.ltt-top-contact li {
    position: relative;
}

.ltt-top-contact li + li::before {
    content: "";
    position: absolute;
    left: -24px;
    top: 1px;
    width: 1px;
    height: 18px;
    background-color: #E8E8E8;
}

.ltt-top-contact a {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0.48px;
    color: #0F59BC;
}

.ltt-top-social {
    display: flex;
    align-items: center;
    gap: 12px;
}

.ltt-top-social a {
    width: auto;
    height: auto;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #0F59BC;
    transition: transform 0.2s ease;
}

.ltt-top-social a:hover {
    transform: scale(1.06);
}

.ltt-top-social img {
    width: 18px;
    height: 18px;
    display: block;
    object-fit: contain;
}

.ltt-main-nav-wrap {
    position: relative;
    background-color: #FFFFFF;
    box-shadow: none;
    transition: box-shadow 0.2s ease;
    overflow: visible;
    z-index: auto;
}

.ltt-site-header.is-scrolled .ltt-main-nav-wrap {
    box-shadow: 0 4px 4px rgba(0, 0, 0, 0.05);
}

.ltt-main-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    min-height: 60px;
    overflow: visible;
    position: relative;
}

.ltt-logo {
    width: 135px;
    flex: 0 0 135px;
}

.ltt-logo img {
    width: 100%;
    height: auto;
    display: block;
}

.ltt-primary-nav {
    flex: 1;
    display: flex;
    justify-content: center;
}

.ltt-mobile-backdrop,
.ltt-mobile-sidebar-head,
.ltt-mobile-sidebar-foot,
.ltt-mobile-sidebar-cta {
    display: none;
}

.ltt-tablet-scroll-prev,
.ltt-tablet-scroll-next {
    display: none;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: 0;
    background-color: #0C4694;
    color: #FFFFFF;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.ltt-tablet-scroll-prev .ltt-icon,
.ltt-tablet-scroll-next .ltt-icon {
    width: 14px;
    height: 14px;
}

.ltt-tablet-submenu-title {
    display: none;
}

.ltt-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    gap: 12px;
}

.ltt-menu > li {
    position: relative;
}

.ltt-menu > li > a {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 8px 10px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: #0C4694;
    position: relative;
}

.ltt-menu-item-icon {
    display: none;
    align-items: center;
    justify-content: center;
    color: currentColor;
}

.ltt-menu-item-icon .ltt-icon {
    width: 16px;
    height: 16px;
}

.ltt-menu-item-label {
    display: inline-flex;
    align-items: center;
    line-height: 1;
}

.ltt-menu > li.menu-item-has-children > a {
    padding-right: 10px;
}

.ltt-menu > li.menu-item-has-children > a::before {
    content: "";
    display: inline-block;
    order: 2;
    width: 6px;
    height: 6px;
    margin-left: 4px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg) translateY(-3px);
    flex: 0 0 auto;
}

.ltt-menu > li > a:hover,
.ltt-menu > li.current-menu-item > a,
.ltt-menu > li.current-menu-ancestor > a,
.ltt-menu > li.current_page_item > a {
    color: #f7741c;
}

.ltt-menu > li.menu-item-has-children:hover > a::before,
.ltt-menu > li.menu-item-has-children:focus-within > a::before,
.ltt-menu > li.menu-item-has-children.current-menu-item > a::before,
.ltt-menu > li.menu-item-has-children.current_page_item > a::before,
.ltt-menu > li.menu-item-has-children.current-menu-ancestor > a::before {
    border-color: #f7741c;
}

.ltt-menu > li > a::after {
    content: "";
    position: absolute;
    left: 0px;
    right: 0px;
    bottom: -8px;
    height: 1px;
    background-color: #f7741c;
    opacity: 0;
    transition: opacity 0.2s ease;
}

.ltt-menu > li > a:hover::after,
.ltt-menu > li.current-menu-item > a::after,
.ltt-menu > li.current-menu-ancestor > a::after,
.ltt-menu > li.current_page_item > a::after {
    opacity: 1;
}

.ltt-menu .sub-menu {
    display: none;
    list-style: none;
    margin: 0;
    padding: 8px 0;
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 220px;
    border-radius: 0;
    background-color: #FFFFFF;
    box-shadow: 0 4px 4px rgba(0, 0, 0, 0.08);
    z-index: 999;
}

.ltt-menu li:hover > .sub-menu,
.ltt-menu li:focus-within > .sub-menu {
    display: block;
}

.ltt-menu li.is-open > a::before {
    border-color: #f7741c;
    transform: rotate(-135deg) translateY(1px);
}

.ltt-menu li.is-open > .sub-menu {
    display: block;
}

.ltt-menu > li:hover,
.ltt-menu > li:focus-within {
    z-index: 1000;
}

.ltt-menu .sub-menu li {
    position: relative;
}

.ltt-menu .sub-menu a {
    display: block;
    padding: 12px 0;
    margin: 0 14px;
    font-size: 14px;
    font-weight: 400;
    white-space: nowrap;
    color: #0C4694;
    border-bottom: 1px solid transparent;
}

.ltt-menu .sub-menu a:hover,
.ltt-menu .sub-menu .current-menu-item > a,
.ltt-menu .sub-menu .current_page_item > a {
    color: #f7741c;
    border-bottom-color: #f7741c;
}

.ltt-header-cta {
    width: 180px;
    flex: 0 0 180px;
    display: flex;
    justify-content: flex-end;
}

.ltt-header-cta a {
    background-color: #0C4694;
    color: #FAFAFA;
    min-height: 60px;
    width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.5;
}

.ltt-header-cta a:hover {
    background-color: #FFFFFF;
    color: #0C4694;
    border: 1px solid #0C4694;
}

.ltt-cta-icon {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background-color: #FFFFFF;
    color: #0C4694;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.ltt-cta-icon .ltt-icon {
    width: 14px;
    height: 14px;
}

.ltt-header-cta a:hover .ltt-cta-icon .ltt-icon {
    animation: ltt-download-drop 0.85s linear infinite;
}

.ltt-header-cta a:hover .ltt-cta-icon {
    background-color: #0C4694;
    color: #FFFFFF;
}

@keyframes ltt-download-drop {
    0% {
        transform: translateY(-5px);
        opacity: 0;
    }
    20% {
        opacity: 1;
    }
    70% {
        transform: translateY(5px);
        opacity: 1;
    }
    100% {
        transform: translateY(9px);
        opacity: 0;
    }
}

.ltt-menu-toggle {
    display: none;
    background-color: #0C4694;
    border: 0;
    width: 42px;
    height: 36px;
    border-radius: 4px;
    padding: 0;
    cursor: pointer;
    color: #FAFAFA;
    align-items: center;
    justify-content: center;
}

.ltt-menu-toggle-open {
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.ltt-menu-toggle-close {
    display: none;
    width: 24px;
    height: 24px;
    align-items: center;
    justify-content: center;
}

.ltt-menu-toggle.is-active .ltt-menu-toggle-open {
    display: none;
}

.ltt-menu-toggle.is-active .ltt-menu-toggle-close {
    display: inline-flex;
}

.ltt-menu-close {
    display: none;
}

.ltt-site-main {
    min-height: 40vh;
}

.ltt-content-placeholder {
    padding: 48px 0;
}

.entry-title {
    margin: 0 0 12px;
    font-size: 28px;
    font-weight: 600;
    color: #0C4694;
}

.ltt-support-project {
    position: relative;
    max-width: 1920px;
    margin: 0 auto;
    overflow: hidden;
    background-image: url('https://longthanhtech.com/wp-content/uploads/2024/10/bannerBGmail.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.ltt-support-dark-panel {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 50%;
    background-color: #141D28;
}

.ltt-support-inner {
    position: relative;
    z-index: 2;
    min-height: 557px;
    display: flex;
    align-items: center;
}

.ltt-support-content {
    width: 100%;
    max-width: 380px;
}

.ltt-support-content h2 {
    margin: 0 0 12px;
    font-size: 29px;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: 0.4px;
    color: #FAFAFA;
}

.ltt-support-content p {
    margin: 0;
    font-size: 14px;
    font-weight: 400;
    color: #FAFAFA;
}

.ltt-support-form {
    margin-top: 24px;
    display: grid;
    gap: 12px;
}

.ltt-support-form input {
    width: 100%;
    border: 0;
    border-bottom: 1px solid #FAFAFA;
    background-color: transparent;
    color: #FFFFFF;
    font-size: 14px;
    font-weight: 500;
    font-family: "Be Vietnam Pro", "Segoe UI", sans-serif;
    line-height: 1.5;
    padding: 10px 0;
    outline: none;
}

.ltt-support-form input::placeholder {
    color: #FAFAFA;
}

.ltt-support-form button {
    margin-top: 8px;
    width: fit-content;
    border: 0;
    background-color: #0C4694;
    color: #FAFAFA;
    padding: 12px 40px;
    font-size: 14px;
    font-weight: 400;
    font-family: "Be Vietnam Pro", "Segoe UI", sans-serif;
    cursor: pointer;
}

.ltt-support-form button:hover {
    background-color: #0F59BC;
}

/* Keep Fluent Form visual consistent with original JSON form style */
.ltt-support-form form,
.ltt-support-form .ff-default {
    margin: 0;
}

.ltt-support-form .ff-el-group {
    margin-bottom: 0;
}

.ltt-support-form .ff-el-input--label {
    display: none;
}

.ltt-support-form .ff-el-form-control,
.ltt-support-form input,
.ltt-support-form textarea,
.ltt-support-form select {
    width: 100%;
    border: 0;
    border-bottom: 0.5px solid #9CA3AF;
    border-radius: 0;
    background-color: transparent;
    color: #FFFFFF;
    box-shadow: none;
    font-size: 14px;
    font-weight: 500;
    font-family: "Be Vietnam Pro", "Segoe UI", sans-serif;
    line-height: 1.5;
    padding: 10px 0;
    outline: none;
}

.ltt-support-form .ff-el-form-control::placeholder,
.ltt-support-form input::placeholder,
.ltt-support-form textarea::placeholder {
    color: #9CA3AF;
    font-weight: 400;
    opacity: 1;
}

.ltt-support-form .ff-el-form-control:focus,
.ltt-support-form input:focus,
.ltt-support-form textarea:focus,
.ltt-support-form select:focus {
    background-color: transparent;
    color: #FFFFFF;
    border: 0;
    border-bottom: 0.5px solid #FFFFFF;
    box-shadow: none;
    outline: none;
}

.ltt-support-form .ff_submit_btn_wrapper,
.ltt-support-form .ff-btn-submit,
.ltt-support-form button[type="submit"] {
    margin-top: 8px;
}

.ltt-support-form .ff-btn-submit,
.ltt-support-form button[type="submit"] {
    width: fit-content;
    border: 0;
    border-radius: 0;
    background-color: #0C4694;
    color: #FAFAFA;
    padding: 12px 40px;
    font-size: 14px;
    font-weight: 400;
    font-family: "Be Vietnam Pro", "Segoe UI", sans-serif;
    cursor: pointer;
}

.ltt-support-form .ff-btn-submit:hover,
.ltt-support-form button[type="submit"]:hover {
    background-color: #0F59BC;
    color: #FAFAFA;
}

/* Force override Fluent Form default skin in support section */
.ltt-support-project .ltt-support-form .ff-default .ff-el-form-control,
.ltt-support-project .ltt-support-form .ff-default input,
.ltt-support-project .ltt-support-form .ff-default textarea,
.ltt-support-project .ltt-support-form .ff-default select {
    border: 0 !important;
    border-bottom: 0.5px solid #9CA3AF !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #FFFFFF !important;
    box-shadow: none !important;
}

.ltt-support-project .ltt-support-form .ff-default .ff-el-form-control::placeholder,
.ltt-support-project .ltt-support-form .ff-default input::placeholder,
.ltt-support-project .ltt-support-form .ff-default textarea::placeholder {
    color: #9CA3AF !important;
    font-weight: 400 !important;
    opacity: 1 !important;
}

.ltt-support-project .ltt-support-form .ff-default .ff-el-form-control:focus,
.ltt-support-project .ltt-support-form .ff-default input:focus,
.ltt-support-project .ltt-support-form .ff-default textarea:focus,
.ltt-support-project .ltt-support-form .ff-default select:focus {
    border: 0 !important;
    border-bottom: 0.5px solid #FFFFFF !important;
    background: transparent !important;
    color: #FFFFFF !important;
    box-shadow: none !important;
    outline: none !important;
}

.ltt-support-project .ltt-support-form .ff-default .ff-btn-submit,
.ltt-support-project .ltt-support-form .ff-default button[type="submit"] {
    border-radius: 0 !important;
    border: 0 !important;
    background: #0C4694 !important;
    color: #FAFAFA !important;
}

.ltt-site-footer {
    position: relative;
    background-color: #F5F8FC;
    color: #333333;
    padding: 60px 0;
}

.ltt-footer-bottom {
    background-color: #F5F8FC;
    border-top: 1px solid #D7DFEB;
    padding: 14px 0;
}

.ltt-footer-bottom-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.ltt-footer-copyright,
.ltt-footer-powered {
    font-size: 13px;
    font-weight: 400;
    line-height: 1.5;
    color: #4B5563;
}

.ltt-footer-powered a {
    color: #0C4694;
    font-weight: 500;
}

.ltt-footer-grid {
    display: grid;
    grid-template-columns: 280px 180px 180px 300px;
    column-gap: 40px;
    row-gap: 20px;
    align-items: start;
    justify-content:space-between;
}

.ltt-footer-title {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    line-height: 1.5;
}

.ltt-footer-logo {
    display: inline-block;
    width: 175px;
    margin-bottom: 12px;
}

.ltt-footer-logo img,
.ltt-bct-logo img {
    display: block;
    width: 100%;
    height: auto;
}

.ltt-footer-brand .ltt-footer-title {
    margin-bottom: 20px;
}

.ltt-footer-info {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 12px;
}

.ltt-footer-info li {
    display: grid;
    grid-template-columns: 16px 1fr;
    align-items: start;
    gap: 8px;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.4px;
    color: #333333;
}

.ltt-footer-col > .ltt-footer-title {
    margin-bottom: 16px;
}

.ltt-footer-menu {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 12px;
}

.ltt-footer-menu a {
    font-size: 14px;
    font-weight: 400;
    line-height: 19.6px;
    color: #333333;
}

.ltt-footer-menu a:hover {
    color: #333333;
}

.ltt-footer-social {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 20px;
}



.ltt-footer-social a img {
    width: 32px;
    height: 32px;
    display: block;
    object-fit: contain;
}

.ltt-bct-logo {
    margin-top:20px;
    width: 125px;
    display: inline-block;
}

.ltt-footer-chat-float {
    position: fixed;
    right: 20px;
    bottom: 96px;
    z-index: 99;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 10px;
}

.ltt-footer-chat-links {
    display: flex;
    flex-direction: column;
    gap: 10px;
    opacity: 0;
    transform: translateY(8px) scale(0.96);
    transform-origin: bottom right;
    pointer-events: none;
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.ltt-footer-chat-float.is-open .ltt-footer-chat-links {
    opacity: 1;
    transform: translateY(0) scale(1);
    pointer-events: auto;
}

.ltt-footer-chat-links a,
.ltt-footer-chat-toggle {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #0C4694;
    color: #FFFFFF;
}

.ltt-footer-chat-toggle {
    border: 0;
    cursor: pointer;
    position: relative;
    box-shadow: 0 4px 16px rgba(12, 70, 148, 0.25);
}

.ltt-footer-chat-toggle::before {
    content: "";
    position: absolute;
    inset: -6px;
    border: 1px solid rgba(12, 70, 148, 0.35);
    border-radius: 999px;
    animation: lttChatRing 2.4s ease-out infinite;
    pointer-events: none;
}

.ltt-footer-chat-links a:hover,
.ltt-footer-chat-toggle:hover {
    background-color: #0F59BC;
}

.ltt-footer-chat-links a img {
    width: 20px;
    height: 20px;
    display: block;
    object-fit: contain;
}

@keyframes lttChatRing {
    0% {
        transform: scale(0.92);
        opacity: 0.7;
    }

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

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

.ltt-back-to-top {
    position: fixed;
    right: 20px;
    bottom: 40px;
    z-index: 98;
    width: 40px;
    height: 40px;
    border: 1px solid #0C4694;
    border-radius: 99px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(250, 250, 250, 0.49);
    color: #0C4694;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(10px);
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.ltt-back-to-top.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}

.ltt-back-to-top:hover {
    background-color: #0C4694;
    color: #FFFFFF;
}

.ltt-back-to-top:hover .ltt-icon {
    animation: ltt-download-drop 0.85s linear infinite;
}

@media (min-width: 768px) and (max-width: 1024px) {
    .ltt-topbar-inner {
        flex-direction: row;
        gap: 14px;
    }

    .ltt-top-contact {
        gap: 24px;
    }

    .ltt-top-contact li + li::before {
        left: -12px;
    }

    .ltt-main-nav {
        min-height: 60px;
        gap: 12px;
    }

    .ltt-logo {
        width: 130px;
        flex: 0 0 130px;
    }

    .ltt-logo {
        order: 1;
    }

    .ltt-header-cta {
        order: 2;
        width: 150px;
        flex: 0 0 150px;
        margin-left: auto;
    }

    .ltt-header-cta a {
        min-height: 40px;
    }

    .ltt-menu-toggle {
        order: 3;
        display: inline-flex;
        width: 40px;
        height: 40px;
        border-radius: 0;
        flex: 0 0 auto;
    }

    .ltt-mobile-sidebar-head,
    .ltt-mobile-sidebar-foot,
    .ltt-mobile-sidebar-cta {
        display: flex;
    }

    .ltt-mobile-backdrop {
        display: block;
        position: fixed;
        inset: 0;
        background-color: rgba(0, 0, 0, 0.58);
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.25s ease, visibility 0.25s ease;
        z-index: 1300;
    }

    .ltt-mobile-menu-open .ltt-mobile-backdrop {
        opacity: 1;
        visibility: visible;
    }

    .ltt-primary-nav {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        max-width: 350px;
        height: 100vh;
        background-color: #FFFFFF;
        box-shadow: 0 8px 30px rgba(0, 0, 0, 0.18);
        transform: translateX(-100%);
        transition: transform 0.3s ease;
        z-index: 1301;
        display: flex;
        flex-direction: column;
        padding: 0;
        overflow: hidden;
    }

    .ltt-primary-nav.is-open {
        transform: translateX(0);
    }

    .ltt-menu {
        flex-direction: column;
        align-items: stretch;
        gap: 4px;
        width: 100%;
    }

    .ltt-menu > li {
        width: 100%;
        z-index: auto;
    }

    .ltt-menu-item-icon {
        display: none !important;
    }

    .ltt-mobile-sidebar-head {
        align-items: center;
        justify-content: space-between;
        padding: 14px 14px 10px;
        border-bottom: 1px solid #E8E8E8;
    }

    .ltt-mobile-sidebar-logo {
        display: inline-block;
        width: 120px;
    }

    .ltt-mobile-sidebar-logo img {
        width: 100%;
        height: auto;
        display: block;
    }

    .ltt-mobile-sidebar-menu {
        padding: 10px 14px 14px;
        overflow-y: auto;
        flex: 1;
    }

    .ltt-menu > li > a {
        width: 100%;
        justify-content: flex-start;
        gap: 4px;
        font-size: 14px;
        letter-spacing: 0.56px;
        padding: 16px 10px;
        border-radius: 0;
    }

    .ltt-menu > li.menu-item-has-children > a {
        justify-content: flex-start;
        padding-right: 16px;
        background-color: transparent;
        color: #0C4694;
    }

    .ltt-menu > li.menu-item-has-children > a::before {
        margin-left: auto;
        order: 3;
        border-color: currentColor;
    }

    .ltt-menu > li > a::after {
        display: none;
    }

    .ltt-menu .sub-menu {
        position: static;
        top: auto;
        left: auto;
        min-width: 0;
        box-shadow: none;
        border-top: 0;
        margin-top: 0;
        margin-left: 0;
        padding: 4px 0;
        display: none;
        background-color: #dddddd50;
        border-radius: 0;
    }

    .ltt-menu li:hover > .sub-menu,
    .ltt-menu li:focus-within > .sub-menu {
        display: none;
    }

    .ltt-menu li.is-open > .sub-menu {
        display: block;
    }

    .ltt-menu .sub-menu a {
        margin: 0;
        font-size: 16px;
        font-weight: 400;
        letter-spacing: 0.56px;
        text-transform: none;
        padding: 10px 16px;
        border-bottom: 0;
    }

    .ltt-menu .sub-menu .current-menu-item > a,
    .ltt-menu .sub-menu .current_page_item > a,
    .ltt-menu .sub-menu .current-menu-ancestor > a {
        font-weight: 500;
    }

    .ltt-mobile-sidebar-cta {
        display: block;
        padding: 0 14px 12px;
    }

    .ltt-mobile-sidebar-cta a {
        width: 100%;
        min-height: 44px;
        background-color: #0C4694;
        color: #FFFFFF;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        font-size: 12px;
        font-weight: 700;
        border-radius: 0;
    }

    .ltt-mobile-sidebar-cta .ltt-cta-icon {
        width: 22px;
        height: 22px;
    }

    .ltt-mobile-sidebar-foot {
        align-items: center;
        justify-content: center;
        gap: 10px;
        padding: 12px 14px 18px;
        margin-top: auto;
        border-top: 1px solid #E8E8E8;
    }

    .ltt-mobile-sidebar-foot a {
        width: 40px;
        height: 40px;
        border-radius: 50%;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background-color: #0C4694;
        color: #FFFFFF;
    }

    .ltt-mobile-sidebar-foot a img {
        width: 20px;
        height: 20px;
        display: block;
        object-fit: contain;
    }

    .ltt-menu-close {
        width: 32px;
        height: 32px;
        border: 0;
        padding: 0;
        background-color: #D81018;
        color: #FFFFFF;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 0;
    }

    .ltt-menu-close .ltt-icon {
        width: 20px;
        height: 20px;
    }

    .ltt-support-dark-panel {
        width: 100%;
        opacity: 0.85;
    }

    .ltt-support-inner {
        min-height: auto;
        padding-top: 30px;
        padding-bottom: 30px;
    }

    .ltt-footer-grid {
        grid-template-columns: repeat(12, minmax(0, 1fr));
        column-gap: 16px;
        row-gap: 24px;
    }

    .ltt-footer-brand {
        grid-column: 1 / -1;
    }

    .ltt-footer-grid > .ltt-footer-col:not(.ltt-footer-brand) {
        grid-column: span 4;
    }

    .ltt-footer-bottom-inner {
        flex-wrap: wrap;
    }

    .ltt-footer-menu {
        gap: 10px;
    }

    .ltt-footer-chat-float {
        right: 10px;
        bottom: 96px;
    }

    .ltt-back-to-top {
        right: 10px;
    }
}

@media (max-width: 767px) {
    .ltt-topbar {
        display: none;
    }

    .ltt-main-nav {
        min-height: 56px;
        gap: 10px;
    }

    .ltt-logo {
        width: 120px;
        flex: 0 0 120px;
    }

    .ltt-header-cta {
        display: none;
    }

    .ltt-menu-toggle {
        display: inline-flex;
        width: 40px;
        height: 40px;
        border-radius: 0;
    }

    .ltt-mobile-backdrop {
        display: block;
        position: fixed;
        inset: 0;
        background-color: rgba(0, 0, 0, 0.58);
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.25s ease, visibility 0.25s ease;
        z-index: 1300;
    }

    .ltt-mobile-menu-open .ltt-mobile-backdrop {
        opacity: 1;
        visibility: visible;
    }

    .ltt-primary-nav {
        position: fixed;
        top: 0;
        left: 0;
        width: 85vw;
        height: 100vh;
        background-color: #FFFFFF;
        box-shadow: 0 8px 30px rgba(0, 0, 0, 0.18);
        transform: translateX(-100%);
        transition: transform 0.3s ease;
        z-index: 1301;
        display: flex;
        flex-direction: column;
        padding: 0;
        overflow: hidden;
    }

    .ltt-primary-nav.is-open {
        transform: translateX(0);
    }

    .ltt-mobile-sidebar-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 14px 14px 10px;
        border-bottom: 1px solid #E8E8E8;
    }

    .ltt-mobile-sidebar-logo {
        display: inline-block;
        width: 120px;
    }

    .ltt-mobile-sidebar-logo img {
        width: 100%;
        height: auto;
        display: block;
    }

    .ltt-mobile-sidebar-menu {
        padding: 10px 14px 14px;
        overflow-y: auto;
        flex: 1;
    }

    .ltt-mobile-sidebar-cta {
        display: block;
        padding: 0 14px 12px;
    }

    .ltt-mobile-sidebar-cta a {
        width: 100%;
        min-height: 44px;
        background-color: #0C4694;
        color: #FFFFFF;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        font-size: 12px;
        font-weight: 700;
        border-radius: 0;
    }

    .ltt-mobile-sidebar-cta .ltt-cta-icon {
        width: 22px;
        height: 22px;
    }

    .ltt-mobile-sidebar-foot {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        padding: 12px 14px 18px;
        margin-top: auto;
        border-top: 1px solid #E8E8E8;
    }

    .ltt-mobile-sidebar-foot a {
        width: 40px;
        height: 40px;
        border-radius: 50%;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background-color: #0C4694;
        color: #FFFFFF;
    }

    .ltt-mobile-sidebar-foot a img {
        width: 20px;
        height: 20px;
        display: block;
        object-fit: contain;
    }

    .ltt-menu-close {
        width: 32px;
        height: 32px;
        border: 0;
        padding: 0;
        background-color: #D81018;
        color: #FFFFFF;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 0;
    }

    .ltt-menu-close .ltt-icon {
        width: 20px;
        height: 20px;
    }

    .ltt-menu {
        flex-direction: column;
        align-items: stretch;
        gap: 4px;
        width: 100%;
    }

    .ltt-menu > li {
        width: 100%;
        z-index: auto;
    }

    .ltt-menu > li > a {
        width: 100%;
        justify-content: flex-start;
        gap: 4px;
        font-size: 14px;
        padding: 12px 10px;
        border-radius: 0;
    }

    .ltt-menu-item-icon {
        display: none !important;
    }

    .ltt-menu > li.menu-item-has-children > a {
        justify-content: flex-start;
        padding-right: 16px;
        background-color: transparent;
        color: #0C4694;
    }

    .ltt-menu > li.menu-item-has-children > a::before {
        margin-left: auto;
        order: 3;
        border-color: currentColor;
    }

    .ltt-menu > li > a::after {
        display: none;
    }

    .ltt-menu > li.current-menu-item > a,
    .ltt-menu > li.current-menu-ancestor > a,
    .ltt-menu > li.current_page_item > a {
        background-color: #0C4694;
        color: #FFFFFF;
        border-radius: 0;
    }

    .ltt-menu > li.current-menu-item > a::before,
    .ltt-menu > li.current-menu-ancestor > a::before,
    .ltt-menu > li.current_page_item > a::before {
        border-color: #FFFFFF;
    }

    .ltt-menu .sub-menu {
        position: static;
        top: auto;
        left: auto;
        min-width: 0;
        box-shadow: none;
        border-top: 0;
        margin-top: 0;
        margin-left: 0;
        padding: 4px 0;
        display: none;
        background-color: #dddddd50;
        border-radius: 0;
    }

    .ltt-menu li:hover > .sub-menu,
    .ltt-menu li:focus-within > .sub-menu {
        display: none;
    }

    .ltt-menu li.is-open > .sub-menu {
        display: block;
    }

    .ltt-menu .sub-menu a {
        margin: 0;
        font-size: 14px;
        font-weight: 400;
        letter-spacing: 0.56px;
        text-transform: none;
        padding: 8px 16px;
        border-bottom: 0;
    }

    .ltt-menu .sub-menu .current-menu-item > a,
    .ltt-menu .sub-menu .current_page_item > a,
    .ltt-menu .sub-menu .current-menu-ancestor > a {
        font-weight: 500;
    }

    .ltt-header-cta {
        display: none;
    }

    .ltt-support-content h2 {
        font-size: 24px;
    }

    .ltt-support-project {
        background-position: left center;
    }

    .ltt-footer-grid {
        grid-template-columns: 1fr;
        column-gap: 16px;
        row-gap: 20px;
    }

    .ltt-footer-bottom {
        padding: 12px 0;
    }

    .ltt-footer-bottom-inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
    }

    .ltt-footer-chat-float {
        right: 10px;
        bottom: 72px;
    }

    .ltt-back-to-top {
        right: 10px;
        bottom: 20px;
    }
}

/* Home page */
.ltt-home-carousel {
    position: relative;
    background-color: #FFFFFF;
    overflow: hidden;
}

.ltt-home-carousel-track {
    display: flex;
    gap: 0;
    overflow-x: hidden;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
}

.ltt-home-slide {
    flex: 0 0 100%;
    min-width: 100%;
    scroll-snap-align: start;
}

.ltt-home-slide-kicker {
    margin: 0 0 6px;
    color: #0C4694;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.25;
    letter-spacing: 0.4px;
}

.ltt-home-slide-title {
    margin: 0 0 18px;
    color: #2C2E33;
    font-size: 35px;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: 0.4px;
}

.ltt-home-slide-desc {
    margin: 0 0 30px;
    color: #2D2D2D;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
}

.ltt-home-slide-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    border: 0;
    background-color: #0C4694;
    color: #FFFFFF;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.25;
    letter-spacing: 0.4px;
    padding: 12px 40px;
}

.ltt-home-slide-btn:hover {
    background-color: #F7741C;
}

.ltt-home-carousel-primary .ltt-home-slide-s1-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 525px);
    align-items: center;
    gap: 60px;
    min-height: 565px;
}

@media (min-width: 768px) {
    .ltt-home-carousel-primary .ltt-home-slide-title {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
        overflow: hidden;
    }

    .ltt-home-carousel-primary .ltt-home-slide-desc {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 8;
        overflow: hidden;
    }
}

.ltt-home-slide-s1-content {
    min-width: 100%;
    padding-right: 50px;
}

@media (min-width: 768px) and (hover: hover) {
    .ltt-home-carousel-primary .ltt-home-slide-title:hover,
    .ltt-home-carousel-primary .ltt-home-slide-title:focus-visible,
    .ltt-home-carousel-primary .ltt-home-slide-desc:hover,
    .ltt-home-carousel-primary .ltt-home-slide-desc:focus-visible,
    .ltt-home-slide-s2-panel .ltt-home-slide-desc:hover,
    .ltt-home-slide-s2-panel .ltt-home-slide-desc:focus-visible,
    .ltt-post-card-title a:hover,
    .ltt-post-card-title a:focus-visible,
    .ltt-post-card-excerpt:hover,
    .ltt-post-card-excerpt:focus-visible,
    .ltt-service-card-title a:hover,
    .ltt-service-card-title a:focus-visible,
    .ltt-service-card-excerpt:hover,
    .ltt-service-card-excerpt:focus-visible,
    .ltt-single-hero .ltt-posts-archive-title:hover,
    .ltt-single-hero .ltt-posts-archive-title:focus-visible,
    .ltt-single-hero .ltt-posts-breadcrumb .is-current:hover,
    .ltt-single-hero .ltt-posts-breadcrumb .is-current:focus-visible,
    .ltt-single-related-mobile-grid .ltt-post-card-title a:hover,
    .ltt-single-related-mobile-grid .ltt-post-card-title a:focus-visible,
    .ltt-single-related-mobile-grid .ltt-post-card-excerpt:hover,
    .ltt-single-related-mobile-grid .ltt-post-card-excerpt:focus-visible,
    .ltt-product-card-title a:hover,
    .ltt-product-card-title a:focus-visible {
        display: block !important;
        -webkit-line-clamp: unset !important;
        -webkit-box-orient: initial !important;
        overflow: visible !important;
        white-space: normal !important;
    }
}

.ltt-home-slide-s1-media {
    margin: 0;
    width: 100%;
    max-width: 525px;
    justify-self: end;
}

.ltt-home-slide-s1-media img {
    display: block;
    width: 100%;
    height: auto;
}

.ltt-home-carousel-secondary .ltt-home-slide-s2 {
    min-height: 607px;
    position: relative;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

.ltt-home-slide-s2-inner {
    position: relative;
    isolation: isolate;
    width: 100%;
    max-width: 1160px;
    margin: 0 auto;
    padding: 0 15px;
    min-height: 607px;
    display: flex;
    justify-content: flex-end;
    align-items: stretch;
    
}

.ltt-home-slide-s2-panel {
    position: relative;
    z-index: 1;
    width: 50%;
    min-width: 0;
    min-height: 607px;
    /* background-color: #364653CC; */
    color: #FFFFFF;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;
    padding: 0;
}
.ltt-home-slide-s2-inner::after {
    content: "";
    background-color: #364653CC;
    position: absolute;
    top: 0;
    right: calc((100vw - 100%) / -2);
    width: 53vw;
    height: 100%;
    z-index: 0;
    pointer-events: none;
}

.ltt-home-slide-s2-stack {
    width: 100%;
    max-width: 100%;
    min-height: 100%;
    display: flex;
    align-items: center;
}

.ltt-home-slide-s2-body {
    width: 100%;
    max-width: 560px;
    display: flex;
    flex-direction: column;
    gap: 34px;
}

.ltt-home-slide-s2-content {
    display: flex;
    flex-direction: column;
    gap: 16px;
    border-left: 1px solid #FFFFFF;
    padding-left: 36px;
}

.ltt-home-slide-s2-panel .ltt-home-slide-kicker,
.ltt-home-slide-s2-panel .ltt-home-slide-title,
.ltt-home-slide-s2-panel .ltt-home-slide-desc {
    color: #FFFFFF;
}

.ltt-home-slide-s2-panel .ltt-home-slide-title {
    margin: 0;
    font-size: 29px;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: 0.4px;
}

.ltt-home-slide-s2-panel .ltt-home-slide-kicker {
    margin: 0;
    font-size: 17px;
    font-weight: 500;
    line-height: 1.25;
    letter-spacing: 0.4px;
}

.ltt-home-slide-s2-panel .ltt-home-slide-desc {
    margin: 0;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0;
    text-align: left;
}

.ltt-home-slide-s2-panel .ltt-home-slide-btn {
    align-self: flex-start;
    min-width: 172px;
    min-height: 48px;
}

.ltt-home-carousel .ltt-home-carousel-pagination {
    margin-top: -42px;
    justify-content: flex-start;
    position: relative;
    z-index: 2;
    padding-bottom: 18px;
}

.ltt-home-carousel-secondary {
    position: relative;
}

.ltt-home-carousel-secondary > .ltt-container {
    position: absolute;
    right: max(15px, calc((100% - 1160px) / 2 + 15px));
    bottom: 36px;
    width: 50%;
    max-width: calc(1160px * 0.5 - 15px);
    margin: 0;
    padding: 0;
    z-index: 3;
    pointer-events: none;
}

.ltt-home-carousel-secondary .ltt-home-carousel-pagination {
    margin-top: 0;
    justify-content: flex-start;
    padding: 0 0 0 36px;
    pointer-events: auto;
}

.ltt-home-carousel-secondary .ltt-home-carousel-pagination .ltt-carousel-bullet {
    border-color: rgba(255, 255, 255, 0.45);
}

.ltt-home-carousel-secondary .ltt-home-carousel-pagination .ltt-carousel-bullet.is-active {
    background-color: #FFFFFF;
}

.ltt-home-products,
.ltt-home-posts {
    padding: 80px 0 100px;
}

.ltt-home-products {
    background-color: #FFFFFF;
}

.ltt-home-products-head {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-bottom: 20px;
}

.ltt-home-products-head .ltt-home-section-title {
    margin: 0 0 36px;
}

.ltt-home-posts {
    background-color: #F1F1F1;
}

.ltt-home-section-title {
    margin: 0 0 36px;
    color: #2C2E33;
    font-size: 29px;
    line-height: 1.25;
    font-weight: 600;
    letter-spacing: 0.4px;
    text-align: center;
}

.ltt-home-products-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
}

.ltt-home-products-grid .ltt-product-card {
    min-height: 100%;
    background: transparent;
    border: 0;
    box-shadow: none;
}

.ltt-home-products-grid .ltt-product-card-title {
    min-height: 72px;
}

.ltt-home-products-more-wrap {
    margin-top: 16px;
    display: flex;
    justify-content: center;
}

.ltt-home-products-more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 18px;
    border: 1px solid #0C4694;
    background: #0C4694;
    color: #FFFFFF;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.3;
}

.ltt-home-products-more:hover {
    border-color: #083A7C;
    color: #FFFFFF;
    background: #083A7C;
}

.ltt-home-posts-grid {
    gap: 15px;
}

@media (max-width: 1365px) {
    .ltt-home-carousel-primary .ltt-home-slide-s1-inner {
        gap: 70px;
    }

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

@media (max-width: 1024px) {
    .ltt-home-carousel-primary .ltt-home-slide-s1-inner {
        min-height: 400px;
        grid-template-columns: minmax(0, 1fr) minmax(0, 330px);
        gap: 15px;
    }

    .ltt-home-slide-title {
        font-size: 26px;
    }

    .ltt-home-carousel-secondary .ltt-home-slide-s2,
    .ltt-home-slide-s2-inner {
        min-height: 450px;
    }

    .ltt-home-slide-s2-panel {
        width: 60%;
        min-height: 450px;
    }

    .ltt-home-slide-s2-stack {
        max-width: 620px;
    }

    .ltt-home-slide-s2-body {
        max-width: 460px;
        gap: 16px;
    }

    .ltt-home-slide-s2-content {
        padding-left: 16px;
    }

    .ltt-home-slide-s2-panel .ltt-home-slide-title {
        font-size: 24px;
    }

    .ltt-home-slide-s2-panel .ltt-home-slide-kicker {
        font-size: 16px;
    }

    .ltt-home-slide-s2-panel .ltt-home-slide-desc {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 5;
        overflow: hidden;
    }

    .ltt-home-carousel-secondary > .ltt-container {
        right: 15px;
        width: calc(60% - 15px);
        max-width: none;
        bottom: 20px;
    }

    .ltt-home-carousel-secondary .ltt-home-carousel-pagination {
        padding-left: 16px;
    }

    .ltt-home-products,
    .ltt-home-posts {
        padding: 60px 0 80px;
    }

    .ltt-home-products-head {
        margin-bottom: 14px;
    }

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

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

    .ltt-home-posts-grid .ltt-post-card:nth-child(n+4) {
        display: none;
    }
}

@media (max-width: 767px) {
    .ltt-home-carousel-primary .ltt-home-slide-s1-inner {
        min-height: auto;
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 18px 16px 0;
    }

    .ltt-home-slide-s1-media {
        order: -1;
        justify-self: center;
        max-width: 280px;
    }

    .ltt-home-slide-s1-content {
        max-width: none;
        text-align: center;
        padding-right: 0;
        padding-bottom: 30px;
    }

    .ltt-home-slide-title {
        font-size: 24px;
    }

    .ltt-home-slide-desc {
        margin-bottom: 20px;
    }

    .ltt-home-slide-btn {
        min-height: 44px;
        padding: 10px 30px;
    }

    .ltt-home-carousel-secondary .ltt-home-slide-s2,
    .ltt-home-slide-s2-inner {
        min-height: 450px;
    }

    .ltt-home-slide-s2-inner {
        justify-content: center;
        align-items: flex-end;
        padding-bottom: 30px;
    }

    .ltt-home-slide-s2-inner::after {
        right: calc((100vw - 100%) / -2);
        width: 100vw;
    }

    .ltt-home-slide-s2-panel {
        width: 100%;
        min-width: 0;
        max-width: none;
        min-height: 395px;
        padding: 0 15px;
        align-items: center;
    }

    .ltt-home-slide-s2-stack {
        max-width: none;
    }

    .ltt-home-slide-s2-body {
        max-width: none;
        gap: 14px;
    }

    .ltt-home-slide-s2-content {
        padding-left: 16px;
        gap: 10px;
    }

    .ltt-home-slide-s2-panel .ltt-home-slide-title {
        font-size: 24px;
    }

    .ltt-home-slide-s2-panel .ltt-home-slide-kicker {
        font-size: 16px;
    }

    .ltt-home-slide-s2-panel .ltt-home-slide-btn {
        align-self: flex-start;
    }

    .ltt-home-carousel-secondary > .ltt-container {
        position: static;
        width: 100%;
        max-width: none;
        padding: 0 15px;
    }

    .ltt-home-carousel-secondary .ltt-home-carousel-pagination {
        justify-content: flex-start;
        padding: 0 0 8px 16px;
    }

    .ltt-home-carousel .ltt-home-carousel-pagination {
        margin-top: -28px;
        justify-content: center;
        padding-bottom: 10px;
    }

    .ltt-home-carousel-secondary .ltt-home-carousel-pagination {
        margin-top: 0;
        justify-content: flex-start;
        padding: 0 0 8px 16px;
    }

    .ltt-home-products,
    .ltt-home-posts {
        padding: 60px 0 80px;
    }

    .ltt-home-section-title {
        padding: 0 15px;
        font-size: 24px;
    }

    .ltt-home-products-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .ltt-home-products-grid .ltt-product-card-title {
        min-height: 62px;
    }

    .ltt-home-products-more {
        width: 100%;
    }

    .ltt-home-posts-grid {
        gap: 10px;
    }
}

/* Posts archive page */
.ltt-posts-hero {
    background-color: #0C4694;
    min-height: 200px;
    display: flex;
    align-items: center;
    padding: 28px 0;
}

.ltt-posts-hero .ltt-container {
    width: 100%;
}

.ltt-posts-archive {
    background-color: #F1F1F1;
    padding: 32px 0 64px;
}

.ltt-posts-archive-head {
    margin-bottom: 28px;
}

.ltt-posts-archive-title {
    margin: 0 0 10px;
    text-align: center;
    font-size: 36px;
    line-height: 1.1;
    font-weight: 700;
    color: #FFFFFF;
}

.ltt-posts-breadcrumb {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.4;
    color: rgba(255, 255, 255, 0.9);
}

.ltt-posts-breadcrumb a {
    color: inherit;
}

.ltt-posts-archive-search {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 auto 14px;
    max-width: 560px;
}

.ltt-posts-archive-search input[type="search"] {
    flex: 1;
    height: 44px;
    border: 1px solid #D7D7D7;
    border-radius: 0;
    padding: 0 14px;
    font-size: 15px;
    font-family: "Be Vietnam Pro", "Segoe UI", sans-serif;
    color: #2D2D2D;
    background-color: #FFFFFF;
}

.ltt-posts-archive-search button {
    height: 44px;
    border: 0;
    border-radius: 0;
    background-color: #0C4694;
    color: #FFFFFF;
    padding: 0 18px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.ltt-posts-archive-search button:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.ltt-post-search-icon {
    width: 15px;
    height: 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.ltt-post-search-icon svg {
    width: 100%;
    height: 100%;
    display: block;
}

.ltt-tabs-carousel {
    display: flex;
    align-items: center;
    gap: 8px;
}

.ltt-tabs-carousel-btn {
    width: 36px;
    height: 36px;
    border: 1px solid #CCD3DE;
    background-color: #FFFFFF;
    color: #2D2D2D;
    border-radius: 0;
    flex: 0 0 auto;
    cursor: pointer;
    display: none;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    line-height: 1;
}

.ltt-tabs-carousel.is-scrollable .ltt-tabs-carousel-btn {
    display: inline-flex;
}

.ltt-tabs-carousel-btn:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.ltt-posts-archive-tabs {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
    flex: 1;
}

.ltt-tabs-carousel:not(.is-scrollable) .ltt-posts-archive-tabs {
    justify-content: center;
}

.ltt-posts-archive-tabs::-webkit-scrollbar {
    display: none;
}

.ltt-posts-archive-tabs a,
.ltt-posts-archive-tabs button {
    border: 1px solid #CCD3DE;
    background-color: #FFFFFF;
    color: #2D2D2D;
    border-radius: 0;
    padding: 8px 14px;
    font-size: 14px;
    font-weight: 500;
    font-family: "Be Vietnam Pro", "Segoe UI", sans-serif;
    line-height: 1.2;
    white-space: nowrap;
    transition: all 0.2s ease;
    cursor: pointer;
}

.ltt-posts-archive-tabs a:hover,
.ltt-posts-archive-tabs a.is-active,
.ltt-posts-archive-tabs button:hover,
.ltt-posts-archive-tabs button.is-active {
    border-color: #0C4694;
    background-color: #0C4694;
    color: #FFFFFF;
}

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

.ltt-post-card {
    background-color: #FFFFFF;
    border: 1px solid #E3E3E3;
    box-shadow: 0 3px 14px rgba(0, 0, 0, 0.05);
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.ltt-post-card-thumb {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background-color: #E9EDF3;
}

.ltt-post-card-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.ltt-post-card-thumb-fallback {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 600;
    color: #6E7681;
    text-transform: uppercase;
    letter-spacing: 0.8px;
}

.ltt-post-card-content {
    padding: 16px 16px 18px;
    flex: 1;
    border-bottom: 1px solid #E7E7E7;
}

.ltt-post-card-title {
    margin: 0 0 12px;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.35;
}

.ltt-post-card-title a {
    color: #1D4B95;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.ltt-post-card-excerpt {
    margin: 0;
    color: #555555;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.ltt-post-card-meta {
    padding: 12px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.ltt-post-card-date {
    font-size: 11px;
    line-height: 1.2;
    font-weight: 400;
    color: #444444;
    flex: 0 0 auto;
}

.ltt-post-card-category {
    font-size: 11px;
    line-height: 1.2;
    font-weight: 400;
    color: #6A6A6A;
    text-align: right;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
    flex: 1;
}

.ltt-posts-grid .ltt-post-card-content {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 10px;
}

.ltt-posts-grid .ltt-post-card-title {
    margin: 0;
}

.ltt-posts-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 30px;
    flex-wrap: wrap;
}

.ltt-posts-pagination .page-numbers {
    min-width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #C7CED9;
    border-radius: 0;
    background-color: #FFFFFF;
    color: #2C2E33;
    font-size: 15px;
    font-weight: 600;
    padding: 0 10px;
}

.ltt-posts-pagination .page-numbers.current,
.ltt-posts-pagination .page-numbers:hover {
    background-color: #0C4694;
    border-color: #0C4694;
    color: #FFFFFF;
}

.ltt-posts-empty {
    text-align: center;
    margin: 24px 0 0;
    font-size: 18px;
    color: #5E6570;
}

@media (max-width: 1365px) {
    .ltt-posts-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .ltt-post-card-title {
        font-size: 16px;
    }

    .ltt-post-card-excerpt {
        font-size: 13px;
    }
}

@media (max-width: 1024px) {
    .ltt-posts-archive {
        padding: 44px 0 52px;
    }

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

@media (max-width: 767px) {
    .ltt-posts-archive-title {
        font-size: 30px;
        margin-bottom: 14px;
    }

    .ltt-posts-archive-search {
        max-width: none;
    }

    .ltt-tabs-carousel {
        gap: 6px;
    }

    .ltt-tabs-carousel-btn {
        width: 32px;
        height: 32px;
        font-size: 14px;
    }

    .ltt-posts-grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .ltt-post-card {
        display: grid;
        grid-template-columns: 35% 65%;
        grid-template-areas:
            "thumb content"
            "thumb date";
        align-items: stretch;
    }

    .ltt-post-card-thumb {
        grid-area: thumb;
        height: 100%;
        min-height: 132px;
    }

    .ltt-post-card-content {
        grid-area: content;
        padding: 10px 10px 8px;
        border-bottom: 0;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }

    .ltt-post-card-title {
        margin-bottom: 8px;
    }

    .ltt-post-card-title a {
        -webkit-line-clamp: 2;
    }

    .ltt-post-card-excerpt {
        -webkit-line-clamp: 2;
    }

    .ltt-post-card-meta {
        grid-area: date;
        border-top: 1px solid #E7E7E7;
        padding: 8px 10px;
    }
}

/* Services archive page */
.ltt-services-archive {
    background-color: #F1F1F1;
    padding: 32px 0 64px;
}

.ltt-services-archive-head {
    margin-bottom: 20px;
}

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

.ltt-service-card {
    background-color: #FFFFFF;
    border: 1px solid #E3E3E3;
    box-shadow: 0 3px 14px rgba(0, 0, 0, 0.05);
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 390px;
}

.ltt-service-card-thumb {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background-color: #E9EDF3;
}

.ltt-service-card-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.45s ease;
}

.ltt-service-card-content {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    flex: 1;
    padding: 14px 16px 16px;
    gap: 16px;
}

.ltt-service-card-main {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.ltt-service-card-title {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
}

.ltt-service-card-title a {
    color: #1D4B95;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.ltt-service-card-excerpt {
    margin: 0;
    color: #555555;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.ltt-service-card-footer {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.ltt-service-card-cta {
    display: inline-flex;
    align-items: center;
    align-self: center;
    justify-content: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.4px;
    color: #2D2D2D;
}

.ltt-service-card-cta svg {
    width: 18px;
    height: 18px;
}

.ltt-service-card-line {
    width: 100%;
    height: 2px;
    background-color: #0C4694;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.45s ease;
}

.ltt-service-card:hover .ltt-service-card-line {
    transform: scaleX(1);
}

.ltt-service-card:hover .ltt-service-card-thumb img {
    transform: scale(1.05);
}

.ltt-service-card:hover .ltt-service-card-cta {
    color: #D93B35;
}

@media (max-width: 1365px) {
    .ltt-services-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 1024px) {
    .ltt-services-archive {
        padding: 44px 0 52px;
    }

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

@media (max-width: 767px) {
    .ltt-services-grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .ltt-service-card {
        display: grid;
        grid-template-columns: 35% 65%;
        align-items: stretch;
        min-height: 0;
    }

    .ltt-service-card-thumb {
        height: 100%;
        min-height: 132px;
    }

    .ltt-service-card-content {
        padding: 10px 10px 8px;
        gap: 8px;
    }

    .ltt-service-card-main {
        gap: 8px;
    }

    .ltt-service-card-title a {
        -webkit-line-clamp: 2;
    }

    .ltt-service-card-excerpt {
        -webkit-line-clamp: 2;
    }

    .ltt-service-card-footer {
        border-top: 1px solid #E7E7E7;
        padding-top: 8px;
        gap: 6px;
    }
}

/* Contact page */
.ltt-contact-page {
    background-color: #F1F1F1;
    padding: 32px 0 64px;
}

.ltt-contact-page-grid {
    display: grid;
    grid-template-columns: 1.05fr 1fr;
    gap: 16px;
    align-items: stretch;
}

.ltt-contact-map-wrap {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.ltt-contact-map {
    width: 100%;
    height: 100%;
    border: 0;
}

.ltt-contact-map-link {
    font-size: 13px;
    color: #0C4694;
    font-weight: 500;
}

.ltt-contact-info-panel {
    background-color: #fff;
    border: 0;
    padding: clamp(28px, 3vw, 52px) clamp(24px, 3vw, 48px);
}

.ltt-contact-info-panel h2 {
    margin: 0 0 clamp(22px, 2vw, 36px);
    font-size: 20px;
    line-height: 1.22;
    font-weight: 700;
    color: #0C4694;
    letter-spacing: 0.2px;
}

.ltt-contact-info-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: clamp(14px, 1.4vw, 22px);
}

.ltt-contact-info-list li {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    font-size: clamp(15px, 1.4vw, 23px);
    line-height: 1.4;
    font-weight: 400;
    color: #2C2E33;
}

.ltt-contact-info-list .ltt-icon {
    width: 28px;
    height: 28px;
    color: #2C2E33;
    margin-top: 2px;
}

.ltt-contact-info-list a {
    color: inherit;
}

@media (max-width: 1365px) {
    .ltt-contact-info-panel h2 {
        font-size: 34px;
    }

    .ltt-contact-info-list li {
        font-size: 19px;
    }
}

@media (max-width: 1024px) {
    .ltt-contact-page-grid {
        grid-template-columns: 1fr;
    }

    .ltt-contact-map {
        min-height: 420px;
    }

    .ltt-contact-info-panel h2 {
        font-size: 30px;
        margin-bottom: 18px;
    }

    .ltt-contact-info-list li {
        font-size: 17px;
    }
}

@media (max-width: 767px) {
    .ltt-contact-page {
        padding: 20px 0 40px;
    }

    .ltt-contact-map-wrap {
        padding: 8px;
    }

    .ltt-contact-map {
        min-height: 300px;
    }

    .ltt-contact-info-panel h2 {
        font-size: 26px;
    }

    .ltt-contact-info-list {
        gap: 14px;
    }

    .ltt-contact-info-list li {
        font-size: 16px;
        grid-template-columns: 28px minmax(0, 1fr);
        gap: 8px;
    }

    .ltt-contact-info-list .ltt-icon {
        width: 24px;
        height: 24px;
    }
}

/* Single post page */
.ltt-single-hero {
    background-image: url('/images/background-singlepost.svg');
    background-position: center right;
    background-size: cover;
    background-repeat: no-repeat;
}

.ltt-single-hero .ltt-posts-archive-title {
    font-size: 32px;
    line-height: 1.25;
    font-weight: 600;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.ltt-single-post-wrap {
    background-color: #F1F1F1;
    padding: 30px 0 24px;
}

.ltt-single-main {
    background-color: #FFFFFF;
    border: 1px solid #E3E3E3;
    padding: 26px 24px 34px;
}

.ltt-single-hero-date {
    margin-top: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 100%;
    font-size: 11px;
    line-height: 1.4;
    font-weight: 400;
    color: rgba(255, 255, 255, 0.9);
}

.ltt-single-hero-date-icon {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
}

.ltt-single-content {
    color: #2C2E33;
    font-size: 16px;
    line-height: 1.65;
}

.ltt-single-content > *:first-child {
    margin-top: 0;
}

.ltt-single-content > *:last-child {
    margin-bottom: 0;
}

.ltt-single-content img {
    max-width: 100%;
    height: auto;
}

.ltt-single-content p,
.ltt-single-content li {
    font-size: 16px;
    line-height: 1.7;
}

.ltt-single-content a,
.ltt-service-single-content a {
    color: #0C4694;
}

.ltt-single-content a:hover,
.ltt-service-single-content a:hover {
    color: #F28C28;
}

.ltt-single-related-desktop,
.ltt-single-related-tablet,
.ltt-single-related-mobile {
    background-color: #F1F1F1;
    padding: 16px 0 0;
    border-top: 1px solid #D9D9D9;
}

.ltt-single-related-desktop {
    margin-bottom: 0;
    padding-bottom: 48px;
}

.ltt-single-related-tablet,
.ltt-single-related-mobile {
    margin-bottom: 32px;
}

.ltt-single-related-tablet {
    margin-bottom: 0;
    padding-bottom: 32px;
}

.ltt-single-related-desktop h2,
.ltt-single-related-tablet h2,
.ltt-single-related-mobile h2 {
    margin: 0;
    font-size: 24px;
    line-height: 1.2;
    font-weight: 600;
    color: #2C2E33;
}

.ltt-single-related-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 12px;
}

.ltt-single-related-controls {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.ltt-single-related-controls button {
    width: 34px;
    height: 34px;
    border: 1px solid #C7CED9;
    background-color: #FFFFFF;
    color: #2C2E33;
    font-size: 16px;
    line-height: 1;
    cursor: pointer;
}

.ltt-single-related-controls button:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.ltt-single-related-track {
    display: flex;
    gap: 16px;
    overflow-x: hidden;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
}

.ltt-single-related-slide {
    flex: 0 0 calc((100% - 32px) / 3);
    min-width: calc((100% - 32px) / 3);
    scroll-snap-align: start;
    border: 1px solid #E3E3E3;
    background-color: #FFFFFF;
}

.ltt-single-related-desktop .ltt-single-related-slide {
    flex: 0 0 calc((100% - 48px) / 4);
    min-width: calc((100% - 48px) / 4);
}

.ltt-single-carousel-pagination {
    margin-top: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.ltt-carousel-bullet {
    width: 14px;
    height: 4px;
    border: 0.4px solid #0C4694;
    background-color: transparent;
    padding: 0;
    cursor: pointer;
}

.ltt-carousel-bullet.is-active {
    width: 28px;
    background-color: #0C4694;
}

.ltt-single-related-tablet .ltt-single-carousel-pagination {
    display: none;
}

.ltt-single-related-slide .ltt-post-card-thumb {
    aspect-ratio: 1 / 1;
}

.ltt-single-related-slide .ltt-post-card-content {
    border-bottom: 0;
    padding: 12px;
}

.ltt-single-related-slide .ltt-post-card-meta {
    border-top: 1px solid #E7E7E7;
}

.ltt-single-related-tablet,
.ltt-single-related-mobile {
    display: none;
}

.ltt-single-related-mobile-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.ltt-single-related-mobile-grid .ltt-post-card {
    display: flex;
    flex-direction: column;
}

.ltt-single-related-mobile-grid .ltt-post-card-thumb {
    aspect-ratio: 1 / 1;
    min-height: 0;
    height: auto;
    grid-area: unset;
}

.ltt-single-related-mobile-grid .ltt-post-card-content {
    grid-area: unset;
    border-bottom: 0;
    padding: 10px;
}

.ltt-single-related-mobile-grid .ltt-post-card-meta {
    grid-area: unset;
    border-top: 1px solid #E7E7E7;
    padding: 8px 10px;
}

.ltt-single-related-mobile-grid .ltt-post-card-title a {
    -webkit-line-clamp: 2;
}

.ltt-single-related-mobile-grid .ltt-post-card-excerpt {
    -webkit-line-clamp: 2;
}

.ltt-single-related-more {
    display: flex;
    width: fit-content;
    align-items: center;
    justify-content: center;
    margin-top: 24px;
    margin-bottom: 32px;
    margin-left: auto;
    margin-right: auto;
    min-height: 38px;
    padding: 0 16px;
    border: 1px solid #0C4694;
    background-color: #0C4694;
    color: #FFFFFF;
    font-size: 14px;
    font-weight: 600;
}

/* Single service page */
.ltt-service-single-hero {
    background-color: #0C4694;
    min-height: 200px;
    display: flex;
    align-items: center;
    padding: 28px 0;
}

.ltt-service-single-hero .ltt-posts-archive-title {
    font-size: 28px;
    line-height: 1.2;
    margin-bottom: 10px;
}

.ltt-service-single-summary-wrap {
    background-color: #FFFFFF;
    padding: 24px 0 8px;
}

.ltt-service-single-summary {
    margin: 0 auto;
    max-width: 680px;
    text-align: center;
    color: #2D2D2D;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0.56px;
}

.ltt-service-single-gallery-wrap {
    background-color: #F1F1F1;
    padding-top: 24px;
}

.ltt-service-single-gallery {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.ltt-service-single-gallery-item {
    margin: 0;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background-color: #E9EDF3;
}

.ltt-service-single-gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.ltt-service-single-content {
    color: #2C2E33;
    font-size: 16px;
    line-height: 1.7;
    padding: 0;
}

.ltt-service-single-main .ltt-service-single-toc-wrap {
    margin-bottom: 18px;
}

.ltt-service-single-content > *:first-child {
    margin-top: 0;
}

.ltt-service-single-content > *:last-child {
    margin-bottom: 0;
}

.ltt-service-single-content img {
    max-width: 100%;
    height: auto;
}

@media (max-width: 1024px) {
    .ltt-single-hero .ltt-posts-archive-title {
        font-size: 28px;
    }

    .ltt-single-hero .ltt-posts-breadcrumb {
        justify-content: center;
        flex-wrap: wrap;
        column-gap: 6px;
        row-gap: 2px;
        text-align: center;
    }

    .ltt-single-hero .ltt-posts-breadcrumb .is-current {
        display: -webkit-box;
        -webkit-line-clamp: 1;
        -webkit-box-orient: vertical;
        overflow: hidden;
        width: 60%;
        text-align: center;
    }

    .ltt-single-main {
        padding: 22px 18px 28px;
    }

    .ltt-single-related-desktop {
        display: none;
    }

    .ltt-single-related-tablet {
        display: block;
    }

    .ltt-single-related-desktop .ltt-single-carousel-pagination {
        display: none;
    }

    .ltt-service-single-hero {
        padding: 28px 0;
    }

    .ltt-service-single-title {
        font-size: 28px;
    }

    .ltt-service-single-gallery {
        gap: 12px;
    }

    .ltt-service-single-content {
        padding: 0;
    }
}

@media (max-width: 767px) {
    .ltt-single-hero {
        min-height: 120px;
        background-position: center;
    }

    .ltt-single-hero .ltt-posts-archive-title {
        font-size: 20px;
        margin-bottom: 8px;
        line-height: 1.3;
    }

    .ltt-single-hero-date {
        font-size: 11px;
    }

    .ltt-single-hero .ltt-posts-breadcrumb {
        justify-content: center;
        text-align: center;
    }

    .ltt-single-hero .ltt-posts-breadcrumb .is-current {
        width: 60%;
    }

    .ltt-single-post-wrap {
        background-color: #FFFFFF;
        padding: 0;
    }

    .ltt-single-main {
        background-color: transparent;
        border: 0;
        padding: 30px 0 0;
    }

    .ltt-single-content,
    .ltt-single-content p,
    .ltt-single-content li {
        font-size: 15px;
    }

    .ltt-single-related-tablet,
    .ltt-single-related-desktop {
        display: none;
    }

    .ltt-single-related-mobile {
        display: block;
        background-color: transparent;
        padding: 0;
    }

    .ltt-single-related-mobile h2 {
        font-size: 20px;
        margin-bottom: 10px;
    }

    .ltt-single-related-mobile {
        margin-bottom: 32px;
    }

    .ltt-single-related-more {
        display: flex;
        margin-left: auto;
        margin-right: auto;
    }

    .ltt-service-single-hero {
        padding: 28px 0;
    }

    .ltt-service-single-title {
        font-size: 24px;
        letter-spacing: 0.32px;
    }

    .ltt-service-single-summary {
        margin-top: 12px;
        text-align: justify;
        font-size: 14px;
        line-height: 1.6;
        letter-spacing: 0.32px;
    }

    .ltt-service-single-gallery {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .ltt-service-single-content,
    .ltt-service-single-content p,
    .ltt-service-single-content li {
        font-size: 15px;
        line-height: 1.7;
    }
}

/* About page */
.ltt-about-page {
    background-color: #F1F1F1;
    padding: 34px 0 48px;
}

.ltt-about-content {
    background-color: #FFFFFF;
    border: 1px solid #E3E3E3;
    padding: 28px 28px 34px;
    color: #2C2E33;
    font-size: 16px;
    line-height: 1.7;
}

.ltt-about-content > *:first-child {
    margin-top: 0;
}

.ltt-about-content > *:last-child {
    margin-bottom: 0;
}

.ltt-about-content h1,
.ltt-about-content h2,
.ltt-about-content h3,
.ltt-about-content h4,
.ltt-about-content h5,
.ltt-about-content h6 {
    color: #0C4694;
    font-weight: 600;
    line-height: 1.4;
}

.ltt-about-content h1 {
    font-size: 32px;
    margin: 0 0 14px;
}

.ltt-about-content h2 {
    font-size: 24px;
    margin: 0 0 12px;
}

.ltt-about-content h3 {
    font-size: 20px;
    margin: 0 0 10px;
}

.ltt-about-content p {
    margin: 0 0 14px;
}

.ltt-about-content ul,
.ltt-about-content ol {
    margin: 0 0 14px 20px;
    padding: 0;
}

.ltt-about-content li {
    margin-bottom: 6px;
}

.ltt-about-content hr,
.ltt-about-content .wp-block-separator {
    border: 0;
    border-top: 1px solid #DCE3EE;
    margin: 20px 0;
    opacity: 1;
}

.ltt-about-content .wp-block-image {
    margin: 20px 0;
}

.ltt-about-content .wp-block-image img {
    width: 100%;
    height: auto;
    display: block;
}

.ltt-about-icon-box {
    border: 1px solid #DCE3EE;
    background-color: #F8FAFD;
    padding: 16px;
    margin: 14px 0;
}

.ltt-about-icon-box h3 {
    margin: 0 0 8px;
    color: #0C4694;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.4;
}

.ltt-about-icon-box p {
    margin: 0;
}

@media (max-width: 1024px) {
    .ltt-about-content {
        padding: 24px 20px 28px;
    }

    .ltt-about-content h1 {
        font-size: 28px;
    }

    .ltt-about-content h2 {
        font-size: 22px;
    }
}

@media (max-width: 767px) {
    .ltt-about-page {
        background-color: #FFFFFF;
        padding: 0 0 24px;
    }

    .ltt-about-content {
        border: 0;
        padding: 22px 0 0;
    }

    .ltt-about-content h1 {
        font-size: 24px;
    }

    .ltt-about-content h2 {
        font-size: 20px;
    }

    .ltt-about-content h3 {
        font-size: 18px;
    }
}

/* About page modern rebuild */
.ltt-about-modern-subtitle {
    margin: 12px auto 0;
    max-width: 740px;
    color: #FFFFFF;
    font-size: 16px;
    line-height: 1.65;
    text-align: center;
    letter-spacing: 0.24px;
}

.ltt-about-modern-wrap {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 5% 10%, rgba(12, 70, 148, 0.08) 0%, rgba(12, 70, 148, 0) 40%),
        radial-gradient(circle at 95% 4%, rgba(247, 116, 28, 0.12) 0%, rgba(247, 116, 28, 0) 32%),
        #F4F7FC;
    padding: 36px 0 54px;
}

.ltt-about-modern {
    display: grid;
    gap: 24px;
}

.ltt-about-modern-intro {
    background-color: #FFFFFF;
    border: 1px solid #E4EAF3;
    padding: 28px;
    box-shadow: 0 18px 40px rgba(12, 70, 148, 0.08);
}

.ltt-about-modern-intro h2 {
    margin: 0 0 12px;
    font-size: 26px;
    line-height: 1.3;
    color: #0C4694;
    font-weight: 700;
}

.ltt-about-modern-intro p {
    margin: 0;
    color: #27364A;
    font-size: 16px;
    line-height: 1.7;
}

.ltt-about-modern-intro blockquote {
    margin: 16px 0 0;
    border-left: 4px solid #f7741c;
    background-color: #FFF5ED;
    color: #8A3B07;
    padding: 12px 14px;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.6;
}

.ltt-about-modern-block {
    background-color: #FFFFFF;
    border: 1px solid #E4EAF3;
    padding: 24px;
}

.ltt-about-modern-block-highlight {
    background: linear-gradient(135deg, #0C4694 0%, #0A3A7B 100%);
    border: 0;
}

.ltt-about-modern-head h2 {
    margin: 0;
    color: #0C4694;
    font-size: 30px;
    line-height: 1.25;
    font-weight: 700;
}

.ltt-about-modern-head p {
    margin: 10px 0 0;
    color: #485971;
    font-size: 15px;
    line-height: 1.7;
}

.ltt-about-modern-grid {
    display: grid;
    gap: 16px;
    margin-top: 18px;
}

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

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

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

.ltt-about-modern-card {
    border: 1px solid #D9E1EE;
    background-color: #FBFCFE;
    padding: 18px;
}

.ltt-about-modern-card h3 {
    margin: 0 0 10px;
    color: #0C4694;
    font-size: 19px;
    line-height: 1.35;
    font-weight: 700;
}

.ltt-about-modern-card ul {
    margin: 0 0 12px 18px;
    padding: 0;
}

.ltt-about-modern-card li {
    margin-bottom: 5px;
    color: #26364C;
    font-size: 14px;
    line-height: 1.6;
}

.ltt-about-modern-card p {
    margin: 0;
    color: #4E5F76;
    font-size: 14px;
    line-height: 1.65;
}

.ltt-about-modern-block-highlight .ltt-about-modern-head h2 {
    color: #FFFFFF;
}

.ltt-about-modern-benefit {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    border: 1px solid rgba(255, 255, 255, 0.25);
    background-color: rgba(255, 255, 255, 0.08);
    padding: 14px;
}

.ltt-about-modern-dot {
    width: 8px;
    height: 8px;
    background-color: #f7741c;
    border-radius: 50%;
    margin-top: 8px;
    flex-shrink: 0;
}

.ltt-about-modern-benefit p {
    margin: 0;
    color: #EAF1FC;
    font-size: 14px;
    line-height: 1.65;
}

.ltt-about-modern-number-card {
    border: 1px solid rgba(247, 116, 28, 0.45);
    background-color: rgba(255, 255, 255, 0.06);
    padding: 14px;
}

.ltt-about-modern-number {
    display: inline-block;
    color: #f7741c;
    font-size: 26px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: 1px;
    margin-bottom: 8px;
}

.ltt-about-modern-number-card h3 {
    margin: 0 0 8px;
    color: #FFFFFF;
    font-size: 16px;
    line-height: 1.45;
    font-weight: 600;
}

.ltt-about-modern-number-card p {
    margin: 0;
    color: #D8E4F6;
    font-size: 13px;
    line-height: 1.65;
}

.ltt-about-modern-media {
    display: grid;
    gap: 14px;
    background-color: #FFFFFF;
    border: 1px solid #E4EAF3;
    padding: 24px;
}

.ltt-about-modern-media figure {
    margin: 0;
}

.ltt-about-modern-main-image img,
.ltt-about-modern-media-grid img {
    width: 100%;
    height: auto;
    display: block;
}

.ltt-about-modern-media-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.ltt-about-modern-about {
    margin-top: 4px;
}

.ltt-about-modern-about h2 {
    margin: 0 0 10px;
    color: #0C4694;
    font-size: 28px;
    line-height: 1.3;
    font-weight: 700;
}

.ltt-about-modern-about p {
    margin: 0 0 10px;
    color: #27364A;
    font-size: 15px;
    line-height: 1.72;
}

.ltt-about-modern-about p:last-child {
    margin-bottom: 0;
}

.ltt-about-modern-card-vision {
    border-left: 4px solid #f7741c;
    background-color: #FFFFFF;
}

.ltt-about-modern-vision-head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}

.ltt-about-modern-vision-head h3 {
    margin: 0;
}

.ltt-about-modern-vision-icon {
    width: 34px;
    height: 34px;
    border: 1px solid #DCE4F1;
    border-radius: 50%;
    background-color: #F5F8FE;
    color: #0C4694;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.ltt-about-modern-vision-svg {
    width: 18px;
    height: 18px;
}

.ltt-about-modern-location {
    border: 1px solid #DCE4F1;
    background-color: #FFFFFF;
    padding: 16px;
}

.ltt-about-modern-location h3 {
    margin: 0 0 10px;
    color: #0C4694;
    font-size: 20px;
    line-height: 1.35;
    font-weight: 700;
}

.ltt-about-modern-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.ltt-about-modern-chips span {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    border: 1px solid #D7E0EE;
    background-color: #F8FAFD;
    color: #28405E;
    font-size: 13px;
    line-height: 1;
    font-weight: 500;
    padding: 0 10px;
}

.ltt-about-modern-contact {
    background-color: #0C4694;
    padding: 24px;
    border: 1px solid #0C4694;
}

.ltt-about-modern-contact h2 {
    margin: 0 0 12px;
    color: #FFFFFF;
    font-size: 26px;
    line-height: 1.3;
    font-weight: 700;
}

.ltt-about-modern-contact ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 8px;
}

.ltt-about-modern-contact li,
.ltt-about-modern-contact a {
    color: #EAF2FF;
    font-size: 15px;
    line-height: 1.7;
}

.ltt-about-modern-contact strong {
    color: #FFFFFF;
    font-weight: 600;
}

.ltt-about-modern-contact a:hover {
    color: #f7741c;
}

@media (max-width: 1200px) {
    .ltt-about-modern-grid-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ltt-about-modern-head h2 {
        font-size: 28px;
    }
}

@media (max-width: 1024px) {
    .ltt-about-modern-subtitle {
        font-size: 15px;
    }

    .ltt-about-modern-wrap {
        padding: 28px 0 40px;
    }

    .ltt-about-modern-grid-3 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ltt-about-modern-grid-2 {
        grid-template-columns: 1fr;
    }

    .ltt-about-modern-about h2,
    .ltt-about-modern-intro h2,
    .ltt-about-modern-contact h2 {
        font-size: 24px;
    }
}

@media (max-width: 767px) {
    .ltt-about-modern-subtitle {
        font-size: 14px;
        line-height: 1.6;
    }

    .ltt-about-modern-wrap {
        padding: 0 0 24px;
        background: #FFFFFF;
    }

    .ltt-about-modern {
        gap: 12px;
    }

    .ltt-about-modern-intro,
    .ltt-about-modern-block,
    .ltt-about-modern-media,
    .ltt-about-modern-contact {
        padding: 18px 14px;
    }

    .ltt-about-modern-grid-3,
    .ltt-about-modern-grid-4,
    .ltt-about-modern-media-grid {
        grid-template-columns: 1fr;
    }

    .ltt-about-modern-intro h2,
    .ltt-about-modern-head h2,
    .ltt-about-modern-about h2,
    .ltt-about-modern-contact h2 {
        font-size: 21px;
    }
}

/* Products archive page (built from sanphampost.json card structure) */
.ltt-products-archive {
    background-color: #F1F1F1;
    padding: 32px 0 64px;
}

.ltt-products-archive-head {
    margin-bottom: 20px;
}

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

.ltt-product-card {
    background-color: #FFFFFF;
    border: 1px solid #E3E3E3;
    box-shadow: 0 3px 14px rgba(0, 0, 0, 0.05);
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 12px 12px 14px;
}

.ltt-product-card-thumb {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background-color: #FFFFFF;
    margin-bottom: 12px;
}

.ltt-product-card-thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    transition: transform 0.5s ease;
}

.ltt-product-card-title {
    margin: 0 0 14px;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.4px;
    text-align: center;
}

.ltt-product-card-title a {
    color: #2D2D2D;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.ltt-product-card-specs {
    display: flex;
    flex-direction: column;
    gap: 2px;
    text-align: center;
}

.ltt-product-card-specs p {
    margin: 0;
    color: #2D2D2D;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.4px;
}

.ltt-product-card-footer {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: auto;
    padding-top: 18px;
}

.ltt-product-card-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    align-self: center;
    color: #2D2D2D;
}

.ltt-product-card-cta span {
    font-size: 12px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.4px;
    color: inherit;
}

.ltt-product-card-cta .ltt-product-card-cta-icon {
    width: 18px;
    height: 18px;
    display: block;
    color: inherit;
    transition: color 0.35s ease;
}

.ltt-product-card-line {
    width: 100%;
    height: 2px;
    background-color: #0C4694;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.5s ease;
}

.ltt-product-card:hover .ltt-product-card-thumb img {
    transform: scale(1.05);
}

.ltt-product-card:hover .ltt-product-card-line {
    transform: scaleX(1);
}

.ltt-product-card:hover .ltt-product-card-cta span {
    color: #f7741c;
}

.ltt-product-card:hover .ltt-product-card-cta .ltt-product-card-cta-icon {
    color: #f7741c;
}

@media (max-width: 1365px) {
    .ltt-products-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 1024px) {
    .ltt-products-archive {
        padding: 44px 0 52px;
    }

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

    .ltt-product-card-title {
        font-size: 15px;
    }

    .ltt-product-card-specs p {
        font-size: 11px;
    }
}

@media (max-width: 767px) {
    .ltt-products-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .ltt-product-card {
        padding: 0;
    }

    .ltt-product-card-thumb {
        margin-bottom: 10px;
    }

    .ltt-product-card-title {
        font-size: 14px;
        margin-bottom: 10px;
    }

    .ltt-product-card-specs p {
        font-size: 10px;
    }

    .ltt-product-card-footer {
        padding-top: 12px;
        gap: 6px;
    }

    .ltt-product-card-cta span {
        font-size: 11px;
    }

    .ltt-product-card-cta .ltt-product-card-cta-icon {
        width: 18px;
        height: 18px;
    }
}

/* Single product page (built from singleproduct.json + repeaterproduct.json) */
.ltt-product-single-hero {
    background-color: #0C4694;
    min-height: 200px;
    display: flex;
    align-items: center;
    padding: 28px 0;
}

.ltt-product-single-hero .ltt-posts-archive-title {
    font-size: 28px;
    line-height: 1.2;
    margin-bottom: 10px;
}

.ltt-product-single-main-wrap {
    background: #F8F9FB;
    padding: 24px 0 32px;
}

.ltt-product-single-main {
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(0, 1fr);
    gap: 26px;
}

.ltt-product-single-media,
.ltt-product-single-info,
.ltt-product-single-content,
.ltt-product-feature-card {
    background: #FFFFFF;
    border: 1px solid #E3E3E3;
    box-shadow: 0 6px 22px rgba(8, 23, 43, 0.08);
}

.ltt-product-single-media {
    padding: 16px;
}

.ltt-product-single-media-main {
    margin: 0;
    width: 100%;
    aspect-ratio: 1 / 1;
    background: #FFFFFF;
    border: 1px solid #ECECEC;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.ltt-product-single-gallery-main-wrap {
    position: relative;
}

.ltt-product-gallery-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 4;
    width: 34px;
    height: 34px;
    border: 1px solid #C7CED9;
    background: #FFFFFF;
    color: #0C4694;
    font-size: 16px;
    line-height: 1;
    cursor: pointer;
}

.ltt-product-gallery-nav.is-prev {
    left: 10px;
}

.ltt-product-gallery-nav.is-next {
    right: 10px;
}

.ltt-product-single-main-slide {
    display: none;
    border: 0;
    background: transparent;
    width: 100%;
    height: 100%;
    padding: 0;
    cursor: zoom-in;
}

.ltt-product-single-main-slide.is-active {
    display: block;
}

.ltt-product-single-main-slide img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.ltt-product-single-thumbs-wrap {
    margin-top: 12px;
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr) 32px;
    gap: 8px;
    align-items: center;
}

.ltt-product-gallery-thumbs-nav {
    width: 32px;
    height: 32px;
    border: 1px solid #D1D6DF;
    background: #FFFFFF;
    color: #0C4694;
    font-size: 14px;
    line-height: 1;
    cursor: pointer;
}

.ltt-product-single-media-thumbs {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.ltt-product-single-media-thumbs::-webkit-scrollbar {
    display: none;
}

.ltt-product-single-thumb {
    border: 1px solid #DADADA;
    background: #FFFFFF;
    padding: 4px;
    width: 78px;
    min-width: 78px;
    height: 78px;
    cursor: pointer;
}

.ltt-product-single-thumb.is-active {
    border-color: #0C4694;
}

.ltt-product-single-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.ltt-product-single-info {
    padding: 22px;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.ltt-product-single-summary {
    margin: 0;
    color: #2D2D2D;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.7;
    text-align: justify;
}

.ltt-product-single-specs {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.ltt-product-single-specs li {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding: 11px 12px;
    border: 1px solid #E7ECF5;
    background: #F9FCFF;
}

.ltt-product-single-spec-label {
    color: #0C4694;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
}

.ltt-product-single-spec-value {
    color: #2D2D2D;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.5;
}

.ltt-product-single-zalo {
    width: fit-content;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 11px 14px;
    background: #0C4694;
    color: #FFFFFF;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.3;
}

.ltt-product-single-zalo img {
    width: 20px;
    height: 20px;
    display: block;
}

.ltt-product-single-zalo:hover {
    background: #f7741c;
}

.ltt-product-single-content-wrap {
    background: #F8F9FB;
    padding: 0 0 36px;
}

.ltt-product-single-content {
    padding: 22px;
}

.ltt-product-single-content > *:first-child {
    margin-top: 0;
}

.ltt-product-single-content > *:last-child {
    margin-bottom: 0;
}

.ltt-product-single-content p,
.ltt-product-single-content li {
    color: #2D2D2D;
    font-size: 15px;
    line-height: 1.75;
}

.ltt-product-single-content img {
    max-width: 100%;
    height: auto;
}

.ltt-product-single-features-wrap {
    background: #FFFFFF;
    padding: 32px 0 44px;
}

.ltt-product-single-section-title {
    margin: 0 0 18px;
    color: #0C4694;
    text-align: center;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.2;
}

.ltt-product-single-features-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.ltt-product-feature-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 16px;
    text-align: center;
}

.ltt-product-feature-thumb {
    margin: 0 auto 10px;
    width: 84px;
    height: 84px;
    border: 1px solid #E6EEF8;
    background: #F6FAFF;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.ltt-product-feature-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ltt-product-feature-title {
    margin: 0 0 8px;
    color: #0C4694;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.45;
}

.ltt-product-feature-content {
    margin: 0;
    color: #2D2D2D;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.65;
    text-align: justify;
    overflow: hidden;
    transition: max-height 0.25s ease;
    width: 100%;
}

.ltt-product-feature-content.is-collapsed {
    position: relative;
}

.ltt-product-feature-content.is-collapsed::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 28px;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #FFFFFF 85%);
    pointer-events: none;
}

.ltt-product-feature-content.is-expanded::after {
    display: none;
}

.ltt-feature-expand-btn {
    margin-top: auto;
    width: 100%;
    min-height: 38px;
    border: 1px solid #D7E4F6;
    background: #F7FAFF;
    color: #0C4694;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
    padding: 8px 12px;
    cursor: pointer;
}

.ltt-product-single-related {
    background: #F1F1F1;
    padding: 34px 0 54px;
}

.ltt-product-related-track {
    gap: 14px;
}

.ltt-product-related-slide {
    min-width: 0;
}

.ltt-product-related-slide .ltt-product-card {
    height: 100%;
}

.ltt-product-single-related .ltt-single-related-slide {
    flex: 0 0 calc((100% - 42px) / 4);
    min-width: calc((100% - 42px) / 4);
}

.ltt-product-lightbox {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

.ltt-product-lightbox[hidden] {
    display: none !important;
}

.ltt-product-lightbox-overlay {
    position: absolute;
    inset: 0;
    border: 0;
    background: rgba(9, 18, 30, 0.86);
    backdrop-filter: blur(4px);
    cursor: pointer;
}

.ltt-product-lightbox-dialog {
    position: relative;
    z-index: 2;
    width: min(1080px, 100%);
    max-height: calc(100vh - 48px);
    background: linear-gradient(160deg, #0E1B2E 0%, #111A29 100%);
    border: 1px solid rgba(255, 255, 255, 0.24);
    box-shadow: 0 22px 54px rgba(0, 0, 0, 0.48);
    padding: 52px 60px 26px;
    overflow: hidden;
}

.ltt-product-lightbox-close {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 36px;
    height: 36px;
    border: 1px solid rgba(255, 255, 255, 0.4);
    background: rgba(255, 255, 255, 0.06);
    color: #FFFFFF;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
}

.ltt-product-lightbox-media {
    margin: 0;
    width: 100%;
    min-height: min(70vh, 680px);
    display: flex;
    align-items: center;
    justify-content: center;
}

.ltt-product-lightbox-media img {
    max-width: 100%;
    max-height: min(70vh, 680px);
    object-fit: contain;
}

.ltt-product-lightbox-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 38px;
    height: 38px;
    border: 1px solid rgba(255, 255, 255, 0.45);
    background: rgba(255, 255, 255, 0.08);
    color: #FFFFFF;
    font-size: 16px;
    line-height: 1;
    cursor: pointer;
}

.ltt-product-lightbox-nav.is-prev {
    left: 12px;
}

.ltt-product-lightbox-nav.is-next {
    right: 12px;
}

.ltt-product-lightbox-counter {
    margin: 10px 0 0;
    text-align: center;
    color: rgba(255, 255, 255, 0.9);
    font-size: 13px;
    line-height: 1.4;
}

body.ltt-product-lightbox-open {
    overflow: hidden;
}

@media (max-width: 1365px) {
    .ltt-product-single-features-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1024px) {
    .ltt-product-single-title {
        font-size: 30px;
    }

    .ltt-product-single-main {
        grid-template-columns: 1fr;
    }

    .ltt-product-single-features-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ltt-product-single-thumb {
        width: 72px;
        min-width: 72px;
        height: 72px;
    }

    .ltt-product-single-related .ltt-single-related-slide {
        flex: 0 0 calc((100% - 28px) / 3);
        min-width: calc((100% - 28px) / 3);
    }

    .ltt-product-lightbox-dialog {
        padding: 46px 42px 20px;
    }
}

@media (max-width: 767px) {
    .ltt-product-single-hero {
        padding: 28px 0;
    }

    .ltt-product-single-title {
        font-size: 24px;
    }

    .ltt-product-single-main-wrap {
        padding: 14px 0 22px;
    }

    .ltt-product-single-media,
    .ltt-product-single-info,
    .ltt-product-single-content,
    .ltt-product-feature-card {
        box-shadow: 0 3px 12px rgba(8, 23, 43, 0.08);
    }

    .ltt-product-single-media,
    .ltt-product-single-info,
    .ltt-product-single-content,
    .ltt-product-feature-card {
        padding: 12px;
    }

    .ltt-product-single-summary,
    .ltt-product-single-content p,
    .ltt-product-single-content li {
        font-size: 14px;
        line-height: 1.7;
    }

    .ltt-product-single-spec-label,
    .ltt-product-single-spec-value {
        font-size: 13px;
    }

    .ltt-product-single-zalo {
        width: 100%;
        justify-content: center;
    }

    .ltt-product-single-section-title {
        font-size: 24px;
    }

    .ltt-product-single-features-grid {
        grid-template-columns: 1fr;
    }

    .ltt-product-gallery-nav,
    .ltt-product-gallery-thumbs-nav {
        width: 30px;
        height: 30px;
        font-size: 12px;
    }

    .ltt-product-single-thumbs-wrap {
        grid-template-columns: 30px minmax(0, 1fr) 30px;
        gap: 6px;
    }

    .ltt-product-single-thumb {
        width: 64px;
        min-width: 64px;
        height: 64px;
    }

    .ltt-product-single-related .ltt-single-related-track {
        overflow-x: auto;
        scroll-padding-inline: 0;
    }

    .ltt-product-single-related .ltt-single-related-slide {
        flex: 0 0 calc((100% - 12px) / 1.25);
        min-width: calc((100% - 12px) / 1.25);
    }

    .ltt-product-lightbox {
        padding: 8px;
    }

    .ltt-product-lightbox-dialog {
        width: 100%;
        max-height: calc(100vh - 16px);
        padding: 40px 10px 14px;
    }

    .ltt-product-lightbox-media {
        min-height: min(60vh, 430px);
    }

    .ltt-product-lightbox-nav {
        width: 34px;
        height: 34px;
    }

    .ltt-product-lightbox-nav.is-prev {
        left: 6px;
    }

    .ltt-product-lightbox-nav.is-next {
        right: 6px;
    }

    .ltt-product-feature-title {
        font-size: 17px;
    }

    .ltt-product-feature-content {
        font-size: 13px;
    }
}
