/* Trang chủ mới – laixeanninh.vn. Giữ font của theme (Roboto Serif). */
.lxan {
	--lxan-navy: #354c68;
	--lxan-navy-dark: #24364d;
	--lxan-red: #d32f2f;
	--lxan-red-dark: #b71c1c;
	--lxan-yellow: #f2b705;
	--lxan-zalo: #0068ff;
	--lxan-text: #3a3f47;
	--lxan-muted: #5f6670;
	--lxan-bg: #f5f7fa;
	--lxan-line: #e3e7ed;
	--lxan-radius: 12px;
	color: var(--lxan-text);
	font-size: 16px;
	line-height: 1.6;
	padding: 56px 0;
}
.lxan *,
.lxan *::before,
.lxan *::after { box-sizing: border-box; }
.lxan h1, .lxan h2, .lxan h3 { color: var(--lxan-navy); margin: 0; line-height: 1.3; }
.lxan p { margin: 0; }
.lxan img { display: block; max-width: 100%; height: auto; }
.lxan a { text-decoration: none; }
.lxan-wrap { max-width: 1200px; margin: 0 auto; padding: 0 16px; }
.lxan-wrap--narrow { max-width: 860px; }
.lxan-small { color: var(--lxan-muted); font-size: 14px; margin-top: 12px; }

/* Tiêu đề khối */
.lxan-head { text-align: center; margin-bottom: 28px; }
.lxan-head__eyebrow { color: var(--lxan-red); font-weight: 700; font-size: 14px; letter-spacing: .06em; text-transform: uppercase; margin-bottom: 6px; }
.lxan-head__title { font-size: 26px; }
.lxan-head__desc { color: var(--lxan-muted); margin-top: 8px; }

