/*
Theme Name: Loan Trường
Theme URI: https://xenangloantruong.vn/
Author: Loan Trường
Author URI: https://xenangloantruong.vn/
Description: Theme WordPress cho doanh nghiệp dịch vụ xe nâng Loan Trường, chuyển đổi từ giao diện HTML gốc. Hỗ trợ quản trị dịch vụ, dự án, bài viết và banner trang chủ.
Version: 3.0
Requires at least: 6.2
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: loan-truong
*/

/* Be Vietnam Pro — self-hosted (SIL Open Font License), thay cho Google Fonts CDN
   để tránh lỗi tải font khi mạng/máy người dùng chặn hoặc can thiệp request tới Google. */
@font-face {
  font-family: "Be Vietnam Pro";
  src: url("assets/fonts/BeVietnamPro-Regular.woff2") format("woff2");
  font-weight: 100 550;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Be Vietnam Pro";
  src: url("assets/fonts/BeVietnamPro-SemiBold.woff2") format("woff2");
  font-weight: 551 675;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Be Vietnam Pro";
  src: url("assets/fonts/BeVietnamPro-Bold.woff2") format("woff2");
  font-weight: 676 775;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Be Vietnam Pro";
  src: url("assets/fonts/BeVietnamPro-ExtraBold.woff2") format("woff2");
  font-weight: 776 875;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Be Vietnam Pro";
  src: url("assets/fonts/BeVietnamPro-Black.woff2") format("woff2");
  font-weight: 876 900;
  font-style: normal;
  font-display: swap;
}

:root {
  --lt-red: #ed1c24;
  --lt-dark: #1d2025;
  --lt-muted: #686d76;
  --lt-line: #e7e9ed;
  --lt-bg: #f6f7f9;
  --lt-container: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { margin: 0; color: var(--lt-dark); background: #fff; font-family: "Be Vietnam Pro", Arial, Helvetica, sans-serif; font-size: 16px; line-height: 1.6; }
img { max-width: 100%; height: auto; }
a { color: inherit; }
.lt-wp-container { width: min(calc(100% - 32px), var(--lt-container)); margin-inline: auto; }
.lt-screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

/* Cụm liên hệ nổi dùng chung cho mọi trang con. Trang chủ giữ cùng bộ nút
   trong giao diện riêng nên phần markup ở footer chỉ được in ngoài trang chủ. */
.lt-floating-buttons { position: fixed; right: 20px; bottom: 20px; display: flex; flex-direction: column; gap: 12px; z-index: 100100; }
.lt-floating-btn { display: flex; width: 60px; height: 60px; align-items: center; justify-content: center; border-radius: 50%; color: #fff; text-decoration: none; font-size: 24px; box-shadow: 0 4px 12px rgba(0,0,0,.15); transform-origin: 50% 55%; animation: lt-contact-wiggle 3.4s ease-in-out infinite; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; will-change: transform; }
.lt-floating-btn:nth-child(1) { animation-delay: 0s; }
.lt-floating-btn:nth-child(2) { animation-delay: .35s; }
.lt-floating-btn:nth-child(3) { animation-delay: .7s; }
.lt-floating-btn:hover { animation-play-state: paused; transform: scale(1.1); box-shadow: 0 6px 16px rgba(0,0,0,.25); }
.lt-floating-btn:focus-visible { outline: 3px solid rgba(237,28,36,.3); outline-offset: 4px; }
.lt-floating-btn svg { width: 28px; height: 28px; }
.lt-zalo-btn { overflow: hidden; padding: 0; background: #fff; }
.lt-zalo-btn:hover { background: #fff; }
.lt-zalo-logo-img { display: block; width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }
.lt-sms-btn { background: #25d366; }
.lt-sms-btn:hover { background: #1fa254; }
.lt-call-btn { background: #e71922; }
.lt-call-btn:hover { background: #c80f18; }

@keyframes lt-contact-wiggle {
  0%, 68%, 100% { transform: translate(0,0) rotate(0deg) scale(1); }
  72% { transform: translate(-3px,-1px) rotate(-8deg) scale(1.03); }
  76% { transform: translate(3px,0) rotate(8deg) scale(1.04); }
  80% { transform: translate(-2px,-1px) rotate(-6deg) scale(1.03); }
  84% { transform: translate(2px,0) rotate(6deg) scale(1.04); }
  88% { transform: translate(-1px,0) rotate(-3deg) scale(1.02); }
  92% { transform: translate(1px,0) rotate(3deg) scale(1.02); }
  96% { transform: translate(0,0) rotate(0deg) scale(1); }
}

.lt-wp-main { min-height: 55vh; padding: 54px 0 76px; background: var(--lt-bg); }
.lt-wp-entry-heading { display: flex; width: 100%; max-width: 820px; justify-content: center; margin: 0 auto 34px; text-align: center !important; }
.lt-wp-entry-heading h1 { width: 100%; margin: 0 auto; color: var(--lt-dark); font-size: clamp(34px,4.4vw,58px); line-height: 1.15; text-align: center !important; letter-spacing: -.035em; }
.lt-wp-entry-heading--wide { max-width: none; justify-content: flex-start; text-align: left !important; }
.lt-wp-entry-heading--wide h1 { margin: 0; text-align: left !important; }
.lt-wp-breadcrumb { margin-bottom: 22px; color: var(--lt-muted); font-size: 14px; }
.lt-wp-breadcrumb a { color: var(--lt-red); text-decoration: none; }
.lt-wp-breadcrumb a:hover { text-decoration: underline; }
.lt-wp-title { margin: 0 0 26px; font-size: clamp(34px, 5vw, 58px); line-height: 1.1; }
.lt-wp-card { overflow: hidden; max-width: 820px; margin-inline: auto; padding: clamp(22px, 4vw, 48px); border: 1px solid var(--lt-line); border-radius: 22px; background: #fff; box-shadow: 0 18px 50px rgba(25,29,36,.07); }
.lt-wp-cover { width: 100%; max-height: 560px; margin-bottom: 30px; border-radius: 18px; object-fit: cover; }
.lt-wp-content { color: #424750; font-size: 18px; line-height: 1.8; }
.lt-wp-content h2 { margin: 1.6em 0 .6em; color: var(--lt-dark); font-size: 26px; line-height: 1.35; }
.lt-wp-content h3 { margin: 1.3em 0 .5em; color: var(--lt-dark); font-size: 21px; line-height: 1.4; }
.lt-wp-content h4 { margin: 1.2em 0 .5em; color: var(--lt-dark); font-size: 18px; line-height: 1.45; }
.lt-wp-meta { display: flex; flex-wrap: wrap; gap: 12px 22px; margin: -12px 0 28px; color: var(--lt-muted); }

.lt-wp-layout { display: grid; grid-template-columns: minmax(0,1fr) 320px; align-items: start; gap: 32px; }
.lt-wp-layout .lt-wp-card { max-width: none; margin-inline: 0; }
.lt-wp-mobile-toc-slot:empty { display: none; }
.lt-wp-byline { display: flex; align-items: center; gap: 12px; margin: 0 0 24px; padding-bottom: 20px; border-bottom: 1px solid var(--lt-line); }
.lt-wp-card-heading { width: 100%; margin: 0 0 28px; text-align: center; }
.lt-wp-card-heading h1 { max-width: 920px; margin: 0 auto; color: var(--lt-dark); font-size: clamp(28px,3vw,40px); line-height: 1.2; font-weight: 850; letter-spacing: -.03em; text-wrap: wrap; }
.lt-wp-card-heading + .lt-wp-content > h1:first-child,
.lt-wp-card-heading + .lt-wp-mobile-toc-slot + .lt-wp-content > h1:first-child { display: none; }
.lt-wp-avatar { width: 44px; height: 44px; border-radius: 50%; flex: 0 0 44px; }
.lt-wp-byline-info { display: flex; flex-direction: column; gap: 2px; margin-right: auto; }
.lt-wp-author { font-size: 14px; font-weight: 700; color: var(--lt-dark); }
.lt-wp-author-edit { display: inline-grid; place-items: center; width: 18px; height: 18px; margin-left: 6px; border-radius: 50%; color: var(--lt-muted); vertical-align: -3px; transition: color .2s ease; }
.lt-wp-author-edit:hover { color: var(--lt-red); }
.lt-wp-author-edit svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.lt-wp-date { font-size: 13px; color: var(--lt-muted); }
.lt-wp-share { display: flex; align-items: center; gap: 8px; }
.lt-wp-share-label { font-size: 13px; color: var(--lt-muted); margin-right: 2px; }
.lt-wp-share-btn { display: inline-grid; place-items: center; min-width: 36px; height: 36px; padding: 0 10px; border-radius: 999px; border: 1px solid var(--lt-line); background: #fff; color: var(--lt-dark); text-decoration: none; cursor: pointer; font-size: 12px; font-weight: 700; white-space: nowrap; transition: border-color .2s ease, color .2s ease, background .2s ease; }
.lt-wp-share-btn svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.lt-wp-share-btn:hover { border-color: var(--lt-red); color: var(--lt-red); }
.lt-wp-share-btn.is-copied { border-color: var(--lt-red); background: var(--lt-red); color: #fff; }
.lt-wp-share-btn[href*="facebook.com"] svg { fill: currentColor; stroke: none; }

.lt-wp-sidebar { align-self: start; position: sticky; top: 24px; max-height: calc(100vh - 48px); overflow-x: hidden; overflow-y: auto; padding-right: 4px; scrollbar-width: thin; scrollbar-color: #d6d9de transparent; }
.lt-wp-sidebar-title { margin: 0 0 16px; font-size: 18px; font-weight: 800; color: var(--lt-dark); }
.lt-wp-related-section { margin-top: 24px; }
.lt-wp-toc { overflow: hidden; border: 1px solid var(--lt-line); border-radius: 18px; background: #fff; box-shadow: 0 14px 36px rgba(25,29,36,.06); }
.lt-wp-toc-toggle { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 18px 16px; border: 0; border-bottom: 1px solid var(--lt-line); color: var(--lt-dark); background: #fff; font: inherit; cursor: pointer; }
.lt-wp-toc-heading { display: inline-flex; min-width: 0; align-items: center; gap: 9px; font-size: 18px; font-weight: 800; text-align: left; }
.lt-wp-toc-heading svg { width: 18px; height: 18px; flex: 0 0 18px; fill: none; stroke: currentColor; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; transition: transform .2s ease; }
.lt-wp-toc-toggle-label { color: var(--lt-red); font-size: 12px; font-weight: 800; }
.lt-wp-toc-body { padding: 12px; }
.lt-wp-toc-list { display: flex; flex-direction: column; gap: 4px; max-height: min(52vh, 520px); margin: 0; padding: 0 2px 0 0; overflow-x: hidden; overflow-y: auto; list-style: none; scrollbar-width: thin; scrollbar-color: #d6d9de transparent; }
.lt-wp-toc-item { margin: 0; padding: 0; }
.lt-wp-toc-item a { display: block; padding: 10px 12px; border-left: 3px solid transparent; border-radius: 8px; color: #41464e; font-size: 13px; font-weight: 700; line-height: 1.5; text-decoration: none; transition: color .18s ease, background .18s ease, border-color .18s ease; }
.lt-wp-toc-item a:hover { color: var(--lt-red); background: #fff7f7; }
.lt-wp-toc-item a.is-active { border-left-color: var(--lt-red); color: var(--lt-red); background: #fff0f1; }
.lt-wp-toc-item.is-subheading a { padding-left: 28px; color: #666d76; font-size: 12.5px; font-weight: 600; }
.lt-wp-toc-item.is-subheading a.is-active { color: var(--lt-red); }
.lt-wp-toc-text { min-width: 0; overflow-wrap: anywhere; }
.lt-wp-toc-contact { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 12px; padding: 12px 13px; border: 1px solid var(--lt-line); border-radius: 12px; color: var(--lt-dark); background: #f8f9fa; text-decoration: none; transition: border-color .2s ease, background .2s ease; }
.lt-wp-toc-contact span { display: flex; min-width: 0; flex-direction: column; gap: 2px; }
.lt-wp-toc-contact small { color: var(--lt-muted); font-size: 11px; }
.lt-wp-toc-contact strong { font-size: 13px; line-height: 1.4; }
.lt-wp-toc-contact > svg { width: 34px; height: 34px; flex: 0 0 34px; padding: 8px; border-radius: 50%; fill: none; stroke: #fff; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; background: var(--lt-red); }
.lt-wp-toc-contact:hover { border-color: var(--lt-red); background: #fff7f7; }
.lt-wp-toc.is-collapsed .lt-wp-toc-toggle { border-bottom-color: transparent; }
.lt-wp-toc.is-collapsed .lt-wp-toc-heading svg { transform: rotate(-90deg); }
.lt-wp-toc.is-collapsed .lt-wp-toc-body { display: none; }
.lt-wp-content h2[id], .lt-wp-content h3[id], .lt-wp-content h4[id], .lt-wp-content h5[id] { scroll-margin-top: 120px; }
.lt-wp-related-list { display: flex; flex-direction: column; gap: 14px; }
.lt-wp-related-item { display: flex; gap: 12px; padding: 10px; border: 1px solid var(--lt-line); border-radius: 14px; background: #fff; text-decoration: none; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.lt-wp-related-item:hover { border-color: var(--lt-red); box-shadow: 0 10px 24px rgba(25,29,36,.08); transform: translateY(-1px); }
.lt-wp-related-item img { width: 84px; height: 64px; border-radius: 10px; object-fit: cover; flex: 0 0 84px; }
.lt-wp-related-copy { display: flex; flex-direction: column; gap: 6px; min-width: 0; justify-content: center; }
.lt-wp-related-title { font-size: 14px; font-weight: 700; color: var(--lt-dark); line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.lt-wp-related-date { font-size: 12px; color: var(--lt-muted); }

.lt-wp-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 24px; }
.lt-wp-list-card { overflow: hidden; border: 1px solid var(--lt-line); border-radius: 18px; background: #fff; box-shadow: 0 14px 36px rgba(25,29,36,.06); }
.lt-wp-list-card img { width: 100%; height: 230px; object-fit: cover; }
.lt-wp-list-card-copy { padding: 22px; }
.lt-wp-list-card h2 { margin: 0 0 12px; font-size: 23px; line-height: 1.35; }
.lt-wp-list-card h2 a { text-decoration: none; }
.lt-wp-list-card h2 a:hover { color: var(--lt-red); }
.lt-wp-list-card p { color: var(--lt-muted); line-height: 1.65; }
.lt-wp-pagination { margin-top: 34px; }
.lt-wp-pagination .nav-links { display: flex; flex-wrap: wrap; gap: 8px; }
.lt-wp-pagination a, .lt-wp-pagination span { display: grid; min-width: 42px; height: 42px; place-items: center; padding: 0 12px; border: 1px solid var(--lt-line); border-radius: 9px; background: #fff; text-decoration: none; }
.lt-wp-pagination .current { color: #fff; border-color: var(--lt-red); background: var(--lt-red); }

@media (max-width: 900px) {
	.lt-wp-grid { grid-template-columns: 1fr; }
	.lt-wp-layout { grid-template-columns: 1fr; }
	.lt-wp-sidebar { position: static; max-height: none; overflow: visible; padding-right: 0; }
	.lt-wp-mobile-toc-slot:not(:empty) { display: block; margin: 0 0 24px; }
	.lt-wp-toc-list { max-height: min(58vh, 460px); }
	.lt-wp-entry-heading--wide { justify-content: center; text-align: center !important; }
	.lt-wp-entry-heading--wide h1 { text-align: center !important; }
}

@media (max-width: 600px) {
  .lt-floating-buttons { right: 15px; bottom: 15px; gap: 10px; }
  .lt-floating-btn { width: 52px; height: 52px; }
  .lt-floating-btn svg { width: 24px; height: 24px; }
  .lt-wp-list-card img { height: 210px; }
  .lt-wp-main { padding-top: 34px; }
  .lt-wp-byline { flex-wrap: wrap; row-gap: 12px; }
  .lt-wp-card-heading { margin-bottom: 22px; }
  .lt-wp-card-heading h1 { font-size: clamp(25px,7.5vw,30px); line-height: 1.22; }
  .lt-wp-share { width: 100%; justify-content: flex-start; }
  .lt-wp-related-item img { width: 68px; height: 52px; flex-basis: 68px; }
  .lt-wp-toc-toggle { padding: 16px; }
  .lt-wp-toc-heading { font-size: 17px; }
  .lt-wp-toc-item a { font-size: 13px; }
  .lt-wp-toc-contact strong { font-size: 12.5px; }
}

@media (prefers-reduced-motion: reduce) {
  .lt-floating-btn { animation: none !important; }
}

/* ==========================================================
   CANONICAL COMPONENTS — header, banner and footer
   These rules intentionally come last and govern every view.
   ========================================================== */
.container { width: min(1120px, calc(100% - 48px)); margin-inline: auto; }
.site-header { position: relative; z-index: 1000; height: 106px; background: rgba(255,255,255,.97); border-bottom: 1px solid #ececef; }
.nav-wrap { height: 100%; display: flex; align-items: center; gap: 30px; }
.brand { flex: 0 0 132px; display: block; }
.brand img { display: block; width: auto; height: 92px; object-fit: contain; }
/* Không còn nút mũi tên quay lại: logo đứng sát lề trái container, bù ~4px khoảng trắng trong ảnh logo để thẳng hàng với breadcrumb/nội dung. */
.nav-wrap > .brand { margin-left: -4px; }
.main-nav { display: flex; align-items: center; justify-content: center; gap: clamp(17px,2vw,35px); margin-left: auto; }
.main-nav a, .nav-link-dropdown { position: relative; display: flex; align-items: center; gap: 5px; padding: 43px 0 37px; color: #202124; font-size: 14px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.main-nav a::after { content: ""; position: absolute; right: 50%; bottom: 25px; left: 50%; height: 3px; border-radius: 10px; background: #e71922; transition: left .2s ease,right .2s ease; }
.main-nav a:hover { color: #e71922; }
.main-nav a:hover::after { right: 0; left: 0; }
.nav-item-with-dropdown { position: relative; }
.dropdown-arrow { margin-left: 5px; color: #e71922; font-size: 10px; }
.dropdown-menu { position: absolute; top: calc(100% - 14px); left: 50%; display: grid; visibility: hidden; min-width: 220px; padding: 8px 0; border: 1px solid #ececef; border-radius: 10px; background: #fff; box-shadow: 0 15px 35px rgba(25,29,36,.13); opacity: 0; transform: translate(-50%,8px); transition: .2s ease; }
.nav-item-with-dropdown:hover .dropdown-menu { visibility: visible; opacity: 1; transform: translate(-50%,0); }
.dropdown-menu a { display: block; padding: 12px 18px; font-size: 13px; }
.dropdown-menu a::after { display: none; }
.dropdown-level { display: flex; flex-direction: column; }
.dropdown-item { cursor: pointer; text-align: left; }
.dropdown-menu a.dropdown-item[data-submenu] { display: flex; align-items: center; justify-content: space-between; }
.dropdown-back { display: block; width: 100%; padding: 12px 18px; border: 0; border-bottom: 1px solid #f3f5f8; color: #202124; background: transparent; font: inherit; font-size: 13px; font-weight: 600; text-align: left; cursor: pointer; transition: background .2s ease,color .2s ease,padding-left .2s ease; }
.dropdown-back:hover { padding-left: 22px; color: #e71922; background: #f8f9fa; }
.menu-toggle { display: none; width: 45px; height: 45px; padding: 10px; border: 0; border-radius: 10px; background: #e71922; cursor: pointer; }
.menu-toggle span { display: block; height: 2px; margin: 5px 0; background: #fff; }

.service-banner.lt-global-banner { --banner-accent:#e71922; --banner-dark:#24272d; position: relative; isolation: isolate; min-height: clamp(330px,34vw,460px); overflow: hidden; color: #fff; background: var(--banner-dark); }
.lt-global-banner .service-banner-track { position: absolute; inset: 0; z-index: -2; }
.lt-global-banner .service-banner-slide { position: absolute; inset: 0; visibility: hidden; background: linear-gradient(120deg,var(--banner-dark),color-mix(in srgb,var(--banner-accent) 76%,#111 24%)); background-position: center; background-size: cover; opacity: 0; transform: scale(1.04); transition: opacity .65s ease,visibility .65s ease,transform 4.8s linear; }
.lt-global-banner .service-banner-slide:nth-child(2) { background-image: radial-gradient(circle at 75% 30%,color-mix(in srgb,var(--banner-accent) 72%,#fff 28%),transparent 30%),linear-gradient(135deg,#17191d,var(--banner-dark)); }
.lt-global-banner .service-banner-slide:nth-child(3) { background-image: linear-gradient(115deg,color-mix(in srgb,var(--banner-dark) 88%,#fff 12%) 0 48%,var(--banner-accent) 48% 100%); }
.lt-global-banner .service-banner-slide.is-active { visibility: visible; opacity: 1; transform: scale(1); }
.lt-global-banner::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg,rgba(17,19,23,.86),rgba(17,19,23,.48) 58%,rgba(17,19,23,.18)); pointer-events: none; }
.lt-global-banner.is-image-only::after { display: none; }
.lt-global-banner.is-image-only .service-banner-slide { background-color: #eceef1; background-position: center; background-size: cover; }
.lt-global-banner-copy { position: relative; z-index: 2; display: flex; min-height: clamp(330px,34vw,460px); flex-direction: column; justify-content: center; padding-block: 58px 78px; }
.lt-global-banner-kicker { margin: 0 0 14px; font-size: 13px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.lt-global-banner-kicker::before { content: ""; display: inline-block; width: 38px; height: 3px; margin: 0 10px 3px 0; border-radius: 9px; background: #e71922; }
.lt-global-banner h1 { max-width: 900px; margin: 0; font-size: clamp(38px,5vw,66px); line-height: 1.06; letter-spacing: -.045em; }
.lt-global-banner-description { max-width: 650px; margin: 18px 0 0; color: rgba(255,255,255,.78); line-height: 1.7; }
.lt-global-banner-crumb { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; color: rgba(255,255,255,.74); font-size: 14px; }
.lt-global-banner-crumb a { color: #fff; text-decoration: none; }
.service-banner-control { position: absolute; top: 50%; z-index: 4; display: grid; width: 44px; height: 44px; place-items: center; padding: 0; border: 1px solid rgba(255,255,255,.5); border-radius: 50%; color: #fff; background: rgba(20,22,27,.34); cursor: pointer; transform: translateY(-50%); }
.service-banner-control:hover { background: #e71922; }
.service-banner-control svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; }
.service-banner-prev { left: max(20px,calc((100vw - 1280px)/2)); }
.service-banner-next { right: max(20px,calc((100vw - 1280px)/2)); }
.service-banner-dots { position: absolute; bottom: 24px; left: 50%; z-index: 4; display: flex; gap: 8px; transform: translateX(-50%); }
.service-banner-dot { width: 9px; height: 9px; padding: 0; border: 1px solid rgba(255,255,255,.8); border-radius: 50%; background: transparent; cursor: pointer; transition: .2s ease; }
.service-banner-dot.is-active { width: 28px; border-radius: 99px; background: #fff; }

/* Ảnh banner riêng theo thiết bị: desktop lớn / MacBook-iPad / điện thoại. */
@media (min-width: 601px) and (max-width: 1440px) {
  .lt-global-banner .service-banner-slide {
    background-image: var(--lt-banner-tablet, var(--lt-banner-desktop)) !important;
  }
}
@media (max-width: 600px) {
  .lt-global-banner .service-banner-slide {
    background-image: var(--lt-banner-mobile, var(--lt-banner-tablet, var(--lt-banner-desktop))) !important;
  }
}

.site-footer { padding: 58px 0 0; color: #555a62; background: #fff; border-top: 1px solid #ececef; }
.footer-grid { display: grid; grid-template-columns: 1.18fr .85fr .85fr 1.35fr; gap: 48px; padding-bottom: 46px; }
.footer-logo { display: inline-flex; }
.footer-logo img { display: block; width: auto; height: 112px; object-fit: contain; }
.footer-brand p { max-width: 285px; margin: 16px 0 22px; font-size: 14px; line-height: 1.75; }
.footer-col h3 { margin: 8px 0 20px; color: #202124; font-size: 15px; text-transform: uppercase; }
.footer-col ul { display: grid; gap: 12px; padding: 0; margin: 0; list-style: none; }
.footer-col li { color: #555a62; font-size: 14px; line-height: 1.55; }
.footer-col a { display: flex; justify-content: space-between; gap: 10px; color: inherit; text-decoration: none; }
.footer-col a:hover { color: #e71922; }
.footer-col a span { color: #c8cbd0; }
.footer-contact li { display: grid; grid-template-columns: 24px minmax(0,1fr); gap: 10px; align-items: start; }
.footer-contact a { display: inline; overflow-wrap: anywhere; }
.footer-icon { color: #e71922; }
.footer-icon svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.footer-socials { display: flex; flex-wrap: wrap; gap: 10px; }
.footer-socials a { display: grid; min-width: 48px; height: 48px; place-items: center; padding: 0 10px; border: 1px solid #ececef; border-radius: 50px; color: #555a62; font-size: 13px; font-weight: 800; text-decoration: none; }
.footer-socials a:hover { color: #fff; border-color: #e71922; background: #e71922; }
.footer-map { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(230px,.62fr) minmax(0,1.38fr); min-height: 340px; margin-top: 8px; overflow: hidden; border: 1px solid #e8e9ec; border-radius: 24px; background: #f6f7f8; box-shadow: 0 18px 44px rgba(24,25,28,.08); }
.footer-map-copy { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: 40px; }
.footer-map-eyebrow { margin: 0 0 10px; color: #e71922; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.footer-map-copy h3 { margin: 0 0 14px; color: #202124; font-size: 26px; line-height: 1.25; letter-spacing: -.02em; }
.footer-map-copy h3 span { color: #e71922; }
.footer-map-copy > p:not(.footer-map-eyebrow) { margin: 0; color: #666b73; font-size: 14px; line-height: 1.7; }
.footer-map-call { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 42px; margin-top: 24px; padding: 0 20px; border-radius: 999px; color: #fff; background: #e71922; font-size: 13px; font-weight: 800; text-decoration: none; box-shadow: 0 10px 22px rgba(231,25,34,.2); transition: .2s ease; }
.footer-map-call:hover { color: #fff; background: #c80f18; transform: translateY(-2px); box-shadow: 0 14px 26px rgba(231,25,34,.26); }
.footer-map-call svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.footer-map-frame { min-width: 0; min-height: 340px; background: #e8e9ec; }
.footer-map-frame iframe { display: block; width: 100%; height: 100%; min-height: 340px; border: 0; }
.footer-bottom { padding: 20px 0; color: #c7c8cb; background: #18191c; font-size: 14px; }
.footer-bottom-inner { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.footer-bottom-inner p { margin: 0; }
.footer-bottom-links { display: flex; gap: 18px; }
.footer-bottom-links a { color: inherit; text-decoration: none; }

@media (max-width: 1100px) {
  .main-nav { gap: 16px; }
  .main-nav a, .nav-link-dropdown { font-size: 12px; }
}
@media (max-width: 900px) {
  .container { width: min(100% - 32px,1120px); }
  .site-header { position: sticky; top: 0; height: 80px; }
  .brand img { height: 70px; }
  .menu-toggle { display: block; margin-left: auto; }
  .main-nav { position: absolute; top: 80px; right: 16px; left: 16px; display: none; max-height: calc(100vh - 100px); overflow-y: auto; padding: 12px 20px; border: 1px solid #ececef; border-radius: 14px; background: #fff; box-shadow: 0 18px 45px rgba(25,29,36,.14); }
  .main-nav.open { display: grid; }
  .main-nav a, .nav-link-dropdown { padding: 13px 0; font-size: 14px; }
  .main-nav a::after { display: none; }
  .dropdown-menu { position: static; display: none; visibility: visible; box-shadow: none; opacity: 1; transform: none; }
  .nav-item-with-dropdown:hover .dropdown-menu { display: grid; transform: none; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-map { grid-template-columns: 1fr; }
  .footer-map-copy { padding: 30px; }
  .footer-map-frame, .footer-map-frame iframe { min-height: 300px; }
  .lt-global-banner h1 { max-width: calc(100% - 70px); }
  .service-banner-prev { left: 12px; }
  .service-banner-next { right: 12px; }
}
@media (max-width: 600px) {
  .footer-grid { grid-template-columns: 1fr; gap: 28px; }
  .footer-map { border-radius: 18px; }
  .footer-map-copy { padding: 26px 22px; }
  .footer-map-copy h3 { font-size: 23px; }
  .footer-map-frame, .footer-map-frame iframe { min-height: 270px; }
  .footer-bottom-inner { align-items: flex-start; flex-direction: column; }
  .lt-global-banner-copy { padding-inline: 28px; }
  .lt-global-banner h1 { font-size: 38px; }
}

/* Menu mobile dùng chung cho trang chủ, trang con và bài viết.
   Không dùng :hover để mở submenu vì Safari trên iPhone có thể giữ hover sau một lần chạm. */
@media (max-width: 900px) {
  .site-header .main-nav {
    position: absolute;
    top: 80px;
    right: 0;
    left: 0;
    display: none !important;
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
    align-content: start;
    justify-content: stretch;
    gap: 0;
    width: auto;
    height: auto;
    min-height: 0;
    max-height: min(70vh, 560px);
    max-height: min(70dvh, 560px);
    margin: 0;
    padding: 8px 18px 12px;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    border: 1px solid #ececef;
    border-radius: 0 0 16px 16px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(25,29,36,.14);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
  }

  .site-header .main-nav.open {
    display: grid !important;
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }

  .site-header .main-nav > a,
  .site-header .nav-item-with-dropdown > .nav-link-dropdown {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 48px;
    margin: 0;
    padding: 11px 4px;
    border-bottom: 1px solid #f0f0f1;
    font-size: 14px;
    line-height: 1.35;
  }

  .site-header .nav-item-with-dropdown {
    display: block;
    width: 100%;
  }

  .site-header .dropdown-menu,
  .site-header .nav-item-with-dropdown:hover > .dropdown-menu {
    position: static;
    display: none !important;
    width: 100%;
    min-width: 0;
    max-height: none;
    margin: 0 0 6px;
    padding: 4px 0 4px 14px;
    overflow: visible;
    border: 0;
    border-left: 2px solid rgba(231,25,34,.25);
    border-radius: 0;
    background: #fafafa;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    transform: none;
  }

  .site-header .nav-item-with-dropdown.expanded > .dropdown-menu,
  .site-header .nav-item-with-dropdown.expanded:hover > .dropdown-menu {
    display: grid !important;
  }

  .site-header .dropdown-menu a {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding: 9px 8px;
    font-size: 13px;
    line-height: 1.35;
  }

  .site-header .dropdown-level { width: 100%; }
  .site-header .dropdown-back { min-height: 44px; padding: 9px 8px; font-size: 13px; }

  .site-header .dropdown-arrow { transition: transform .2s ease; }
  .site-header .nav-item-with-dropdown.expanded .dropdown-arrow { transform: rotate(180deg); }
}

/* ==========================================================
   RESPONSIVE TYPOGRAPHY — desktop / iPad / điện thoại
   Desktop giữ tỷ lệ gốc. Hai mốc dưới chỉ điều chỉnh chữ,
   không làm thay đổi ảnh banner, logo, icon hoặc bố cục thẻ.
   ========================================================== */
.lt-wp-entry-heading h1,
.lt-wp-title,
.hero h1,
.section-heading h2,
.news-heading h2,
.lav-hero h1,
.lav-section h2,
.sav-hero h1,
.mp-heading h2,
.nth-page-title {
  overflow-wrap: break-word;
  text-wrap: balance;
}

/* Tiêu đề trong nội dung bài viết: chỉ xuống dòng khi thật sự hết chỗ,
   không ép chia đều 2 dòng như text-wrap: balance. */
.lt-wp-content h1,
.lt-wp-content h2,
.lt-wp-content h3,
.lt-wp-content h4 {
  overflow-wrap: break-word;
  text-wrap: wrap;
}

/* iPad và tablet: 601–1024px. */
@media (min-width: 601px) and (max-width: 1024px) {
  .lt-wp-entry-heading h1,
  .lt-wp-title {
    font-size: clamp(36px, 5.2vw, 46px);
    line-height: 1.16;
  }

  .lt-wp-content {
    font-size: 17px;
    line-height: 1.78;
  }

  .lt-wp-content h2 { font-size: clamp(23px, 2.6vw, 25px); }
  .lt-wp-content h3 { font-size: clamp(19px, 2.2vw, 21px); }
  .lt-wp-list-card h2 { font-size: 21px; }

  .hero h1 { font-size: clamp(42px, 6.2vw, 54px); }
  .hero-copy { font-size: 16px; }
  .section-heading h2 { font-size: clamp(30px, 4.2vw, 35px); }
  .news-heading h2 { font-size: clamp(36px, 5vw, 44px); }
  .about-loan-copy h2 { font-size: clamp(34px, 4.8vw, 43px); }
  .promo-text h2 { font-size: 28px; }

  .lav-hero h1,
  .sav-hero h1 { font-size: clamp(40px, 5.8vw, 50px); }
  .lav-section h2 { font-size: clamp(29px, 4vw, 36px); }
  .mp-heading h2,
  .nth-page-title { font-size: clamp(36px, 5vw, 46px); }
  .mp-feature h3,
  .nth-feature-lead h2 { font-size: clamp(25px, 3.4vw, 31px); }
  .nth-section-title { font-size: 19px; }
}

/* Điện thoại: tối ưu cho chiều rộng 320–600px. */
@media (max-width: 600px) {
  .lt-wp-main { padding-bottom: 54px; }
  .lt-wp-entry-heading { margin-bottom: 26px; }
  .lt-wp-entry-heading h1,
  .lt-wp-title {
    font-size: clamp(28px, 8.4vw, 34px);
    line-height: 1.18;
    letter-spacing: -.025em;
  }

  .lt-wp-content {
    font-size: 16px;
    line-height: 1.75;
  }

  .lt-wp-content h2 {
    margin-top: 1.5em;
    font-size: clamp(20px, 5.4vw, 22px);
    line-height: 1.35;
  }

  .lt-wp-content h3 {
    margin-top: 1.3em;
    font-size: clamp(18px, 4.6vw, 19px);
    line-height: 1.4;
  }

  .lt-wp-content h4 { font-size: 18px; line-height: 1.4; }
  .lt-wp-breadcrumb, .lt-wp-meta { font-size: 13px; }
  .lt-wp-list-card h2 { font-size: 19px; }
  .lt-wp-list-card p { font-size: 15px; }

  .hero h1 {
    font-size: clamp(32px, 9.4vw, 40px);
    line-height: 1.06;
    letter-spacing: -.035em;
  }

  .hero-copy { font-size: 15.5px; line-height: 1.65; }
  .eyebrow { font-size: 12px; }
  .section-heading h2 { font-size: clamp(25px, 7.4vw, 29px); line-height: 1.16; }
  .section-heading > p:last-child { font-size: 14px; }
  .service-body h3 { font-size: 17px; }
  .service-body p { font-size: 14px; line-height: 1.65; }
  .project-body h3, .news-body h3 { font-size: 17px; }

  .news-heading h2 { font-size: clamp(29px, 8vw, 34px); line-height: 1.12; }
  .news-heading-copy > p:last-child { font-size: 15px; }
  .promo-text h2 { font-size: clamp(23px, 6.6vw, 27px); }
  .promo-text p { font-size: 15px; }

  .lav-hero h1,
  .sav-hero h1 {
    font-size: clamp(31px, 9vw, 37px);
    line-height: 1.06;
  }

  .lav-hero-copy > p:not(.lav-breadcrumb),
  .sav-hero-copy > p:not(.sav-breadcrumb) { font-size: 15px; }
  .lav-section h2 { font-size: clamp(25px, 7vw, 29px); }

  .mp-heading h2,
  .nth-page-title {
    font-size: clamp(29px, 8vw, 34px);
    line-height: 1.12;
  }

  .mp-heading p { font-size: 14px; }
  .mp-feature h3,
  .nth-feature-lead h2 { font-size: clamp(21px, 6vw, 25px); line-height: 1.32; }
  .mp-toolbar h3,
  .nth-section-title { font-size: 17px; line-height: 1.3; }
  .mp-card h3,
  .nth-card h3,
  .nth-feature-small h3,
  .nth-list-copy h3 { font-size: 15px; }
  .nth-quote-card h3 { font-size: 22px; }
  .nth-case-copy h3 { font-size: 21px; }
  .nth-case-copy > p { font-size: 14px; }

  .footer-brand p,
  .footer-col li,
  .footer-col ul a,
  .footer-product-list li,
  .footer-contact li { font-size: 14px; }
  .footer-map-copy h3 { font-size: 22px; }
  .footer-map-copy > p:not(.footer-map-eyebrow) { font-size: 14px; }
  .footer-bottom { font-size: 13px; }
}


/* Loan Truong: bo gach chan link trong noi dung bai viet */
.lt-wp-content a:not(.wp-block-button__link):not(.wp-element-button):not([class*="btn"]):not([class*="button"]):not([class*="cta"]):not([style*="background"]),
.lt-wp-content a:not(.wp-block-button__link):not(.wp-element-button):not([class*="btn"]):not([class*="button"]):not([class*="cta"]):not([style*="background"]):visited,
.lt-wp-content a:not(.wp-block-button__link):not(.wp-element-button):not([class*="btn"]):not([class*="button"]):not([class*="cta"]):not([style*="background"]):hover,
.lt-wp-content a:not(.wp-block-button__link):not(.wp-element-button):not([class*="btn"]):not([class*="button"]):not([class*="cta"]):not([style*="background"]):focus,
.lt-wp-content a:not(.wp-block-button__link):not(.wp-element-button):not([class*="btn"]):not([class*="button"]):not([class*="cta"]):not([style*="background"]):active {
  color: #0066cc !important;
  text-decoration: none !important;
  text-decoration-line: none !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  background-image: none !important;
}


/* ==========================================================
   ARTICLE READING UI — FPT Connect inspired
   Scope: only WordPress reading pages (.lt-wp-main / .lt-wp-content)
   Does not modify header, footer, front page, or floating contact buttons.
   ========================================================== */

body.single .lt-wp-main,
body.page .lt-wp-main {
  background: #fff !important;
  padding: 34px 0 74px !important;
}

body.single .lt-wp-container,
body.page .lt-wp-container {
  width: min(calc(100% - 48px), 1320px) !important;
}

/* Breadcrumb: lighter, cleaner */
.lt-wp-breadcrumb {
  margin: 0 0 38px !important;
  padding: 0 !important;
  color: #8a8f98 !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}

.lt-wp-breadcrumb a {
  color: #7d838c !important;
  text-decoration: none !important;
}

.lt-wp-breadcrumb a:hover {
  color: var(--lt-red) !important;
  text-decoration: none !important;
}

/* Desktop: 70/30 clean article layout */
body.single .lt-wp-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 820px) minmax(280px, 320px) !important;
  gap: clamp(44px, 6vw, 72px) !important;
  justify-content: center !important;
  align-items: start !important;
}

body.single .lt-wp-layout .lt-wp-card,
body.page .lt-wp-card {
  max-width: 820px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Author/date row: FPT-like compact */
.lt-wp-byline {
  gap: 10px !important;
  margin: 0 0 22px !important;
  padding: 0 !important;
  border: 0 !important;
}

.lt-wp-avatar {
  width: 42px !important;
  height: 42px !important;
  flex-basis: 42px !important;
  border: 1px solid #eceff3 !important;
}

.lt-wp-byline-info {
  flex-direction: row !important;
  align-items: center !important;
  gap: 8px !important;
  margin-right: auto !important;
  color: #8b9098 !important;
}

.lt-wp-author {
  color: var(--lt-red) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
}

.lt-wp-date {
  color: #8b9098 !important;
  font-size: 13px !important;
}

.lt-wp-date::before {
  content: "• Cập nhật: ";
}

/* Hide share buttons near title for cleaner reading, keep floating buttons unchanged */
.lt-wp-byline .lt-wp-share {
  display: none !important;
}

/* Title */
.lt-wp-card-heading {
  margin: 0 0 14px !important;
  text-align: left !important;
}

.lt-wp-card-heading h1 {
  max-width: none !important;
  margin: 0 !important;
  color: #333333 !important;
  font-size: clamp(32px, 3.2vw, 42px) !important;
  line-height: 1.18 !important;
  font-weight: 850 !important;
  letter-spacing: -0.045em !important;
  text-align: left !important;
  text-wrap: wrap !important; /* lấp đầy dòng rồi mới xuống, không chia đều gây trống bên phải */
}

/* Content text size like FPT Connect */
.lt-wp-content {
  color: #333333 !important;
  font-size: 16px !important;
  line-height: 1.75 !important;
  letter-spacing: -0.005em !important;
}

.lt-wp-content > *:first-child {
  margin-top: 0 !important;
}

.lt-wp-content p {
  margin: 0 0 16px !important;
}

.lt-wp-content strong,
.lt-wp-content b {
  font-weight: 800 !important;
}

.lt-wp-content h2 {
  margin: 34px 0 14px !important;
  color: var(--lt-red) !important;
  font-size: 28px !important;
  line-height: 1.28 !important;
  font-weight: 850 !important;
  letter-spacing: -0.035em !important;
}

.lt-wp-content h3 {
  margin: 28px 0 10px !important;
  color: #30343b !important;
  font-size: 22px !important;
  line-height: 1.35 !important;
  font-weight: 850 !important;
  letter-spacing: -0.025em !important;
}

.lt-wp-content h4 {
  margin: 22px 0 8px !important;
  color: #30343b !important;
  font-size: 18px !important;
  line-height: 1.45 !important;
  font-weight: 800 !important;
}

/* Image and caption styling */
.lt-wp-content figure,
.lt-wp-content .wp-block-image {
  margin: 22px 0 22px !important;
}

.lt-wp-content img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  border-radius: 12px !important;
}

.lt-wp-content figcaption,
.lt-wp-content .wp-caption-text {
  margin: 8px 0 0 !important;
  color: #8b9098 !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
  font-style: italic !important;
}

/* Lists: clean and readable */
.lt-wp-content ul,
.lt-wp-content ol {
  margin: 12px 0 18px !important;
  padding-left: 22px !important;
}

.lt-wp-content li {
  margin: 0 0 8px !important;
  padding-left: 2px !important;
}

/* Check-list vibe for normal bullet content */
.lt-wp-content ul li::marker {
  color: var(--lt-red);
}

/* Tables */
.lt-wp-content table {
  width: 100% !important;
  margin: 22px 0 !important;
  border-collapse: collapse !important;
  overflow: hidden !important;
  border: 1px solid #eceff3 !important;
  border-radius: 12px !important;
  font-size: 15px !important;
}

.lt-wp-content th,
.lt-wp-content td {
  padding: 12px 14px !important;
  border: 1px solid #eceff3 !important;
  vertical-align: top !important;
}

.lt-wp-content th {
  background: #f7f8fb !important;
  color: #30343b !important;
  font-weight: 800 !important;
}

/* Links: blue only, no underline */
.lt-wp-content a:not(.wp-block-button__link):not(.wp-element-button):not([class*="btn"]):not([class*="button"]):not([class*="cta"]):not([style*="background"]),
.lt-wp-content a:not(.wp-block-button__link):not(.wp-element-button):not([class*="btn"]):not([class*="button"]):not([class*="cta"]):not([style*="background"]):link,
.lt-wp-content a:not(.wp-block-button__link):not(.wp-element-button):not([class*="btn"]):not([class*="button"]):not([class*="cta"]):not([style*="background"]):visited,
.lt-wp-content a:not(.wp-block-button__link):not(.wp-element-button):not([class*="btn"]):not([class*="button"]):not([class*="cta"]):not([style*="background"]):hover,
.lt-wp-content a:not(.wp-block-button__link):not(.wp-element-button):not([class*="btn"]):not([class*="button"]):not([class*="cta"]):not([style*="background"]):focus,
.lt-wp-content a:not(.wp-block-button__link):not(.wp-element-button):not([class*="btn"]):not([class*="button"]):not([class*="cta"]):not([style*="background"]):active,
.lt-wp-content a:not(.wp-block-button__link):not(.wp-element-button):not([class*="btn"]):not([class*="button"]):not([class*="cta"]):not([style*="background"]) *,
.lt-wp-content a:not(.wp-block-button__link):not(.wp-element-button):not([class*="btn"]):not([class*="button"]):not([class*="cta"]):not([style*="background"]):hover *,
.lt-wp-content a:not(.wp-block-button__link):not(.wp-element-button):not([class*="btn"]):not([class*="button"]):not([class*="cta"]):not([style*="background"]):focus * {
  color: #3f63ff !important;
  text-decoration: none !important;
  text-decoration-line: none !important;
  -webkit-text-decoration-line: none !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  background-image: none !important;
}

.lt-wp-content a:not(.wp-block-button__link):not(.wp-element-button):not([class*="btn"]):not([class*="button"]):not([class*="cta"]):not([style*="background"])::before,
.lt-wp-content a:not(.wp-block-button__link):not(.wp-element-button):not([class*="btn"]):not([class*="button"]):not([class*="cta"]):not([style*="background"])::after {
  content: none !important;
  display: none !important;
}

/* TOC sidebar like FPT Connect */
.lt-wp-sidebar {
  position: sticky !important;
  top: 24px !important;
  max-height: calc(100vh - 48px) !important;
  padding-right: 4px !important;
  overflow-y: auto !important;
  scrollbar-width: thin !important;
  scrollbar-color: #d4d7dd transparent !important;
}

.lt-wp-toc,
.lt-wp-related-section {
  overflow: hidden !important;
  border: 1px solid #eceff3 !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: none !important;
}

.lt-wp-toc-toggle {
  padding: 14px 16px !important;
  border-bottom: 0 !important;
  background: #fff !important;
}

.lt-wp-toc-heading {
  color: #4a4f58 !important;
  font-size: 16px !important;
  font-weight: 850 !important;
}

.lt-wp-toc-heading svg {
  width: 16px !important;
  height: 16px !important;
}

.lt-wp-toc-toggle-label {
  color: var(--lt-red) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

.lt-wp-toc-body {
  padding: 0 12px 14px !important;
}

.lt-wp-toc-list {
  gap: 0 !important;
  max-height: min(58vh, 560px) !important;
  padding-right: 4px !important;
}

.lt-wp-toc-item a {
  padding: 11px 12px !important;
  border-left: 3px solid transparent !important;
  border-radius: 0 !important;
  color: #3f444c !important;
  background: transparent !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.55 !important;
  text-decoration: none !important;
}

.lt-wp-toc-item a:hover,
.lt-wp-toc-item a.is-active {
  border-left-color: #3f63ff !important;
  color: #3f63ff !important;
  background: #f3f5ff !important;
}

.lt-wp-toc-item.is-subheading a {
  padding-left: 30px !important;
  color: #555b65 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}

.lt-wp-toc-contact {
  display: none !important;
}

/* Related posts card */
.lt-wp-related-section {
  margin-top: 20px !important;
  padding: 16px !important;
}

.lt-wp-sidebar-title {
  margin: 0 0 14px !important;
  color: #30343b !important;
  font-size: 17px !important;
  font-weight: 850 !important;
}

.lt-wp-related-list {
  gap: 14px !important;
}

.lt-wp-related-item {
  gap: 12px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.lt-wp-related-item:hover {
  transform: none !important;
  box-shadow: none !important;
}

.lt-wp-related-item img {
  width: 78px !important;
  height: 62px !important;
  flex-basis: 78px !important;
  border-radius: 8px !important;
}

.lt-wp-related-title {
  color: #333333 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
}

.lt-wp-related-item:hover .lt-wp-related-title {
  color: var(--lt-red) !important;
}

/* Optional summary/callout blocks if using Quote/Group in article */
.lt-wp-content blockquote,
.lt-wp-content .wp-block-quote {
  margin: 24px 0 !important;
  padding: 16px 18px !important;
  border: 1px solid #ffd5d8 !important;
  border-left: 4px solid var(--lt-red) !important;
  border-radius: 12px !important;
  background: #fff6f6 !important;
  color: #333842 !important;
  font-size: 15.5px !important;
  line-height: 1.7 !important;
}

/* Page template reading width */
body.page .lt-wp-container {
  display: flex !important;
  justify-content: center !important;
}

/* Mobile: one column like FPT Connect, keep bottom floating buttons untouched */
@media (max-width: 900px) {
  body.single .lt-wp-main,
  body.page .lt-wp-main {
    padding: 22px 0 60px !important;
  }

  body.single .lt-wp-container,
  body.page .lt-wp-container {
    width: min(calc(100% - 32px), 720px) !important;
  }

  body.single .lt-wp-layout {
    display: block !important;
  }

  body.single .lt-wp-layout .lt-wp-card,
  body.page .lt-wp-card {
    max-width: none !important;
  }

  .lt-wp-breadcrumb {
    margin-bottom: 18px !important;
    font-size: 12px !important;
  }

  .lt-wp-byline {
    margin-bottom: 14px !important;
  }

  .lt-wp-avatar {
    width: 36px !important;
    height: 36px !important;
    flex-basis: 36px !important;
  }

  .lt-wp-author {
    font-size: 13px !important;
  }

  .lt-wp-date {
    font-size: 12px !important;
  }

  .lt-wp-card-heading h1 {
    font-size: clamp(28px, 8.2vw, 34px) !important;
    line-height: 1.22 !important;
    letter-spacing: -0.04em !important;
  }

  .lt-wp-content {
    font-size: 15.5px !important;
    line-height: 1.72 !important;
  }

  .lt-wp-content h2 {
    margin-top: 28px !important;
    font-size: 23px !important;
    line-height: 1.32 !important;
  }

  .lt-wp-content h3 {
    margin-top: 22px !important;
    font-size: 19px !important;
  }

  .lt-wp-mobile-toc-slot:not(:empty) {
    margin: 18px 0 22px !important;
  }

  .lt-wp-mobile-toc-slot .lt-wp-toc {
    border-radius: 10px !important;
    background: #fff7f7 !important;
    border-color: #ffe0e1 !important;
  }

  .lt-wp-mobile-toc-slot .lt-wp-toc-body {
    background: #fff !important;
  }

  .lt-wp-sidebar {
    position: static !important;
    max-height: none !important;
    margin-top: 28px !important;
    overflow: visible !important;
  }

  .lt-wp-sidebar > .lt-wp-toc {
    display: none !important;
  }

  .lt-wp-related-section {
    margin-top: 26px !important;
  }
}

@media (max-width: 600px) {
  body.single .lt-wp-container,
  body.page .lt-wp-container {
    width: min(calc(100% - 28px), 720px) !important;
  }

  .lt-wp-card-heading {
    margin-bottom: 12px !important;
  }

  .lt-wp-card-heading h1 {
    font-size: clamp(25px, 7.8vw, 31px) !important;
  }

  .lt-wp-content img {
    border-radius: 10px !important;
  }

  .lt-wp-content table {
    display: block !important;
    overflow-x: auto !important;
    white-space: nowrap !important;
  }

  .lt-wp-related-item img {
    width: 72px !important;
    height: 56px !important;
    flex-basis: 72px !important;
  }
}


/* ==========================================================
   ARTICLE READING UI PATCH v2
   Brand red TOC, black H2, smaller article title.
   ========================================================== */

/* H1 nhỏ lại để hạn chế xuống dòng */
.lt-wp-card-heading h1 {
  font-size: clamp(28px, 2.55vw, 34px) !important;
  line-height: 1.22 !important;
  letter-spacing: -0.04em !important;
}

/* H2 trong bài viết để màu đen, không dùng đỏ */
.lt-wp-content h2 {
  color: #30343b !important;
  font-size: 26px !important;
  line-height: 1.32 !important;
}

/* Mục lục dùng đỏ thương hiệu Loan Trường, không dùng xanh */
.lt-wp-toc-item a:hover,
.lt-wp-toc-item a.is-active {
  border-left-color: var(--lt-red) !important;
  color: var(--lt-red) !important;
  background: #fff1f2 !important;
}

.lt-wp-toc-item.is-subheading a.is-active {
  color: var(--lt-red) !important;
}

/* Link trong bài: dùng đỏ thương hiệu, không gạch chân */
.lt-wp-content a:not(.wp-block-button__link):not(.wp-element-button):not([class*="btn"]):not([class*="button"]):not([class*="cta"]):not([style*="background"]),
.lt-wp-content a:not(.wp-block-button__link):not(.wp-element-button):not([class*="btn"]):not([class*="button"]):not([class*="cta"]):not([style*="background"]):link,
.lt-wp-content a:not(.wp-block-button__link):not(.wp-element-button):not([class*="btn"]):not([class*="button"]):not([class*="cta"]):not([style*="background"]):visited,
.lt-wp-content a:not(.wp-block-button__link):not(.wp-element-button):not([class*="btn"]):not([class*="button"]):not([class*="cta"]):not([style*="background"]):hover,
.lt-wp-content a:not(.wp-block-button__link):not(.wp-element-button):not([class*="btn"]):not([class*="button"]):not([class*="cta"]):not([style*="background"]):focus,
.lt-wp-content a:not(.wp-block-button__link):not(.wp-element-button):not([class*="btn"]):not([class*="button"]):not([class*="cta"]):not([style*="background"]):active,
.lt-wp-content a:not(.wp-block-button__link):not(.wp-element-button):not([class*="btn"]):not([class*="button"]):not([class*="cta"]):not([style*="background"]) *,
.lt-wp-content a:not(.wp-block-button__link):not(.wp-element-button):not([class*="btn"]):not([class*="button"]):not([class*="cta"]):not([style*="background"]):hover *,
.lt-wp-content a:not(.wp-block-button__link):not(.wp-element-button):not([class*="btn"]):not([class*="button"]):not([class*="cta"]):not([style*="background"]):focus * {
  color: var(--lt-red) !important;
  text-decoration: none !important;
  text-decoration-line: none !important;
  -webkit-text-decoration-line: none !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  background-image: none !important;
}

/* Mobile title cũng nhỏ lại */
@media (max-width: 900px) {
  .lt-wp-card-heading h1 {
    font-size: clamp(25px, 7.2vw, 30px) !important;
    line-height: 1.25 !important;
  }

  .lt-wp-content h2 {
    color: #30343b !important;
    font-size: 22px !important;
  }
}

@media (max-width: 600px) {
  .lt-wp-card-heading h1 {
    font-size: clamp(23px, 7vw, 28px) !important;
  }
}


/* ==========================================================
   ARTICLE READING UI PATCH v3
   Keep article links blue, no underline. TOC remains Loan Truong red.
   ========================================================== */

.lt-wp-content a:not(.wp-block-button__link):not(.wp-element-button):not([class*="btn"]):not([class*="button"]):not([class*="cta"]):not([style*="background"]),
.lt-wp-content a:not(.wp-block-button__link):not(.wp-element-button):not([class*="btn"]):not([class*="button"]):not([class*="cta"]):not([style*="background"]):link,
.lt-wp-content a:not(.wp-block-button__link):not(.wp-element-button):not([class*="btn"]):not([class*="button"]):not([class*="cta"]):not([style*="background"]):visited,
.lt-wp-content a:not(.wp-block-button__link):not(.wp-element-button):not([class*="btn"]):not([class*="button"]):not([class*="cta"]):not([style*="background"]):hover,
.lt-wp-content a:not(.wp-block-button__link):not(.wp-element-button):not([class*="btn"]):not([class*="button"]):not([class*="cta"]):not([style*="background"]):focus,
.lt-wp-content a:not(.wp-block-button__link):not(.wp-element-button):not([class*="btn"]):not([class*="button"]):not([class*="cta"]):not([style*="background"]):active,
.lt-wp-content a:not(.wp-block-button__link):not(.wp-element-button):not([class*="btn"]):not([class*="button"]):not([class*="cta"]):not([style*="background"]) *,
.lt-wp-content a:not(.wp-block-button__link):not(.wp-element-button):not([class*="btn"]):not([class*="button"]):not([class*="cta"]):not([style*="background"]):hover *,
.lt-wp-content a:not(.wp-block-button__link):not(.wp-element-button):not([class*="btn"]):not([class*="button"]):not([class*="cta"]):not([style*="background"]):focus * {
  color: #3f63ff !important;
  text-decoration: none !important;
  text-decoration-line: none !important;
  -webkit-text-decoration-line: none !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  background-image: none !important;
}


/* ==========================================================
   ARTICLE TABLES — MOBILE v1
   Không còn lướt ngang: bảng ít cột co vừa khung, bảng nhiều cột thành thẻ.
   ========================================================== */
@media (max-width: 600px) {
  body .lt-wp-content table {
    display: table !important;
    width: 100% !important;
    max-width: 100% !important;
    table-layout: auto !important;
    white-space: normal !important;
    overflow: visible !important;
    font-size: 13.5px !important;
    line-height: 1.5 !important;
  }

  body .lt-wp-content th,
  body .lt-wp-content td {
    padding: 8px 8px !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    hyphens: none !important;
  }

  /* Bảng 4 cột trở lên: mỗi hàng là một thẻ */
  body .lt-wp-content table.lt-table-cols-many,
  body .lt-wp-content table.lt-table-cols-many tbody,
  body .lt-wp-content table.lt-table-cols-many tr,
  body .lt-wp-content table.lt-table-cols-many td {
    display: block !important;
    width: 100% !important;
  }

  body .lt-wp-content table.lt-table-cols-many {
    border: 0 !important;
    border-radius: 0 !important;
  }

  body .lt-wp-content table.lt-table-cols-many thead {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
  }

  body .lt-wp-content table.lt-table-cols-many tr {
    margin: 0 0 14px !important;
    border: 1px solid #eceff3 !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    background: #fff !important;
  }

  body .lt-wp-content table.lt-table-cols-many td {
    display: flex !important;
    gap: 12px !important;
    align-items: flex-start !important;
    border: 0 !important;
    border-bottom: 1px solid #eceff3 !important;
    padding: 9px 12px !important;
  }

  body .lt-wp-content table.lt-table-cols-many td:last-child {
    border-bottom: 0 !important;
  }

  body .lt-wp-content table.lt-table-cols-many td::before {
    content: attr(data-label);
    flex: 0 0 38%;
    max-width: 38%;
    color: #30343b;
    font-weight: 800;
  }

  /* Ô đầu tiên làm tiêu đề thẻ */
  body .lt-wp-content table.lt-table-cols-many td:first-child {
    background: #f7f8fb !important;
    font-weight: 800 !important;
    color: #30343b !important;
  }
}

@media (max-width: 600px) {
  /* Hàng tiêu đề của bảng nhiều cột đã được chuyển thành nhãn trong từng thẻ */
  body .lt-wp-content table.lt-table-cols-many tr.lt-table-head-row {
    display: none !important;
  }
}


/* ==========================================================
   ARTICLE MOBILE TYPE SCALE v1
   Mobile (≤900px, bố cục 1 cột): H1 21.33px; H2 18.5px; H3, H4, nội dung, danh sách 16px.
   ========================================================== */
@media (max-width: 900px) {
  body .lt-wp-card-heading h1 {
    font-size: 21.33px !important;
    line-height: 1.3 !important;
    letter-spacing: -0.03em !important;
  }

  body .lt-wp-content h2 {
    font-size: 18.5px !important;
    line-height: 1.5 !important;
  }

  body .lt-wp-content h3,
  body .lt-wp-content h4 {
    font-size: 16px !important;
    line-height: 1.5 !important;
  }

  body .lt-wp-content,
  body .lt-wp-content p,
  body .lt-wp-content li {
    font-size: 16px !important;
    line-height: 1.7 !important;
  }
}


/* ==========================================================
   ARTICLE MOBILE TOC v1 — mục lục thu nhỏ trên mobile (≤900px)
   ========================================================== */
@media (max-width: 900px) {
  body .lt-wp-mobile-toc-slot:not(:empty) {
    margin: 14px 0 18px !important;
  }

  body .lt-wp-toc-toggle {
    padding: 10px 14px !important;
  }

  body .lt-wp-toc-heading {
    gap: 7px !important;
    font-size: 14px !important;
  }

  body .lt-wp-toc-heading svg {
    width: 14px !important;
    height: 14px !important;
    flex-basis: 14px !important;
  }

  body .lt-wp-toc-toggle-label {
    font-size: 11.5px !important;
  }

  body .lt-wp-toc-body {
    padding: 0 8px 10px !important;
  }

  body .lt-wp-toc-list {
    max-height: min(42vh, 340px) !important;
  }

  body .lt-wp-toc-item a {
    padding: 7px 10px !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
  }

  body .lt-wp-toc-item.is-subheading a {
    padding-left: 24px !important;
    font-size: 12.5px !important;
  }
}


/* ==========================================================
   BẢNG TRONG BÀI VIẾT — Loan Trường v1
   Dán NGUYÊN khối này xuống CUỐI file style.css của theme
   (hoặc Giao diện > Tùy biến > CSS bổ sung).
   Áp cho mọi bảng trong .lt-wp-content: bài cũ và bảng dán từ Word.
   Dùng !important để đè style inline/mso mà Word mang theo.
   ========================================================== */

/* ---------- Khung bảng ---------- */
body .lt-wp-content table {
  width: 100% !important;
  max-width: 100% !important;
  margin: 28px 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border: 1px solid #eceff3 !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  background: #fff !important;
  box-shadow: 0 6px 24px rgba(15, 23, 42, .06) !important;
  font-size: 17px !important;
  line-height: 1.5 !important;
  table-layout: auto !important;
}

/* Xóa kích thước cứng Word hay chèn vào */
body .lt-wp-content table col,
body .lt-wp-content table colgroup { width: auto !important; }
body .lt-wp-content table tr { height: auto !important; }

/* ---------- Ô ---------- */
body .lt-wp-content table th,
body .lt-wp-content table td {
  padding: 22px 28px !important;
  border: 0 !important;
  border-bottom: 1px solid #f0f1f4 !important;
  background: #fff !important;
  color: #1f2937 !important;
  text-align: left !important;
  vertical-align: middle !important;
  font-family: inherit !important;
  font-size: inherit !important;
  line-height: 1.5 !important;
  width: auto !important;
  height: auto !important;
}

/* Word hay bọc nội dung ô trong <p> / <span> có margin và màu riêng */
body .lt-wp-content table td p,
body .lt-wp-content table th p {
  margin: 0 !important;
  font-size: inherit !important;
  line-height: inherit !important;
  color: inherit !important;
}
body .lt-wp-content table td span,
body .lt-wp-content table th span {
  font-family: inherit !important;
  font-size: inherit !important;
  color: inherit !important;
}

/* ---------- Hàng tiêu đề ---------- */
body .lt-wp-content table thead th,
body .lt-wp-content table thead td,
body .lt-wp-content table tr.lt-table-head-row > th,
body .lt-wp-content table tr.lt-table-head-row > td,
body .lt-wp-content table th {
  background: #eef1f5 !important;
  color: #475569 !important;
  font-size: 0.9em !important;
  font-weight: 800 !important;
  letter-spacing: .02em !important;
  text-transform: uppercase !important;
}
body .lt-wp-content table thead th *,
body .lt-wp-content table tr.lt-table-head-row > * * {
  font-weight: inherit !important;
}

/* ---------- Dòng xen kẽ (nền đỏ nhạt) ---------- */
body .lt-wp-content table tbody tr:nth-child(even) > td,
body .lt-wp-content table tbody tr:nth-child(even) > th:not(.lt-x) {
  background: #fff3f2 !important;
}
/* Bảng không có thead: dòng đầu là tiêu đề nên lệch 1 nhịp */
body .lt-wp-content table:not(:has(thead)) tbody tr:nth-child(even) > td { background: #fff !important; }
body .lt-wp-content table:not(:has(thead)) tbody tr:nth-child(odd):not(:first-child) > td { background: #fff3f2 !important; }

/* ---------- Cột đầu đậm ---------- */
body .lt-wp-content table tbody tr > td:first-child,
body .lt-wp-content table tbody tr > th:first-child {
  font-weight: 700 !important;
  color: #111827 !important;
}
body .lt-wp-content table tbody tr > td:first-child *,
body .lt-wp-content table tr > td strong,
body .lt-wp-content table tr > td b {
  font-weight: 700 !important;
}

/* ---------- Bỏ viền dưới hàng cuối ---------- */
body .lt-wp-content table tr:last-child > td,
body .lt-wp-content table tr:last-child > th {
  border-bottom: 0 !important;
}

/* ---------- Tablet / máy tính nhỏ ---------- */
@media (max-width: 900px) {
  body .lt-wp-content table { font-size: 16px !important; border-radius: 20px !important; }
  body .lt-wp-content table th,
  body .lt-wp-content table td { padding: 16px 18px !important; }
}

/* ---------- Điện thoại ----------
   Bảng ≥4 cột đã tự chuyển thành thẻ (rule "ARTICLE TABLES — MOBILE v1"),
   nên chỉ chỉnh cỡ chữ/padding cho bảng ít cột; thẻ vẫn giữ hover đỏ ở tiêu đề thẻ. */
@media (max-width: 600px) {
  body .lt-wp-content table:not(.lt-table-cols-many) {
    border-radius: 16px !important;
    font-size: 14px !important;
    margin: 20px 0 !important;
  }
  body .lt-wp-content table:not(.lt-table-cols-many) th,
  body .lt-wp-content table:not(.lt-table-cols-many) td {
    padding: 12px 10px !important;
  }
  body .lt-wp-content table.lt-table-cols-many {
    box-shadow: none !important;
    background: transparent !important;
  }
  body .lt-wp-content table.lt-table-cols-many tr {
    box-shadow: 0 4px 16px rgba(15, 23, 42, .06) !important;
  }
  body .lt-wp-content table.lt-table-cols-many td {
    background: #fff !important;
    padding: 9px 12px !important;
    font-size: 14.5px !important;
  }
  body .lt-wp-content table.lt-table-cols-many td:first-child {
    background: #f8f9fb !important;
  }
  body .lt-wp-content table.lt-table-cols-many td::before {
    color: #1f2937 !important;
  }
}


/* ==========================================================
   NÚT CTA TRONG BÀI (v31) — nút không bị rule "link xanh, không gạch chân" ghi đè.
   Nút = thẻ <a> có class chứa btn/button/cta, nút khối của WordPress, hoặc <a> có style nền inline.
   Màu tự đặt trong bài vẫn được giữ; chỉ khi chưa đặt màu mới dùng đỏ Loan Trường làm mặc định.
   ========================================================== */
body .lt-wp-content :is(.wp-block-button__link, .wp-element-button, a[class*="btn"], a[class*="button"], a[class*="cta"]) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 28px;
  border-radius: 10px;
  background-color: var(--lt-red, #d90820);
  color: #fff;
  font-weight: 800;
  text-align: center;
  text-decoration: none;
  line-height: 1.3;
}
body .lt-wp-content :is(.wp-block-button__link, .wp-element-button, a[class*="btn"], a[class*="button"], a[class*="cta"]):hover {
  filter: brightness(.92);
}


/* ==========================================================
   H2 TRONG BÀI — MÀU XANH (v42)
   H2 dùng tông xanh của link trong bài (xanh đậm hơn link một nấc: #2f4fe0, tương phản 6.3:1 trên nền trắng)
   để người đọc lướt là thấy ngay mốc chính; H3/H4 giữ màu tối nên luôn phân biệt được với H2.
   Giữ nguyên cỡ chữ/độ đậm đã chỉnh ở các patch trước; chỉ đổi màu.
   Bài nào đặt màu riêng cho H2 bằng style inline thì giữ nguyên màu đó.
   ========================================================== */
:root { --lt-h2-blue: #2f4fe0; }

body .lt-wp-content h2:not([style*="color"]),
body .lt-wp-content h2:not([style*="color"]) *:not(a),
body .lt-rental-article h2:not([style*="color"]) {
  color: var(--lt-h2-blue) !important;
}