/* Nút */
.lxan-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.lxan-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-height: 48px; padding: 10px 22px; border-radius: 8px; border: 2px solid transparent;
	font-weight: 700; font-size: 16px; line-height: 1.2; transition: background-color .2s, color .2s, border-color .2s;
}
.lxan-btn--primary { background: var(--lxan-red); color: #fff !important; }
.lxan-btn--primary:hover, .lxan-btn--primary:focus-visible { background: var(--lxan-red-dark); }
.lxan-btn--secondary { background: var(--lxan-navy); color: #fff !important; }
.lxan-btn--secondary:hover, .lxan-btn--secondary:focus-visible { background: var(--lxan-navy-dark); }
.lxan-btn--zalo { background: var(--lxan-zalo); color: #fff !important; }
.lxan-btn--zalo:hover, .lxan-btn--zalo:focus-visible { background: #0052cc; }
.lxan-btn--ghost { background: transparent; color: var(--lxan-navy) !important; border-color: var(--lxan-navy); }
.lxan-btn--ghost:hover, .lxan-btn--ghost:focus-visible { background: var(--lxan-navy); color: #fff !important; }
.lxan-btn:focus-visible { outline: 3px solid var(--lxan-yellow); outline-offset: 2px; }

/* Danh sách có dấu tích */
.lxan-check { list-style: none; margin: 16px 0; padding: 0; }
.lxan-check li { position: relative; padding-left: 28px; margin: 6px 0; }
.lxan-check li::before { content: "✓"; position: absolute; left: 0; top: 0; color: #fff; background: var(--lxan-red); width: 20px; height: 20px; border-radius: 50%; font-size: 12px; line-height: 20px; text-align: center; margin-top: 3px; }
.lxan-check--sm { font-size: 15px; margin: 12px 0; }

/* Hero */
.lxan-hero { background: linear-gradient(180deg, var(--lxan-bg), #fff); padding: 32px 0 40px; }
.lxan-hero__grid { display: grid; gap: 24px; align-items: center; }
.lxan-hero__title { font-size: 30px; }
.lxan-hero__media img { width: 100%; border-radius: var(--lxan-radius); box-shadow: 0 12px 32px rgba(36, 54, 77, .18); aspect-ratio: 4 / 3; object-fit: cover; }
/* Slider ảnh đầu trang: các ảnh chồng lên nhau, ảnh đang hiện có .is-active. */
.lxan-hero__media--slider { position: relative; aspect-ratio: 4 / 3; border-radius: var(--lxan-radius); overflow: hidden; box-shadow: 0 12px 32px rgba(36, 54, 77, .18); }
.lxan-hero__media--slider .lxan-hero__slide { position: absolute; inset: 0; width: 100%; height: 100% !important; min-height: 0 !important; aspect-ratio: auto !important; object-fit: cover; border-radius: 0; box-shadow: none; opacity: 0; transition: opacity .9s ease; }
.lxan-hero__media--slider .lxan-hero__slide.is-active { opacity: 1; }
.lxan-hero__controls { position: absolute; z-index: 2; left: 50%; bottom: 14px; transform: translateX(-50%); display: flex; align-items: center; gap: 8px; background: rgba(15, 25, 38, .45); padding: 6px 10px; border-radius: 999px; }
.lxan-hero__dot { width: 12px; height: 12px; padding: 0; border: 2px solid #fff; border-radius: 50%; background: transparent; cursor: pointer; }
.lxan-hero__dot.is-active { background: #fff; }
.lxan-hero__pause { width: 28px; height: 28px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: #fff; font-size: 11px; cursor: pointer; }
.lxan-hero__dot:focus-visible, .lxan-hero__pause:focus-visible { outline: 3px solid var(--lxan-yellow); outline-offset: 2px; }
.lxan-hero__lines { margin: 10px 0 0; min-height: 1.6em; font-size: 19px; font-weight: 700; color: var(--lxan-red); }
.lxan-hero__line.is-active { animation: lxan-fade-in .6s ease; }
@keyframes lxan-fade-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
	.lxan-hero__media--slider .lxan-hero__slide { transition: none; }
	.lxan-hero__line.is-active { animation: none; }
}
.lxan-rating { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 6px; background: #fff; border: 1px solid var(--lxan-line); border-radius: 999px; padding: 6px 14px; margin-bottom: 14px; font-size: 14px; color: var(--lxan-text) !important; }
.lxan-rating__stars { color: var(--lxan-yellow); letter-spacing: 1px; }

/* Dải tin cậy */
.lxan-trust { background: var(--lxan-navy); padding: 20px 0; }
.lxan-trust__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.lxan-trust__item { display: flex; align-items: center; gap: 12px; color: #fff; }
.lxan-icon { flex: none; color: var(--lxan-yellow); }
.lxan-trust__item strong { display: block; font-size: 22px; line-height: 1.2; color: var(--lxan-yellow); }
.lxan-trust__item span { font-size: 14px; opacity: .9; }

/* Khóa học */
.lxan-courses__grid { display: grid; gap: 20px; }
.lxan-card { background: #fff; border: 1px solid var(--lxan-line); border-radius: var(--lxan-radius); overflow: hidden; display: flex; flex-direction: column; box-shadow: 0 4px 16px rgba(36, 54, 77, .06); }
.lxan-card__media img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.lxan-card__body { padding: 18px; display: flex; flex-direction: column; flex: 1; }
.lxan-card__title { font-size: 22px; font-weight: 800; }
.lxan-card__title a { color: inherit; }
.lxan-card__sub { color: var(--lxan-muted); font-size: 14px; }
.lxan-card__price { margin-top: 10px; font-size: 24px; font-weight: 700; color: var(--lxan-red); }
.lxan-card__price small { font-size: 14px; color: var(--lxan-muted); font-weight: 400; }
.lxan-card__meta { font-size: 14px; color: var(--lxan-muted); }
.lxan-card__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: auto; }

/* Bảng so sánh: dạng thẻ trên mobile, dạng bảng từ 768px */
.lxan-compare { background: var(--lxan-bg); }
.lxan-table { width: 100%; border-collapse: collapse; }
.lxan-table thead { display: none; }
.lxan-table tr { display: block; background: #fff; border: 1px solid var(--lxan-line); border-radius: var(--lxan-radius); padding: 12px 16px; margin-bottom: 12px; }
.lxan-table th[scope="row"] { display: block; font-size: 20px; color: var(--lxan-navy); text-align: left; padding-bottom: 6px; }
.lxan-table td { display: grid; grid-template-columns: 96px 1fr; gap: 8px; padding: 6px 0; border-top: 1px dashed var(--lxan-line); }
.lxan-table td::before { content: attr(data-label); font-weight: 700; color: var(--lxan-muted); font-size: 14px; }
.lxan-table td:last-child { color: var(--lxan-red); font-weight: 700; }

/* Lộ trình: dãy mũi tên, màu chuyển dần qua từng bước. Mobile: mũi tên chỉ xuống. */
.lxan-steps__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.lxan-steps__item {
	--step: #2f5b8a;
	position: relative; background: var(--step); color: #fff;
	padding: 18px 20px 34px; margin-bottom: -8px;
	clip-path: polygon(0 0, 100% 0, 100% calc(100% - 18px), 50% 100%, 0 calc(100% - 18px));
}
.lxan-steps__item:last-child { margin-bottom: 0; }
.lxan-steps__item--2 { --step: #22767a; }
.lxan-steps__item--3 { --step: #2e7d4f; }
.lxan-steps__item--4 { --step: #b05a0a; }
.lxan-steps__item--5 { --step: #c62828; }
.lxan-steps__num { display: inline-block; font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; background: rgba(255, 255, 255, .18); border-radius: 999px; padding: 2px 10px; margin-bottom: 6px; }
.lxan .lxan-steps__item h3 { font-size: 18px; color: #fff; }
.lxan-steps__item p { font-size: 15px; margin-top: 4px; color: rgba(255, 255, 255, .92); }

/* ---------- Lộ trình kiểu mới A / B / C — dải màu "bình minh" (màu từng bước ở biến --c) ---------- */
.lxan-path { list-style: none; margin: 0; padding: 0; display: grid; gap: 18px; position: relative; counter-reset: lxanstep; }
.lxan-path__item { position: relative; counter-increment: lxanstep; display: grid; grid-template-columns: 56px 1fr; gap: 14px; align-items: start; }
.lxan-path__node { position: relative; z-index: 1; display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; color: var(--c); background: #f3f5fa; background: color-mix(in srgb, var(--c) 13%, #fff); border: 1.5px solid color-mix(in srgb, var(--c) 45%, #fff); }
.lxan-path__node .lxan-icon { width: 26px; height: 26px; color: inherit; }
.lxan-path__num { display: block; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--c); margin-bottom: 4px; }
.lxan .lxan-path h3 { font-size: 18px; color: var(--lxan-navy); }
.lxan-path p { font-size: 15px; color: var(--lxan-muted); margin-top: 4px; }
.lxan-path__bar { display: none; }
.lxan-path__item.is-final .lxan-path__node { color: #fff; background: var(--c) linear-gradient(135deg, #ffb020, var(--c)); border-color: transparent; box-shadow: 0 0 0 6px color-mix(in srgb, var(--c) 18%, transparent), 0 8px 22px color-mix(in srgb, var(--c) 40%, transparent); }
.lxan-steps--a .lxan-head__desc, .lxan-steps--b .lxan-head__desc, .lxan-steps--c .lxan-head__desc { margin-bottom: 8px; }

/* A – Hành trình: đường mảnh chuyển màu nối các mốc */
.lxan-steps--a .lxan-path::before { content: ""; position: absolute; left: 27px; top: 28px; bottom: 28px; width: 2px; border-radius: 2px; background: linear-gradient(180deg, #4c6ef5, #15aabf, #2fb344, #f5a524, #ff6b2c); opacity: .55; }

/* B – Bậc thang đi lên: thẻ có nền ấm dần, cao dần */
.lxan-steps--b .lxan-path__item {
	padding: 18px; border-radius: 16px; background: #f3f5fa;
	/* Viền đậm hơn: khung 2px cùng màu bước + gờ trên 6px; nền tô màu rõ hơn (22% → 8%). */
	border: 2px solid color-mix(in srgb, var(--c) 45%, #fff); border-top: 6px solid var(--c);
	/* Màu đặc đứng trước gradient: Elementor tạm bỏ background-image của khối chưa cuộn tới, màu nền vẫn giữ. */
	background: color-mix(in srgb, var(--c) 15%, #fff) linear-gradient(180deg, color-mix(in srgb, var(--c) 22%, #fff), color-mix(in srgb, var(--c) 8%, #fff));
	box-shadow: 0 8px 22px color-mix(in srgb, var(--c) 14%, transparent);
}
.lxan-steps--b .lxan-path__node { background: #fff; border-width: 2px; border-color: color-mix(in srgb, var(--c) 60%, #fff); }
.lxan-steps--b .lxan-path__item.is-final { background: var(--c) linear-gradient(160deg, #ffb020, var(--c)); border-color: transparent; box-shadow: 0 14px 34px color-mix(in srgb, var(--c) 35%, transparent); }
.lxan-steps--b .lxan-path__item.is-final .lxan-path__node { background: rgba(255, 255, 255, .22); box-shadow: none; }
.lxan-steps--b .lxan-path__item.is-final h3, .lxan-steps--b .lxan-path__item.is-final p, .lxan-steps--b .lxan-path__item.is-final .lxan-path__num { color: #fff; }

/* C – Thẻ viền mảnh + số lớn + thanh tiến độ */
.lxan-steps--c .lxan-path__item { padding: 18px 18px 22px; border-radius: 14px; border: 1px solid color-mix(in srgb, var(--c) 30%, #e3e7ed); background: #fff; overflow: hidden; }
.lxan-steps--c .lxan-path__body::after { content: counter(lxanstep, decimal-leading-zero); position: absolute; right: 14px; top: 6px; font-size: 44px; font-weight: 800; line-height: 1; color: var(--c); opacity: .14; }
.lxan-steps--c .lxan-path__bar { display: block; position: absolute; left: 0; right: 0; bottom: 0; height: 5px; background: #eef1f5; }
.lxan-steps--c .lxan-path__bar span { display: block; height: 100%; width: var(--p); background: var(--c) linear-gradient(90deg, #4c6ef5, var(--c)); border-radius: 0 3px 3px 0; }
.lxan-steps--c .lxan-path__item.is-final { border-color: transparent; box-shadow: 0 12px 30px color-mix(in srgb, var(--c) 28%, transparent); }

@media (min-width: 992px) {
	.lxan-path { grid-template-columns: repeat(5, 1fr); gap: 20px; }
	.lxan-path__item { grid-template-columns: 1fr; }
	/* A: các mốc nằm ngang trên một đường kẻ, chữ căn giữa */
	.lxan-steps--a .lxan-path::before { left: 10%; right: 10%; top: 27px; bottom: auto; width: auto; height: 2px; background: linear-gradient(90deg, #4c6ef5, #15aabf, #2fb344, #f5a524, #ff6b2c); }
	.lxan-steps--a .lxan-path__item { justify-items: center; text-align: center; }
	/* B: bậc thang — mỗi bước cao hơn bước trước */
	.lxan-steps--b .lxan-path { align-items: end; }
	.lxan-steps--b .lxan-path__item:nth-child(1) { min-height: 270px; }
	.lxan-steps--b .lxan-path__item:nth-child(2) { min-height: 300px; }
	.lxan-steps--b .lxan-path__item:nth-child(3) { min-height: 330px; }
	.lxan-steps--b .lxan-path__item:nth-child(4) { min-height: 360px; }
	.lxan-steps--b .lxan-path__item:nth-child(5) { min-height: 390px; }
	.lxan-steps--b .lxan-path__item { align-content: start; }
	.lxan-steps--c .lxan-path__item { min-height: 240px; align-content: start; }
}

/* Khai giảng */
.lxan-opening { padding: 0; }
.lxan-opening__box { background: var(--lxan-navy); color: #fff; border-radius: var(--lxan-radius); padding: 28px 20px; display: grid; gap: 18px; }
.lxan-opening .lxan-head__eyebrow { color: var(--lxan-yellow); }
.lxan-opening__title { color: #fff !important; font-size: 24px; margin-bottom: 8px; }
.lxan-opening strong { color: var(--lxan-yellow); }

/* Vì sao chọn */
.lxan-why__grid { display: grid; gap: 28px; align-items: center; }
.lxan-why__media img { border-radius: var(--lxan-radius); width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.lxan-why .lxan-head { text-align: left; }
.lxan-why__list { display: grid; gap: 14px; }
.lxan-why__item { border-left: 4px solid var(--lxan-red); background: var(--lxan-bg); padding: 12px 16px; border-radius: 0 8px 8px 0; }
.lxan-why__item h3 { font-size: 18px; }
.lxan-why__item p { color: var(--lxan-muted); font-size: 15px; }

/* Giáo viên: lưới cuộn dọc — 1 cột (thẻ ngang) trên di động, 2 cột tablet, 3 cột máy tính. */
.lxan-teachers { background: var(--lxan-bg); }
.lxan-teacher-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 12px; }
.lxan-teacher { background: #fff; border-radius: var(--lxan-radius); overflow: hidden; border: 1px solid var(--lxan-line); display: grid; grid-template-columns: 96px 1fr; align-items: center; }
.lxan-teacher img { width: 96px !important; height: 96px; object-fit: cover; object-position: center 25%; }
.lxan-teacher div { padding: 10px 16px; }
.lxan-teacher h3 { font-size: 17px; font-weight: 700; }
.lxan-teacher p { font-size: 14px; color: var(--lxan-muted); }

/* Đánh giá */
.lxan-reviews__grid { display: grid; gap: 18px; }
.lxan-gcard { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; text-align: center; padding: 24px; border-radius: var(--lxan-radius); background: var(--lxan-navy); color: #fff !important; }
.lxan-gcard__g { width: 44px; height: 44px; border-radius: 50%; background: #fff; color: #4285f4; font: 700 26px/44px Arial, sans-serif; }
.lxan-gcard__score { font-size: 44px; color: #fff; line-height: 1.1; }
.lxan-gcard__link { margin-top: 8px; color: var(--lxan-yellow); font-weight: 700; }
.lxan-quote { margin: 0; background: #fff; border: 1px solid var(--lxan-line); border-radius: var(--lxan-radius); padding: 20px; display: flex; flex-direction: column; justify-content: space-between; gap: 14px; }
.lxan-quote blockquote { margin: 0; padding: 0; border: 0; font-size: 15px; font-style: italic; color: var(--lxan-text); }
.lxan-quote blockquote::before { content: "“"; color: var(--lxan-red); font-size: 32px; line-height: 0; vertical-align: -12px; margin-right: 4px; }
.lxan-quote figcaption { display: flex; align-items: center; gap: 12px; font-size: 14px; color: var(--lxan-muted); }
.lxan-quote figcaption strong { display: block; color: var(--lxan-navy); font-size: 16px; }
.lxan-quote__avatar { width: 48px !important; height: 48px; border-radius: 50%; object-fit: cover; }

/* FAQ */
.lxan-faq__item { border: 1px solid var(--lxan-line); border-radius: 10px; margin-bottom: 10px; background: #fff; }
.lxan-faq__item summary { cursor: pointer; padding: 14px 44px 14px 16px; font-weight: 700; color: var(--lxan-navy); position: relative; list-style: none; }
.lxan-faq__item summary::-webkit-details-marker { display: none; }
.lxan-faq__item summary::after { content: "+"; position: absolute; right: 16px; top: 50%; transform: translateY(-50%); font-size: 22px; color: var(--lxan-red); }
.lxan-faq__item[open] summary::after { content: "–"; }
.lxan-faq__item p { padding: 0 16px 16px; color: var(--lxan-text); }

/* Đăng ký */
.lxan-contact { background: var(--lxan-bg); scroll-margin-top: 90px; }
.lxan-contact__grid { display: grid; gap: 28px; }
.lxan-contact .lxan-head { text-align: left; }
.lxan-info { list-style: none; margin: 0 0 18px; padding: 0; }
.lxan-info li { display: flex; gap: 10px; margin: 8px 0; }
.lxan-info li > span { color: var(--lxan-red); font-weight: 700; width: 20px; flex: none; text-align: center; }
.lxan-info a { color: var(--lxan-red); font-weight: 700; }
.lxan-contact__form { background: #fff; border-radius: var(--lxan-radius); padding: 20px; box-shadow: 0 8px 24px rgba(36, 54, 77, .08); }
/* Form CF7 có sẵn (ID 2616) — chỉ đổi giao diện, không đổi trường dữ liệu (đang nối Google Sheets). */
.lxan-contact__form .form-one__group { display: grid; gap: 14px; }
.lxan-contact__form .form-one__control { margin: 0; }
.lxan-contact__form br { display: none; }
.lxan-contact__form lable { display: block; font-weight: 700; color: var(--lxan-navy); margin-bottom: 6px; font-size: 15px; }
.lxan-contact__form input[type="text"],
.lxan-contact__form input[type="tel"],
.lxan-contact__form select,
.lxan-contact__form textarea {
	width: 100%; min-height: 48px; padding: 10px 14px; border: 1px solid #cfd6df; border-radius: 8px;
	background: #fff; font: inherit; font-size: 16px; color: var(--lxan-text);
}
.lxan-contact__form textarea { height: 110px; min-height: 0; resize: vertical; }
.lxan-contact__form input:focus,
.lxan-contact__form select:focus,
.lxan-contact__form textarea:focus { outline: none; border-color: var(--lxan-navy); box-shadow: 0 0 0 3px rgba(53, 76, 104, .18); }
.lxan-contact__form .wpcf7-submit,
.lxan-contact__form button[type="submit"] {
	width: 100%; min-height: 52px; border: 0; border-radius: 8px; background: var(--lxan-red); color: #fff;
	font: inherit; font-size: 17px; font-weight: 700; cursor: pointer;
}
.lxan-contact__form .wpcf7-submit:hover,
.lxan-contact__form button[type="submit"]:hover { background: var(--lxan-red-dark); }
.lxan-contact__form .wpcf7-not-valid-tip { font-size: 14px; }

/* Khối ảnh cơ sở vật chất & tin tức (widget có sẵn) */
.lxan-gallery { padding-bottom: 40px; }

@media (min-width: 600px) {
	.lxan-courses__grid { grid-template-columns: repeat(2, 1fr); }
	.lxan-teacher-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
	.lxan-teacher { display: block; text-align: center; }
	.lxan-teacher img { width: 100% !important; height: auto; aspect-ratio: 4 / 3; }
	.lxan-teacher div { padding: 12px 12px 16px; }
	.lxan-reviews__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 768px) {
	.lxan { padding: 72px 0; }
	.lxan-head__title { font-size: 32px; }
	.lxan-table thead { display: table-header-group; }
	.lxan-table tr { display: table-row; border: 0; padding: 0; }
	.lxan-table th, .lxan-table td { display: table-cell; padding: 14px 16px; border-bottom: 1px solid var(--lxan-line); text-align: left; vertical-align: top; }
	.lxan-table td::before { content: none; }
	.lxan-table thead th { background: var(--lxan-navy); color: #fff; font-size: 15px; }
	.lxan-table tbody tr { background: #fff; }
	.lxan-table th[scope="row"] { font-size: 18px; width: 90px; }
	.lxan-table td:nth-child(3), .lxan-table td:nth-child(4) { white-space: nowrap; }
	.lxan-opening { padding: 0; }
	.lxan-opening__box { grid-template-columns: 1fr auto; align-items: center; padding: 32px 36px; }
}

@media (min-width: 992px) {
	.lxan-hero { padding: 56px 0 64px; }
	.lxan-hero__grid { grid-template-columns: 5fr 7fr; gap: 40px; }
	.lxan-hero__title { font-size: 40px; }
	.lxan-hero__media img { aspect-ratio: 4 / 3; min-height: 480px; }
	.lxan-trust__grid { grid-template-columns: repeat(4, 1fr); }
	.lxan-courses__grid { grid-template-columns: repeat(4, 1fr); }
	.lxan-why__grid { grid-template-columns: 5fr 6fr; gap: 48px; }
	.lxan-why__list { grid-template-columns: 1fr 1fr; }
	/* Lộ trình nằm ngang: mũi tên chỉ sang phải, ô sau lồng vào ô trước. */
	.lxan-steps__list { flex-direction: row; }
	.lxan-steps__item {
		flex: 1; margin: 0 0 0 -14px; padding: 22px 34px 22px 38px;
		clip-path: polygon(0 0, calc(100% - 26px) 0, 100% 50%, calc(100% - 26px) 100%, 0 100%, 26px 50%);
	}
	.lxan-steps__item--1 { margin-left: 0; padding-left: 22px; clip-path: polygon(0 0, calc(100% - 26px) 0, 100% 50%, calc(100% - 26px) 100%, 0 100%); }
	.lxan-teacher-grid { grid-template-columns: repeat(3, 1fr); gap: 24px; }
	.lxan-reviews__grid { grid-template-columns: repeat(4, 1fr); }
	.lxan-contact__grid { grid-template-columns: 5fr 6fr; align-items: start; }
}

@media (prefers-reduced-motion: reduce) {
	.lxan-btn { transition: none; }
}

/* =====================================================================
 * 3 PHONG CÁCH MẪU — class gắn trên container Elementor: .lxan-v1 / .lxan-v2 / .lxan-v3
 * Dùng chung nội dung, chỉ đổi giao diện. Font giữ theo theme.
 * ===================================================================== */

/* ---------- Mẫu 1: Hiện đại – nền tối, điểm nhấn vàng ---------- */
.lxan-v1 .lxan { --lxan-red: #e53935; --lxan-red-dark: #c62828; }
.lxan-v1 .lxan-hero { position: relative; overflow: hidden; background: #14202f; padding: 56px 0 100px; }
.lxan-v1 .lxan-hero__media { position: absolute; inset: 0; z-index: 0; }
.lxan-v1 .lxan-hero__media img { width: 100%; height: 100%; min-height: 0; aspect-ratio: auto; border-radius: 0; box-shadow: none; object-fit: cover; }
.lxan-v1 .lxan-hero__media--slider { position: absolute; aspect-ratio: auto; border-radius: 0; box-shadow: none; }
.lxan-v1 .lxan-hero__controls { z-index: 3; bottom: 22px; }
.lxan-v1 .lxan-hero__lines { color: var(--lxan-yellow); }
.lxan-v3 .lxan-hero__lines { color: #ffd23f; }
.lxan-v3 .lxan-hero__media--slider { overflow: visible; box-shadow: none; transform: rotate(-1.5deg); }
.lxan-v3 .lxan-hero__media--slider .lxan-hero__slide { border: 6px solid #fff; transform: none; }
.lxan-v1 .lxan-hero__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(14, 24, 37, .94) 0%, rgba(14, 24, 37, .78) 45%, rgba(14, 24, 37, .25) 100%); }
.lxan-v1 .lxan-hero__grid { position: static; grid-template-columns: 1fr; } /* ảnh phủ theo cả khối hero */
.lxan-v1 .lxan-hero__text { position: relative; z-index: 1; max-width: 620px; }
.lxan-v1 .lxan-hero__title { color: #fff; font-size: 34px; }
.lxan-v1 .lxan-hero .lxan-check li { color: #fff; }
.lxan-v1 .lxan-hero .lxan-check li::before { background: var(--lxan-yellow); color: #14202f; }
.lxan-v1 .lxan-rating { background: rgba(255, 255, 255, .12); border-color: rgba(255, 255, 255, .25); color: #fff !important; }
.lxan-v1 .lxan-rating strong, .lxan-v3 .lxan-rating strong { color: #fff; }
.lxan-v1 .lxan-hero .lxan-btn--secondary { background: transparent; border-color: #fff; }
.lxan-v1 .lxan-trust { background: var(--lxan-yellow); }
.lxan-v1 .lxan-trust__item, .lxan-v1 .lxan-trust__item strong, .lxan-v1 .lxan-trust .lxan-icon { color: #14202f; }
.lxan-v1 .lxan-courses, .lxan-v1 .lxan-why, .lxan-v1 .lxan-reviews { background: #1b2a3d; }
.lxan-v1 .lxan-courses .lxan-head__title, .lxan-v1 .lxan-why .lxan-head__title, .lxan-v1 .lxan-reviews .lxan-head__title { color: #fff; }
.lxan-v1 .lxan-courses .lxan-head__desc, .lxan-v1 .lxan-why .lxan-head__desc { color: #c9d3df; }
.lxan-v1 .lxan-courses .lxan-head__eyebrow, .lxan-v1 .lxan-why .lxan-head__eyebrow, .lxan-v1 .lxan-reviews .lxan-head__eyebrow { color: var(--lxan-yellow); }
.lxan-v1 .lxan-card { border: 0; box-shadow: 0 10px 30px rgba(0, 0, 0, .35); }
.lxan-v1 .lxan-why__item { background: rgba(255, 255, 255, .06); border-left-color: var(--lxan-yellow); }
.lxan-v1 .lxan .lxan-why__item h3 { color: #fff; }
.lxan-v1 .lxan-why__item p { color: #c9d3df; }
.lxan-v1 .lxan-gcard { background: var(--lxan-yellow); color: #14202f !important; }
.lxan-v1 .lxan-gcard__score, .lxan-v1 .lxan-gcard__link, .lxan-v1 .lxan-gcard .lxan-rating__stars { color: #14202f; }
.lxan-v1 .lxan-opening__box { background: #1f3147 linear-gradient(120deg, #14202f, #2c4767); }
.lxan-v1 .lxan-teacher { border: 0; box-shadow: 0 6px 18px rgba(20, 32, 47, .12); }

/* ---------- Mẫu 2: Tối giản – thanh lịch, nhiều khoảng trắng ---------- */
.lxan-v2 .lxan { --lxan-red: #b71c1c; --lxan-red-dark: #8e1515; --lxan-radius: 6px; }
.lxan-v2 .lxan-hero { background: #fff; padding: 48px 0 32px; }
.lxan-v2 .lxan-hero__grid { grid-template-columns: 1fr; text-align: center; gap: 32px; }
.lxan-v2 .lxan-hero__text { max-width: 760px; margin: 0 auto; }
.lxan-v2 .lxan-hero__title { font-size: 32px; font-weight: 400; letter-spacing: -.01em; }
.lxan-v2 .lxan-hero .lxan-check { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 22px; }
.lxan-v2 .lxan-hero .lxan-check li { margin: 0; }
.lxan-v2 .lxan-hero .lxan-actions { justify-content: center; }
.lxan-v2 .lxan-hero__media img { aspect-ratio: 16 / 7; min-height: 0; box-shadow: none; }
.lxan-v2 .lxan-btn { border-radius: 4px; }
.lxan-v2 .lxan-btn--secondary { background: transparent; color: var(--lxan-navy) !important; border-color: var(--lxan-navy); }
.lxan-v2 .lxan-btn--secondary:hover { background: var(--lxan-navy); color: #fff !important; }
.lxan-v2 .lxan-trust { background: #fff; border-top: 1px solid var(--lxan-line); border-bottom: 1px solid var(--lxan-line); }
.lxan-v2 .lxan-trust__item, .lxan-v2 .lxan-trust__item span { color: var(--lxan-muted); opacity: 1; }
.lxan-v2 .lxan-trust__item strong, .lxan-v2 .lxan-trust .lxan-icon { color: var(--lxan-navy); }
.lxan-v2 .lxan-head { text-align: left; border-bottom: 1px solid var(--lxan-line); padding-bottom: 14px; }
.lxan-v2 .lxan-head__eyebrow { color: var(--lxan-muted); letter-spacing: .12em; }
.lxan-v2 .lxan-head__title { font-weight: 400; }
.lxan-v2 .lxan-compare, .lxan-v2 .lxan-teachers, .lxan-v2 .lxan-contact { background: #fafbfc; }
.lxan-v2 .lxan-card { box-shadow: none; }
.lxan-v2 .lxan-card__price { color: var(--lxan-navy); }
.lxan-v2 .lxan-check li::before { background: transparent; color: var(--lxan-navy); border: 1px solid var(--lxan-navy); line-height: 18px; }
.lxan-v2 .lxan-steps__item--1 { --step: #8ea3bd; }
.lxan-v2 .lxan-steps__item--2 { --step: #6c86a6; }
.lxan-v2 .lxan-steps__item--3 { --step: #4f6a8c; }
.lxan-v2 .lxan-steps__item--4 { --step: #3d5574; }
.lxan-v2 .lxan-steps__item--5 { --step: #24364d; }
.lxan-v2 .lxan .lxan-steps__item--1 h3, .lxan-v2 .lxan-steps__item--1 p, .lxan-v2 .lxan-steps__item--1 .lxan-steps__num { color: #0f1b2a; }
.lxan-v2 .lxan-opening__box { background: #fff; color: var(--lxan-text); border: 1px solid var(--lxan-line); }
.lxan-v2 .lxan-opening__title { color: var(--lxan-navy) !important; }
.lxan-v2 .lxan-opening .lxan-head__eyebrow, .lxan-v2 .lxan-opening strong { color: var(--lxan-red); }
.lxan-v2 .lxan-why__item { background: transparent; border-left-width: 2px; border-left-color: var(--lxan-navy); }
.lxan-v2 .lxan-gcard { background: #fff; color: var(--lxan-text) !important; border: 1px solid var(--lxan-line); }
.lxan-v2 .lxan-gcard__score { color: var(--lxan-navy); }
.lxan-v2 .lxan-gcard__g { background: var(--lxan-bg); }
.lxan-v2 .lxan-gcard__link { color: var(--lxan-red); }
.lxan-v2 .lxan-contact__form { box-shadow: none; border: 1px solid var(--lxan-line); }

/* ---------- Mẫu 3: Năng động – trẻ trung, nhiều màu ---------- */
.lxan-v3 .lxan { --lxan-radius: 18px; --lxan-red: #ff5a36; --lxan-red-dark: #e0441f; }
.lxan-v3 .lxan-btn { border-radius: 999px; }
.lxan-v3 .lxan-hero { background: #1478a8 linear-gradient(135deg, #0f4c81 0%, #1478a8 50%, #19a39a 100%); padding: 44px 0 96px; }
.lxan-v3 .lxan-hero__title { color: #fff; }
.lxan-v3 .lxan-hero .lxan-check li { color: #fff; }
.lxan-v3 .lxan-hero .lxan-check li::before { background: #ffd23f; color: #0f4c81; }
.lxan-v3 .lxan-rating { background: rgba(255, 255, 255, .15); border-color: transparent; color: #fff !important; }
.lxan-v3 .lxan-hero .lxan-btn--secondary { background: #fff; color: #0f4c81 !important; }
.lxan-v3 .lxan-hero__media { position: relative; }
.lxan-v3 .lxan-hero__media img { border: 6px solid #fff; transform: rotate(-1.5deg); box-shadow: 0 18px 40px rgba(0, 0, 0, .25); }
.lxan-v3 .lxan-hero__media::after { content: "Khai giảng 15 – 20 hằng tháng"; position: absolute; left: 12px; bottom: -14px; background: #ffd23f; color: #0f4c81; font-weight: 800; padding: 10px 18px; border-radius: 999px; box-shadow: 0 8px 20px rgba(0, 0, 0, .2); font-size: 15px; }
.lxan-v3 .lxan-trust { background: transparent; padding: 0; margin-top: -60px; position: relative; z-index: 2; }
.lxan-v3 .lxan-trust__item { background: #fff; color: var(--lxan-text); border-radius: 16px; padding: 16px; box-shadow: 0 12px 28px rgba(15, 76, 129, .15); }
.lxan-v3 .lxan-trust__item:nth-child(1) .lxan-icon { color: #1e6fd9; }
.lxan-v3 .lxan-trust__item:nth-child(2) .lxan-icon { color: #f59f00; }
.lxan-v3 .lxan-trust__item:nth-child(3) .lxan-icon { color: #12b886; }
.lxan-v3 .lxan-trust__item:nth-child(4) .lxan-icon { color: #ff5a36; }
.lxan-v3 .lxan-trust__item strong { color: #0f4c81; }
.lxan-v3 .lxan-trust__item span { color: var(--lxan-muted); opacity: 1; }
.lxan-v3 .lxan-head__eyebrow { display: inline-block; background: #e7f5ff; color: #1478a8; padding: 4px 14px; border-radius: 999px; }
.lxan-v3 .lxan-card { border: 0; border-top: 6px solid var(--accent, #1e6fd9); box-shadow: 0 10px 26px rgba(15, 76, 129, .1); }
.lxan-v3 .lxan-courses__grid .lxan-card:nth-child(1) { --accent: #1e6fd9; }
.lxan-v3 .lxan-courses__grid .lxan-card:nth-child(2) { --accent: #0f9d74; }
.lxan-v3 .lxan-courses__grid .lxan-card:nth-child(3) { --accent: #d9480f; }
.lxan-v3 .lxan-courses__grid .lxan-card:nth-child(4) { --accent: #c2255c; }
.lxan-v3 .lxan-card__price { display: inline-block; align-self: flex-start; background: var(--accent); color: #fff; border-radius: 999px; padding: 4px 14px; font-size: 20px; }
.lxan-v3 .lxan-card__price small { color: rgba(255, 255, 255, .85); }
.lxan-v3 .lxan .lxan-card__title { color: var(--accent); }
.lxan-v3 .lxan-check li::before { background: #0f9d74; }
.lxan-v3 .lxan-compare, .lxan-v3 .lxan-teachers, .lxan-v3 .lxan-contact { background: #f1f8ff; }
.lxan-v3 .lxan-table thead th { background: #1478a8; }
.lxan-v3 .lxan-opening__box { background: #e0441f linear-gradient(120deg, #e0441f, #d9480f); }
.lxan-v3 .lxan-opening .lxan-head__eyebrow { background: rgba(255, 255, 255, .2); color: #fff; }
.lxan-v3 .lxan-opening strong { color: #fff; text-decoration: underline; }
.lxan-v3 .lxan-opening .lxan-btn--primary { background: #fff; color: #c2255c !important; }
.lxan-v3 .lxan-why__item { border-left: 0; border-radius: 14px; background: #f1f8ff; }
.lxan-v3 .lxan-why__item:nth-child(1) { box-shadow: inset 4px 0 0 #1e6fd9; }
.lxan-v3 .lxan-why__item:nth-child(2) { box-shadow: inset 4px 0 0 #0f9d74; }
.lxan-v3 .lxan-why__item:nth-child(3) { box-shadow: inset 4px 0 0 #d9480f; }
.lxan-v3 .lxan-why__item:nth-child(4) { box-shadow: inset 4px 0 0 #c2255c; }
.lxan-v3 .lxan-gcard { background: #0f4c81 linear-gradient(135deg, #0f4c81, #19a39a); }
.lxan-v3 .lxan-gcard__link { color: #ffd23f; }
.lxan-v3 .lxan-faq__item { border: 0; box-shadow: 0 4px 14px rgba(15, 76, 129, .08); border-left: 4px solid #1478a8; }
.lxan-v3 .lxan-teacher { border: 0; box-shadow: 0 8px 20px rgba(15, 76, 129, .1); }

@media (min-width: 992px) {
	.lxan-v1 .lxan-hero { padding: 120px 0 130px; }
	.lxan-v1 .lxan-hero__title { font-size: 50px; }
	.lxan-v2 .lxan-hero { padding: 72px 0 48px; }
	.lxan-v2 .lxan-hero__title { font-size: 46px; }
	.lxan-v2 .lxan-hero__media img { aspect-ratio: 21 / 8; }
	.lxan-v3 .lxan-hero { padding: 64px 0 120px; }
	.lxan-v3 .lxan-hero__grid { grid-template-columns: 1fr 1fr; }
	.lxan-v3 .lxan-hero__title { font-size: 44px; }
	.lxan-v3 .lxan-hero__media img { min-height: 0; aspect-ratio: 4 / 3; }
}

/* =====================================================================
 * PHONG CÁCH 3D HIỆN ĐẠI — class .lxan-3d trên container (trang trang-chu-moi-3d)
 * Hero: cảnh WebGL (assets/js/hero-3d.js). Phần còn lại: chiều sâu bằng CSS.
 * ===================================================================== */

/* Hero 3D: nền tối + lưới phối cảnh như sàn */
.lxan-hero--3d { position: relative; overflow: hidden; color: #fff; background: #0f1a29 radial-gradient(120% 90% at 75% 40%, #23436a 0%, #142337 45%, #0c1522 100%); padding: 36px 0 96px; }
.lxan-hero--3d::before { content: ""; position: absolute; left: -20%; right: -20%; bottom: -30%; height: 70%; background-image: linear-gradient(rgba(127, 178, 255, .16) 1px, transparent 1px), linear-gradient(90deg, rgba(127, 178, 255, .16) 1px, transparent 1px); background-size: 48px 48px; transform: perspective(600px) rotateX(62deg); transform-origin: center top; mask-image: linear-gradient(to top, #000 30%, transparent); -webkit-mask-image: linear-gradient(to top, #000 30%, transparent); pointer-events: none; }
.lxan-hero--3d .lxan-hero__grid { position: relative; z-index: 1; }
.lxan-hero--3d .lxan-hero__title { color: #fff; }
.lxan-hero--3d .lxan-hero__lines { color: #ffd23f; }
.lxan-hero--3d .lxan-check li { color: #e6eefb; }
.lxan-hero--3d .lxan-rating { background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .18); color: #fff !important; backdrop-filter: blur(6px); }
.lxan-hero--3d .lxan-rating strong { color: #fff; }
.lxan-hero--3d .lxan-btn--secondary { background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .6); }

.lxan-hero__stage { position: relative; aspect-ratio: 4 / 3; border-radius: 24px; overflow: hidden; touch-action: pan-y; }
.lxan-hero__stage .lxan-hero__img { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover; border-radius: 24px; transition: opacity .6s ease-out; }
.lxan-hero__canvas { position: absolute; inset: 0; width: 100% !important; height: 100% !important; opacity: 0; transition: opacity .6s ease-out; }
.lxan-hero__stage.is-ready { overflow: visible; }
.lxan-hero__stage.is-ready .lxan-hero__img { opacity: 0; }
.lxan-hero__stage.is-ready .lxan-hero__canvas { opacity: 1; }
.lxan-hero__3d-loading { position: absolute; left: 50%; bottom: 16px; transform: translateX(-50%); padding: 6px 14px; border-radius: 999px; background: rgba(12, 21, 34, .7); color: #fff; font-size: 14px; opacity: 0; transition: opacity .3s; pointer-events: none; }
.lxan-hero__stage.is-loading .lxan-hero__3d-loading { opacity: 1; }

/* Ô số liệu nổi chồng lên hero */
.lxan-3d .lxan-trust { background: transparent; padding: 0; margin-top: -64px; position: relative; z-index: 2; }
.lxan-3d .lxan-trust__item { background: #fff; color: var(--lxan-text); border-radius: 18px; padding: 16px; box-shadow: 0 1px 0 #fff inset, 0 8px 0 -3px #d9e0ea, 0 22px 40px rgba(12, 21, 34, .18); }
.lxan-3d .lxan-trust__item strong { color: var(--lxan-navy); }
.lxan-3d .lxan-trust__item span { color: var(--lxan-muted); opacity: 1; }
.lxan-3d .lxan-trust .lxan-icon { color: #4c6ef5; }

/* Thẻ nghiêng theo chuột (biến --rx/--ry do JS đặt) + bóng nhiều lớp */
.lxan-3d :is(.lxan-card, .lxan-quote, .lxan-teacher) {
	transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg));
	transition: transform .25s ease-out, box-shadow .25s ease-out !important; /* thắng quy tắc hover của uiux.css */
	box-shadow: 0 2px 4px rgba(12, 21, 34, .06), 0 12px 28px rgba(12, 21, 34, .1);
	will-change: transform;
}
.lxan-3d :is(.lxan-card, .lxan-quote, .lxan-teacher):hover { box-shadow: 0 4px 8px rgba(12, 21, 34, .08), 0 26px 48px rgba(12, 21, 34, .18); }
.lxan-3d .lxan-card { border: 0; border-radius: 18px; }

/* Bậc lộ trình như khối có độ dày */
.lxan-3d .lxan-steps--b .lxan-path__item { box-shadow: 0 10px 0 -2px color-mix(in srgb, var(--c) 40%, #b9c3d0), 0 24px 34px rgba(12, 21, 34, .12); }

/* Nút có cảm giác nhấn 3D */
.lxan-3d .lxan-btn--primary { box-shadow: 0 4px 0 #8e1a1a; }
.lxan-3d .lxan-btn--secondary { box-shadow: 0 4px 0 rgba(0, 0, 0, .35); }
.lxan-3d .lxan-btn--zalo { box-shadow: 0 4px 0 #0047b3; }
.lxan-3d .lxan-btn:active { transform: translateY(3px); box-shadow: 0 1px 0 rgba(0, 0, 0, .3); }

@media (min-width: 992px) {
	.lxan-hero--3d { padding: 56px 0 120px; }
	.lxan-hero--3d .lxan-hero__grid { grid-template-columns: 5fr 7fr; gap: 24px; }
	.lxan-hero--3d .lxan-hero__title { font-size: 44px; }
	.lxan-hero__stage { aspect-ratio: 16 / 11; }
}

@media (prefers-reduced-motion: reduce) {
	.lxan-3d :is(.lxan-card, .lxan-quote, .lxan-teacher) { transform: none !important; transition: none; }
	.lxan-hero__stage .lxan-hero__img, .lxan-hero__canvas { transition: none; }
}

/* =====================================================================
 * TRANG trang-chu-moi — class .lxan-moi (góp ý chủ site 18/10/2026)
 * ===================================================================== */

/* Ô đánh giá Google: chữ đậm, nền đậm */
.lxan-moi .lxan-rating { background: #24364d; border-color: #24364d; color: #fff !important; font-weight: 700; padding: 8px 16px; box-shadow: 0 6px 16px rgba(36, 54, 77, .25); }
.lxan-moi .lxan-rating strong, .lxan-moi .lxan-rating span { color: #fff; font-weight: 700; }
.lxan-moi .lxan-rating .lxan-rating__stars { color: var(--lxan-yellow); }

/* Ảnh slide kéo tới sát cạnh phải màn hình */
.lxan-moi .lxan-hero { overflow: hidden; }
.lxan-moi .lxan-hero__media { margin-right: -16px; }
.lxan-moi .lxan-hero__media--slider { border-radius: var(--lxan-radius) 0 0 var(--lxan-radius); }

/* Khoảng cách giữa các phần gọn hơn */
.lxan-moi .lxan { padding: 36px 0; }
.lxan-moi .lxan-trust { padding: 20px 0; }
.lxan-moi .lxan-opening { padding: 0; }
.lxan-moi .lxan-head { margin-bottom: 20px; }
.lxan-moi .lxan-hero { padding: 24px 0 32px; }

@media (min-width: 768px) {
	.lxan-moi .lxan { padding: 48px 0; }
	.lxan-moi .lxan-trust { padding: 20px 0; }
	.lxan-moi .lxan-opening { padding: 0; }
}
@media (min-width: 992px) {
	.lxan-moi .lxan-hero { padding: 40px 0 44px; }
	/* Bù phần lề của khung 1200px để ảnh chạm mép phải trình duyệt */
	.lxan-moi .lxan-hero__media { margin-right: calc(-1 * (max(0px, (100vw - 1200px) / 2) + 16px)); }
	/* Chiều cao theo cột ảnh trong khung nội dung (tỉ lệ 4:3), không theo phần kéo ra mép:
	   phóng to/thu nhỏ trình duyệt thì ảnh đổi cả ngang lẫn cao cùng nhịp với chữ.
	   (min(100vw,1200px) - 32px lề - 40px khoảng cách) × 7/12 cột × 3/4 = × 0.4375 */
	.lxan-moi .lxan-hero__media--slider { aspect-ratio: auto; height: calc((min(100vw, 1200px) - 72px) * 0.4375); }
	.lxan-moi .lxan-hero__grid { align-items: center; }
}
@media (max-width: 991px) {
	/* Mobile/tablet: khung nội dung = màn hình, giữ tỉ lệ 4:3 theo bề ngang khung (không tính 16px kéo ra mép). */
	.lxan-moi .lxan-hero__media--slider { aspect-ratio: auto; height: calc((100vw - 32px) * 0.75); }
}

/* =====================================================================
 * TRANG KHÓA HỌC Ô TÔ HẠNG B — [lxan_b_*] (inc/course-b.php)
 * ===================================================================== */
/* Ô "Cần điền" — thông tin chờ chủ site xác nhận (chỉ có ở bản nháp). */
.lxan-todo { background: #fff3bf; color: #8a5a00; border: 1px dashed #f2b705; border-radius: 4px; padding: 0 4px; font-weight: 700; font-size: .9em; }

/* Hero */
.lxan-bhero__intro { margin-top: 12px; font-size: 17px; color: var(--lxan-text); max-width: 560px; }
/* Ảnh hero dọc: giữ nguyên tỉ lệ, không cắt (chủ site yêu cầu). */
.lxan-moi .lxan-bhero .lxan-hero__media { margin-right: 0; }
.lxan-bhero .lxan-hero__media img { aspect-ratio: auto; width: 100%; height: auto; object-fit: contain; border-radius: var(--lxan-radius); }
@media (min-width: 992px) {
	.lxan-bhero .lxan-hero__media { display: flex; justify-content: center; }
	.lxan-bhero .lxan-hero__media img { width: auto; max-width: 100%; max-height: 640px; }
}

/* Học phí 2 gói */
.lxan-pricing__grid { display: grid; gap: 16px; }
.lxan-plan { position: relative; background: #fff; border: 2px solid var(--lxan-line); border-radius: var(--lxan-radius); padding: 22px 20px; display: flex; flex-direction: column; gap: 10px; }
.lxan-plan--featured { border-color: var(--lxan-navy); box-shadow: 0 12px 28px rgba(36, 54, 77, .14); }
.lxan-plan--include { background: var(--lxan-bg); }
.lxan .lxan-plan__name { font-size: 22px; }
.lxan-plan__tag { color: var(--lxan-muted); font-size: 15px; margin-top: -6px !important; }
.lxan-plan__price { font-size: 28px; font-weight: 700; color: var(--lxan-red); }
.lxan-plan__rows { margin: 0; }
.lxan-plan__rows div { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-top: 1px dashed var(--lxan-line); font-size: 15px; }
.lxan-plan__rows dt { color: var(--lxan-muted); }
.lxan-plan__rows dd { margin: 0; font-weight: 700; color: var(--lxan-navy); text-align: right; }
.lxan-plan .lxan-actions { margin-top: auto; padding-top: 8px; }
.lxan-plan .lxan-btn { flex: 1 1 auto; }
.lxan-plan__note { font-size: 15px; }
.lxan-plan .lxan-check { margin: 4px 0; }

/* Số tự động / số sàn */
.lxan-choose { background: var(--lxan-bg); }
.lxan-table--choose td { grid-template-columns: 110px 1fr; }
.lxan-table--choose td:last-child { color: inherit; font-weight: 400; }
.lxan-choose__tip { margin-top: 14px !important; background: #fff; border-left: 4px solid var(--lxan-yellow); border-radius: 8px; padding: 12px 16px; }

/* Ảnh thật: cuộn ngang */
.lxan-photos__track { list-style: none; margin: 0; padding: 0 0 10px; display: grid; grid-auto-flow: column; grid-auto-columns: 85%; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; }
.lxan-photos__track li { scroll-snap-align: start; }
.lxan-photos__track figure { margin: 0; }
.lxan-photos__track img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--lxan-radius); }
.lxan-photos__track figcaption { margin-top: 8px; font-size: 15px; color: var(--lxan-muted); }

/* Điều kiện & hồ sơ */
.lxan-docs { background: var(--lxan-bg); }
.lxan-docs__grid { display: grid; gap: 16px; }
.lxan-docs__box { background: #fff; border: 1px solid var(--lxan-line); border-radius: var(--lxan-radius); padding: 20px; }
.lxan .lxan-docs__box h3 { font-size: 20px; }
.lxan-docs__note { margin-top: 16px !important; text-align: center; color: var(--lxan-muted); }


@media (min-width: 600px) {
	.lxan-photos__track { grid-auto-columns: calc((100% - 14px) / 2); }
	.lxan-docs__grid { grid-template-columns: repeat(2, 1fr); }
	.lxan-courses__grid--3 { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 768px) {
	.lxan-table--choose th[scope="row"] { display: table-cell; width: 26%; font-size: 16px; }
	.lxan-table--choose td:nth-child(3) { white-space: normal; }
}
@media (min-width: 992px) {
	.lxan-bhero .lxan-hero__title { font-size: 40px; }
	.lxan-pricing__grid { grid-template-columns: repeat(3, 1fr); }
	.lxan-photos__track { grid-auto-columns: calc((100% - 28px) / 3); }
}

/* --- Trang hạng B, dàn ý 18 mục (bản 2) --- */
.lxan-answer { max-width: 760px; margin: 10px auto 0 !important; font-size: 17px; color: var(--lxan-text); }
.lxan-actions--center { justify-content: center; margin-top: 24px; }
.lxan-updated { margin-top: 14px !important; font-size: 14px; color: var(--lxan-muted); text-align: center; }
.lxan-box { background: #fff; border: 1px solid var(--lxan-line); border-radius: var(--lxan-radius); padding: 20px; }
.lxan .lxan-box h3 { font-size: 19px; margin-bottom: 8px; }
.lxan-note { margin-top: 18px; background: #fff; border-left: 4px solid var(--lxan-yellow); border-radius: 8px; padding: 14px 18px; }
.lxan .lxan-note h3 { font-size: 17px; margin-bottom: 4px; }
.lxan-note--warn { border-left-color: var(--lxan-red); }

/* Ô thông tin nhanh (hero, địa điểm, đơn vị) */
.lxan-facts { margin: 16px 0 20px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.lxan-facts div { background: #fff; border: 1px solid var(--lxan-line); border-radius: 10px; padding: 8px 12px; }
.lxan-facts dt { font-size: 13px; color: var(--lxan-muted); }
.lxan-facts dd { margin: 0; font-weight: 700; color: var(--lxan-navy); font-size: 15px; }
.lxan-facts dd strong { color: var(--lxan-red); font-size: 18px; }
.lxan-facts--list { grid-template-columns: 1fr; gap: 0; margin: 0 0 16px; }
.lxan-facts--list div { border: 0; border-bottom: 1px dashed var(--lxan-line); border-radius: 0; padding: 10px 0; }
.lxan-facts--list dd { font-weight: 400; color: var(--lxan-text); }
.lxan-facts--list dd ul { margin: 4px 0 0; padding-left: 18px; }

/* Mục lục nhanh dưới hero */
.lxan-toc { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 24px; }
.lxan-toc span { font-weight: 700; color: var(--lxan-muted); font-size: 14px; }
.lxan-toc a { padding: 6px 14px; min-height: 36px; display: inline-flex; align-items: center; border-radius: 999px; background: #fff; border: 1px solid var(--lxan-line); color: var(--lxan-navy) !important; font-size: 14px; font-weight: 700; }
.lxan-toc a:hover { border-color: var(--lxan-navy); }

/* Mục 2 — vì sao chọn */
.lxan-bwhy__grid { display: grid; gap: 16px; }
.lxan-bwhy__item { background: #fff; border: 1px solid var(--lxan-line); border-radius: var(--lxan-radius); padding: 20px; display: flex; flex-direction: column; gap: 6px; }
.lxan-bwhy__item .lxan-icon { color: var(--lxan-red); }
.lxan .lxan-bwhy__item h3 { font-size: 18px; }
.lxan-bwhy__item p { color: var(--lxan-muted); }
.lxan-bwhy__proof { margin-top: auto; padding-top: 6px; font-weight: 700; font-size: 15px; color: var(--lxan-navy) !important; display: inline-flex; align-items: center; gap: 4px; }


/* Mục 5 */

/* Mục 7 — quy trình */
.lxan-process__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; counter-reset: none; }
.lxan-process__list li { display: grid; grid-template-columns: 44px 1fr; gap: 14px; background: #fff; border: 1px solid var(--lxan-line); border-radius: var(--lxan-radius); padding: 16px; }
.lxan-process__num { width: 44px; height: 44px; border-radius: 50%; background: var(--lxan-navy); color: #fff; display: grid; place-items: center; font-weight: 700; font-size: 18px; }
.lxan .lxan-process__list h3 { font-size: 18px; margin-bottom: 4px; }
.lxan-process__list p { font-size: 15px; color: var(--lxan-muted); }
.lxan-process__list p strong { color: var(--lxan-navy); }

/* Mục 8 — chương trình */
.lxan-program { background: var(--lxan-bg); }
.lxan-program__grid { display: grid; gap: 16px; }
.lxan-program__item { background: #fff; border: 1px solid var(--lxan-line); border-radius: var(--lxan-radius); overflow: hidden; display: flex; flex-direction: column; }
.lxan-program__item img, .lxan-program__ph { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.lxan-program__ph { display: grid; place-items: center; background-color: #2c4260; background-image: linear-gradient(135deg, #24364d, #354c68); } /* màu nền dự phòng: lazy-load Elementor bỏ background-image */
.lxan-program__item > div:last-child { padding: 16px 18px; }
.lxan .lxan-program__item h3 { font-size: 19px; margin: 2px 0 6px; }
.lxan-program__item p { font-size: 15px; color: var(--lxan-muted); }

/* Mục 9 — bản đồ */


/* Mục 15 — bài viết */
.lxan-posts__grid { display: grid; gap: 16px; }
.lxan-post { background: #fff; border: 1px solid var(--lxan-line); border-radius: var(--lxan-radius); overflow: hidden; }
.lxan-post img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.lxan .lxan-post h3 { font-size: 16px; padding: 12px 14px 0; line-height: 1.4; }
.lxan-post__date { padding: 6px 14px 14px; font-size: 13px; color: var(--lxan-muted); }
.lxan-posts__more { margin-top: 18px !important; text-align: center; }
.lxan-posts__more a { font-weight: 700; color: var(--lxan-navy) !important; text-decoration: underline !important; }

/* Mục 17 */
.lxan-privacy { margin-top: 12px !important; font-size: 13px; color: var(--lxan-muted); }

@media (min-width: 600px) {
}
@media (min-width: 768px) {
	.lxan-process__list { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 992px) {
	.lxan-bwhy__grid, .lxan-process__list { grid-template-columns: repeat(3, 1fr); }
	.lxan-bhero .lxan-hero__title { font-size: 36px; }
}
/* Điện thoại: vùng chạm ≥ 44px; thẻ chương trình & bài viết dạng ngang cho trang ngắn hơn. */
.lxan-bwhy__proof { min-height: 44px; }
.lxan-posts__more a { display: inline-block; padding: 11px 2px; }
@media (max-width: 599px) {
	.lxan-program__item, .lxan-post a { display: grid; grid-template-columns: 110px 1fr; align-items: start; }
	.lxan-program__item img, .lxan-program__ph { aspect-ratio: 1; height: 100%; }
	.lxan-program__item > div:last-child { padding: 12px 14px; }
	.lxan-post img { aspect-ratio: 1; height: 100%; }
	.lxan .lxan-post h3 { font-size: 15px; padding: 10px 12px 0; }
	.lxan-post__date { padding: 4px 12px 10px 122px; margin-top: -4px !important; }
	.lxan-bwhy__item { padding: 16px; }
	.lxan-answer { text-align: left; font-size: 16px; }
}
.lxan-bank { margin: 10px 0 0; display: grid; gap: 6px; }
.lxan-bank div { display: grid; grid-template-columns: 120px 1fr; gap: 8px; font-size: 15px; }
.lxan-bank dt { color: var(--lxan-muted); }
.lxan-bank dd { margin: 0; font-weight: 700; color: var(--lxan-navy); }
.lxan-program__link { display: inline-flex; align-items: center; gap: 4px; min-height: 44px; margin-top: 6px; font-weight: 700; font-size: 15px; color: var(--lxan-zalo) !important; }

/* --- Trang hạng B: chỉnh theo chủ site (học phí 2×2, địa điểm 2×2, dải đánh giá, số tài khoản) --- */
.lxan-pricing__grid--2 + .lxan-pricing__grid--2 { margin-top: 16px; }
.lxan-plan__note a { font-weight: 700; color: var(--lxan-navy) !important; text-decoration: underline !important; display: inline-block; padding: 10px 0; }
.lxan-location__cells { display: grid; gap: 12px; }
.lxan-location__cell { display: flex; gap: 12px; align-items: flex-start; padding: 16px 18px; }
.lxan-location__cell .lxan-icon { color: var(--lxan-red); margin-top: 2px; }
.lxan .lxan-location__cell h3 { font-size: 15px; color: var(--lxan-muted); margin-bottom: 2px; }
.lxan-location__cell p { font-weight: 700; color: var(--lxan-navy); }
.lxan-bankbox { background: var(--lxan-bg); }
.lxan-bankbox .lxan-bank { margin: 0; padding: 18px 20px; gap: 10px; }
.lxan-bankbox .lxan-bank div { grid-template-columns: 130px 1fr; }
.lxan-bankbox .lxan-bank dd { font-size: 17px; }
@media (min-width: 768px) {
	.lxan-pricing__grid--2, .lxan-location__cells { grid-template-columns: repeat(2, 1fr); }
}
/* Lưới dùng chung của trang hạng B (khôi phục sau khi bỏ khối chọn khóa học / hỗ trợ / thông tin đơn vị). */
.lxan-two { display: grid; gap: 16px; }
.lxan-benefits { background: var(--lxan-bg); }
@media (min-width: 600px) {
	.lxan-bwhy__grid, .lxan-two, .lxan-program__grid, .lxan-posts__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 992px) {
	.lxan-bwhy__grid { grid-template-columns: repeat(3, 1fr); }
	.lxan-program__grid, .lxan-posts__grid { grid-template-columns: repeat(4, 1fr); }
}
/* Dải số liệu: ô đánh giá dùng 5 ngôi sao vàng ([lxan_trust stars="1"] — trang hạng B). */
.lxan-trust__stars { display: inline-flex; gap: 1px; flex: none; color: var(--lxan-yellow); }
.lxan-trust__stars .lxan-icon { color: var(--lxan-yellow); }
@media (max-width: 767px) {
	.lxan-trust__item--stars { flex-direction: column; align-items: flex-start; gap: 4px; }
}
/* Chương trình học: canh giữa nội dung thẻ. */
.lxan-program__item > div:last-child { text-align: center; }
.lxan-program__link { justify-content: center; }
@media (max-width: 599px) {
	.lxan-program__item > div:last-child { text-align: left; } /* Điện thoại: thẻ dạng ngang (ảnh trái) nên giữ canh trái. */
}

/* --- Trang hạng B: chỉnh 19/10/2026 --- */
/* Đầu trang: nút Tư vấn Zalo và dòng "Xem nhanh" canh giữa. */
.lxan-bhero .lxan-hero__text .lxan-actions { justify-content: center; }
.lxan-bhero .lxan-toc { justify-content: center; }
/* Dải số liệu: dòng trên và dòng dưới của mỗi ô canh giữa với nhau. */
.lxan-trust--b .lxan-trust__item { justify-content: center; }
.lxan-trust--b .lxan-trust__item > div { text-align: center; }
@media (max-width: 767px) {
	.lxan-trust--b .lxan-trust__item--stars { align-items: center; }
}
/* Học phí: ô tên gói (B số sàn / B số tự động) nền navy như dải số liệu, chữ vàng canh giữa; khung 2 gói đậm và giống nhau. */
.lxan-plan--pkg { border: 3px solid var(--lxan-navy); padding-top: 0; overflow: hidden; }
.lxan-plan--pkg .lxan-plan__name { margin: 0 -20px 4px; padding: 14px 20px; background: var(--lxan-navy); color: var(--lxan-yellow) !important; text-align: center; }

/* =====================================================================
 * TRANG THI BẰNG LÁI XE MÁY A1 — [lxan_a1_*] (inc/course-a1.php)
 * ===================================================================== */
.lxan-a1hero .lxan-hero__media img { max-height: 557px; } /* Ảnh gốc 400×557 — không phóng to quá cỡ thật. */
.lxan-a1price { margin: 0 auto 16px; }
.lxan-table--price th[scope="row"] small { display: block; font-size: 14px; font-weight: 400; color: var(--lxan-muted); margin-top: 2px; }
.lxan-table--price td strong { font-size: 20px; color: var(--lxan-red); }
.lxan-a1photo img { width: 100%; max-width: 360px; height: auto; border-radius: 8px; margin: 4px 0 8px; }
.lxan-a1fig { margin: 20px auto 0; max-width: 820px; }
.lxan-a1fig img { width: 100%; height: auto; border-radius: var(--lxan-radius); border: 1px solid var(--lxan-line); }
.lxan-a1fig figcaption { margin-top: 8px; font-size: 14px; color: var(--lxan-muted); text-align: center; }
.lxan-program .lxan-box p { margin-top: 4px; }
.lxan-a1zalo { display: flex; gap: 16px; align-items: center; }
.lxan-a1zalo img { width: 140px; height: auto; flex: none; border-radius: 8px; }
.lxan-a1zalo .lxan-actions { margin-top: 10px; }
.lxan-a1reg { background: var(--lxan-bg); }
.lxan-a1reg__alt { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 10px; margin-bottom: 18px !important; }
.lxan-a1reg__form { background: #fff; border: 1px solid var(--lxan-line); border-radius: var(--lxan-radius); padding: 20px 16px; box-shadow: 0 8px 24px rgba(36, 54, 77, .08); }
.lxan-a1final { padding-bottom: 24px !important; }
.lxan-a1final .lxan-posts__more { margin-top: 16px !important; }
@media (min-width: 768px) {
	.lxan-a1reg__form { padding: 28px 32px; }
}
@media (max-width: 599px) {
	.lxan-a1zalo { flex-direction: column; text-align: center; }
	.lxan-a1zalo .lxan-actions { justify-content: center; }
}
/* Form đăng ký thi A1 (CF7 535) — trình bày lại khi đặt ngoài widget theme; không đổi trường dữ liệu. */
.lxan-a1reg__form .wpcf7-form > lable { display: block; font-size: 14px; color: var(--lxan-muted); }
.lxan-a1reg__form .wpcf7-form > label { display: block; margin: 18px 0 6px; font-size: 15px; font-weight: 700; color: var(--lxan-navy); line-height: 1.45; }
.lxan-a1reg__form .wpcf7-form > label:empty { display: none; }
.lxan-a1reg__form .wpcf7-form-control-wrap { display: block; }
.lxan-a1reg__form :is(input[type="text"], input[type="email"], input[type="tel"], select, textarea) { width: 100%; min-height: 48px; padding: 10px 14px; border: 1px solid #c3ccd8 !important; border-radius: 8px; background: #fff; font-size: 16px; color: var(--lxan-text); }
.lxan-a1reg__form select { width: auto; min-width: 220px; }
.lxan-a1reg__form :is(input, select, textarea):focus { border-color: var(--lxan-navy) !important; outline: 2px solid rgba(53, 76, 104, .25); }
.lxan-a1reg__form .custom-radio-group .wpcf7-list-item { display: block; margin: 0 0 8px; }
.lxan-a1reg__form .custom-radio-group .wpcf7-list-item label { display: inline-flex; align-items: center; gap: 8px; min-height: 36px; font-weight: 400; color: var(--lxan-text); cursor: pointer; }
.lxan-a1reg__form br { display: none; }
.lxan-a1reg__form button[type="submit"] { margin-top: 20px; min-width: 200px; min-height: 48px; }
/* CTA cuối trang A1: chữ sáng trên nền navy. */
.lxan-a1final .lxan-opening__box { color: #fff; }
.lxan-a1final .lxan-head__eyebrow { color: var(--lxan-yellow); }
.lxan-a1final .lxan-opening__box strong { color: var(--lxan-yellow); }
.lxan .lxan-a1fig { display: block; margin-left: auto; margin-right: auto; }
.lxan-updated a { display: inline-block; padding: 12px 2px; }
/* Quy trình A1: dãy ô mũi tên, nền vàng đậm dần (--c). Điện thoại: mũi tên chỉ xuống; tablet: 3 ô/hàng; máy tính: 6 ô một hàng. */
.lxan-a1flow { list-style: none; margin: 0; padding: 0; display: grid; }
.lxan-a1flow li { position: relative; background: var(--c); color: var(--lxan-navy-dark); padding: 18px 20px 34px; margin-bottom: -8px; clip-path: polygon(0 0, 100% 0, 100% calc(100% - 18px), 50% 100%, 0 calc(100% - 18px)); }
.lxan-a1flow li:last-child { margin-bottom: 0; padding-bottom: 18px; clip-path: none; border-radius: 0 0 var(--lxan-radius) var(--lxan-radius); }
.lxan-a1flow li:first-child { border-radius: var(--lxan-radius) var(--lxan-radius) 0 0; }
.lxan-a1flow__num { display: inline-grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--lxan-navy); color: #fff; font-weight: 700; margin-bottom: 6px; }
.lxan .lxan-a1flow h3 { font-size: 18px; color: var(--lxan-navy-dark); margin-bottom: 4px; }
.lxan-a1flow p { font-size: 15px; color: #3a3f47; }
@media (min-width: 600px) {
	.lxan-a1flow { grid-template-columns: repeat(3, 1fr); row-gap: 12px; }
	.lxan-a1flow li, .lxan-a1flow li:first-child, .lxan-a1flow li:last-child { margin: 0 0 0 -10px; padding: 18px 30px 18px 34px; border-radius: 0; clip-path: polygon(0 0, calc(100% - 22px) 0, 100% 50%, calc(100% - 22px) 100%, 0 100%, 22px 50%); }
	.lxan-a1flow li:nth-child(3n+1) { margin-left: 0; padding-left: 20px; clip-path: polygon(0 0, calc(100% - 22px) 0, 100% 50%, calc(100% - 22px) 100%, 0 100%); }
}
@media (min-width: 1100px) {
	.lxan-a1flow { grid-template-columns: repeat(6, 1fr); }
	.lxan-a1flow li:nth-child(3n+1) { margin-left: -10px; padding-left: 34px; clip-path: polygon(0 0, calc(100% - 22px) 0, 100% 50%, calc(100% - 22px) 100%, 0 100%, 22px 50%); }
	.lxan-a1flow li:first-child { margin-left: 0; padding-left: 20px; clip-path: polygon(0 0, calc(100% - 22px) 0, 100% 50%, calc(100% - 22px) 100%, 0 100%); }
	.lxan .lxan-a1flow h3 { font-size: 17px; }
	.lxan-a1flow p { font-size: 14px; }
}
/* Sơ đồ thi sát hạch canh giữa. */
.lxan-a1fig { text-align: center; }
.lxan-a1fig img { display: inline-block; max-width: 100%; }
.lxan .lxan-a1fig { margin: 20px auto 0 !important; } /* Có CSS khác ép margin figure = 0. */
@media (min-width: 992px) { .lxan-location__cells--3 { grid-template-columns: repeat(3, 1fr); } }
.lxan-a1cmp__link { display: inline-flex; align-items: center; gap: 4px; min-height: 40px; font-weight: 700; color: var(--lxan-red) !important; text-decoration: underline !important; }
/* Bảng lệ phí hạng A: cột 3 gộp "Đã bao gồm" + "Đóng lệ phí" (một ô cho cả 2 gói). */
.lxan-table--price .lxan-a1price__incl { background: var(--lxan-bg); font-size: 15px; vertical-align: top; }
.lxan .lxan-a1price__incl h3 { font-size: 16px; margin: 0 0 4px; }
.lxan .lxan-a1price__incl h3 + .lxan-check, .lxan-a1price__incl .lxan-check { margin: 4px 0 10px; }
.lxan-a1price__incl .lxan-plan__note { margin-bottom: 10px; }
.lxan-table--price td.lxan-a1price__incl strong { font-size: inherit; color: var(--lxan-navy); }
@media (max-width: 767px) {
}
@media (min-width: 768px) {
	.lxan-a1price:has(.lxan-a1price__incl) { max-width: 1000px; }
}
.lxan-a1price__mobile { background: var(--lxan-bg); border: 1px solid var(--lxan-line); border-radius: var(--lxan-radius); padding: 16px 18px; font-size: 15px; }
.lxan .lxan-a1price__mobile h3 { font-size: 16px; margin: 0 0 4px; }
.lxan-a1price__mobile .lxan-check { margin: 4px 0 10px; }
@media (max-width: 767px) { .lxan-table--price .lxan-a1price__incl { display: none; } }
@media (min-width: 768px) { .lxan-a1price__mobile { display: none; } }
/* Trang C1: chỉ một gói học phí — khung canh giữa, không kéo hết chiều ngang. */
.lxan-pricing__grid--1 { max-width: 560px; margin-left: auto; margin-right: auto; }
.lxan-pricing__grid--1 + .lxan-pricing__grid--2 { margin-top: 16px; }
.lxan-pricing__grid.lxan-pricing__grid--1 { grid-template-columns: 1fr; } /* Lưới chung ≥992px đang 3 cột. */

/* ==========================================================================
 * Trang Hỏi đáp (/hoi-dap/) & Liên hệ (/lien-he/) — 19/10/2026
 * ========================================================================== */
.lxan-hdhero { background: linear-gradient(180deg, var(--lxan-bg), #fff); text-align: center; }
.lxan .lxan-hdhero__title { font-size: 28px; }
.lxan-hdhero__intro { margin: 12px auto 0; max-width: 680px; font-size: 17px; }
.lxan-hdsearch { margin: 22px auto 0; max-width: 620px; }
.lxan-hdsearch input[type="search"] { width: 100%; min-height: 54px; padding: 12px 18px 12px 48px; font-size: 17px; border: 2px solid var(--lxan-navy); border-radius: 999px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='none' stroke='%23354c68' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='10' cy='10' r='7'/%3E%3Cpath d='M15.5 15.5 20 20'/%3E%3C/svg%3E") no-repeat 18px 50%; box-shadow: 0 6px 18px rgba(36, 54, 77, .1); }
.lxan-hdsearch input[type="search"]:focus { outline: 3px solid var(--lxan-yellow); outline-offset: 2px; }
.lxan-hdchips { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 16px; }
.lxan-hdchips button { min-height: 40px; padding: 6px 14px; border-radius: 999px; border: 1px solid var(--lxan-line); background: #fff; color: var(--lxan-navy); font-size: 14px; font-weight: 700; cursor: pointer; }
.lxan-hdchips button:hover { border-color: var(--lxan-navy); }
.lxan-hdchips button.is-active { background: var(--lxan-navy); border-color: var(--lxan-navy); color: #fff; }
.lxan-hdchips button:focus-visible { outline: 3px solid var(--lxan-yellow); outline-offset: 2px; }
.lxan-hdcount { min-height: 1.5em; margin: 10px 0 0; color: var(--lxan-muted); font-size: 14px; }
.lxan-hdsum { margin-top: 18px; text-align: left; }
.lxan .lxan-hdsum h2 { font-size: 20px; margin-bottom: 12px; text-align: center; }
.lxan-hdsum .lxan-table th[scope="row"] { font-size: 17px; width: auto; }
@media (min-width: 768px) { .lxan-hdsum .lxan-table th, .lxan-hdsum .lxan-table td { border: 0; border-bottom: 1px solid var(--lxan-line); vertical-align: middle; } .lxan-hdsum .lxan-table tbody th { background: #fff; } }
.lxan-hdsum .lxan-table th[scope="row"] a { color: var(--lxan-navy) !important; text-decoration: underline; text-underline-offset: 3px; }
.lxan-hdsum .lxan-table td:last-child { color: var(--lxan-text); font-weight: 400; }
.lxan-hdsum .lxan-table td strong { color: var(--lxan-red); }
.lxan-hdsum .lxan-small { text-align: center; }
.lxan-hdlist { padding-top: 8px !important; }
.lxan-hdgroup { margin-bottom: 28px; scroll-margin-top: 90px; }
.lxan .lxan-hdgroup__title { font-size: 21px; margin-bottom: 12px; padding-left: 12px; border-left: 4px solid var(--lxan-yellow); }
.lxan-hdlink { margin-top: -6px; }
.lxan-hdlink a { font-weight: 700; color: var(--lxan-red) !important; display: inline-flex; align-items: center; gap: 4px; }
.lxan-hdempty { text-align: center; padding: 20px; background: var(--lxan-bg); border-radius: var(--lxan-radius); margin-bottom: 20px; }
.lxan-hdempty p { margin: 0 0 12px; }

.lxan-lhhero .lxan-hero__media img { aspect-ratio: 4 / 3; }
.lxan-lhcards { list-style: none; margin: 24px 0 0; padding: 0; display: grid; gap: 12px; }
.lxan-lhcard { display: grid; grid-template-columns: 44px 1fr; gap: 6px 12px; align-items: start; background: #fff; border: 1px solid var(--lxan-line); border-radius: var(--lxan-radius); padding: 16px; box-shadow: 0 6px 18px rgba(36, 54, 77, .06); }
.lxan-lhcard__icon { width: 44px; height: 44px; border-radius: 50%; background: var(--lxan-navy); color: var(--lxan-yellow); display: inline-flex; align-items: center; justify-content: center; }
.lxan .lxan-lhcard__label { font-size: 15px; color: var(--lxan-muted); font-weight: 700; margin: 0; }
.lxan-lhcard__value { margin: 2px 0 0; font-size: 18px; font-weight: 700; color: var(--lxan-navy); line-height: 1.35; }
.lxan-lhcard__value a { color: var(--lxan-navy) !important; white-space: nowrap; }
.lxan-lhcard__note { margin: 2px 0 0; font-size: 14px; color: var(--lxan-muted); }
.lxan-lhcard .lxan-btn { grid-column: 1 / -1; margin-top: 8px; justify-content: center; }
.lxan-lhphotos { background: var(--lxan-bg); }
.lxan-lhphotos__grid { display: grid; gap: 14px; }
.lxan-lhphotos__item { margin: 0; background: #fff; border-radius: var(--lxan-radius); overflow: hidden; box-shadow: 0 6px 18px rgba(36, 54, 77, .08); }
.lxan-lhphotos__item img { width: 100%; height: auto; display: block; aspect-ratio: 4 / 3; object-fit: cover; }
.lxan-lhphotos__item--wide img { aspect-ratio: 1600 / 747; } /* Ảnh cổng: giữ nguyên khung ảnh gốc, không cắt. */
.lxan-lhphotos__item figcaption { padding: 10px 14px; font-size: 14px; color: var(--lxan-muted); }
@media (min-width: 768px) {
	.lxan .lxan-hdhero__title { font-size: 36px; }
	.lxan-lhcards { grid-template-columns: repeat(2, 1fr); }
	.lxan-lhphotos__grid { grid-template-columns: repeat(3, 1fr); }
	.lxan-lhphotos__item--wide { grid-column: 1 / -1; }
}
@media (min-width: 992px) {
	.lxan-lhcards { grid-template-columns: repeat(4, 1fr); }
	.lxan-lhcard { grid-template-rows: 1fr auto; }
}
/* Liên hệ — mobile: thẻ liên hệ lên ngay sau tiêu đề, ảnh tòa nhà xuống dưới. */
@media (max-width: 991px) {
	.lxan-lhhero { display: flex; flex-direction: column; }
	.lxan-lhhero .lxan-hero__grid { display: contents; }
	.lxan-lhhero .lxan-hero__text { order: 1; padding: 0 16px; }
	.lxan-lhhero > .lxan-wrap:not(.lxan-hero__grid) { order: 2; }
	.lxan-lhhero .lxan-hero__media { order: 3; padding: 20px 16px 0; }
	.lxan-lhcards { margin-top: 16px; }
}
/* Hỏi đáp — mobile: nút lọc nhóm trên một hàng, vuốt ngang. */
@media (max-width: 767px) {
	.lxan-hdchips { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; margin-left: -16px; margin-right: -16px; padding: 0 16px 4px; scrollbar-width: none; }
	.lxan-hdchips button { flex: none; }
}
/* Thẻ khóa học: 2 nút cùng kích thước ở cả 4 hạng — chữ một dòng, đệm ngang nhỏ (chủ site 20/10/2026). */
.lxan-card__actions .lxan-btn { padding-left: 8px; padding-right: 8px; white-space: nowrap; justify-content: center; text-align: center; min-height: 48px; }

/* Trang chủ — góp ý chủ site 20/10/2026 */
/* 1. Ô đánh giá 4,8 ở đầu trang chủ: canh giữa (không áp dụng đầu trang khóa học / liên hệ). */
.lxan-hero:not(.lxan-bhero):not(.lxan-lhhero) .lxan-rating { display: flex; width: fit-content; margin-left: auto; margin-right: auto; justify-content: center; }
/* 3. Thẻ khóa học: tên, mô tả, giá, thời gian canh giữa. */
.lxan-courses :is(.lxan-card__title, .lxan-card__sub, .lxan-card__price, .lxan-card__meta) { text-align: center; }
/* 4. Bảng so sánh: tên hạng canh giữa ô. */
.lxan-compare .lxan-table th[scope="row"] { text-align: center; }
/* 5. Ý kiến học viên: thêm dấu đóng ngoặc kép. */
.lxan-quote blockquote::after { content: "”"; color: var(--lxan-red); font-size: 32px; line-height: 0; vertical-align: -12px; margin-left: 4px; }

/* Trang B, C1 (body.lxan-page-b) và A1, A (body.lxan-page-a1) — góp ý chủ site 20/10/2026:
   các ô nội dung: CHỈ tiêu đề canh giữa, các dòng canh trái (dấu tích ở mép trái như mặc định). */
/* Học phí: giá canh giữa (B, C1); ô Gói 1, Gói 2 và giá canh giữa (A1, A). */
.lxan-page-b .lxan-plan__price { text-align: center; }
.lxan-page-a1 .lxan-table--price :is(th, td) { text-align: center; }
.lxan-page-a1 .lxan-table--price td.lxan-a1price__incl { text-align: left; } /* ô "Đã bao gồm & đóng lệ phí" (hạng A): dòng canh trái */
/* So sánh: tiêu đề cột "Tiêu chí" canh giữa, các dòng trong cột canh trái. */
.lxan-page-b .lxan-table--choose thead th:first-child,
.lxan-page-a1 .lxan-table--choose:not(.lxan-table--price) thead th:first-child { text-align: center; }
.lxan-page-b .lxan-table--choose tbody th[scope="row"],
.lxan-page-a1 .lxan-table--choose:not(.lxan-table--price) tbody th[scope="row"] { text-align: left; }
/* Đã bao gồm, Thanh toán linh hoạt / Đóng lệ phí (cả bản điện thoại), Lý thuyết, Thực hành sa hình, Theo chương trình đào tạo,
   Hỗ trợ (riêng) của trường, Hồ sơ cần có, Nộp hồ sơ ở đâu?, Điều kiện, Khi đăng ký online, Mang khi đi khám sức khỏe, Chuẩn ảnh thẻ. */
:is(.lxan-page-b, .lxan-page-a1) :is(.lxan-a1price__incl, .lxan-a1price__mobile, .lxan-plan--include, .lxan-program .lxan-box, .lxan-docs .lxan-box, .lxan-benefits .lxan-box:not(.lxan-a1zalo)) { text-align: left; }
:is(.lxan-page-b, .lxan-page-a1) :is(.lxan-a1price__incl, .lxan-a1price__mobile, .lxan-plan--include, .lxan-program .lxan-box, .lxan-docs .lxan-box, .lxan-benefits .lxan-box:not(.lxan-a1zalo)) h3 { text-align: center; }
/* Ảnh mẫu chuẩn ảnh thẻ: đặt giữa ô. */
.lxan-page-a1 .lxan-a1photo img { margin-left: auto; margin-right: auto; }
