/*
 * Sản phẩm loại STUDY TOUR — Figma `layout › study-tour` (node 814-5390, khung 1600, nội dung 1200 @199).
 * Chỉ nạp ở bài loại study-tour (product-render.php). Số đo: avada-newsite/36-dupcheck-study-tour.md
 * (bản Avada tạm, khớp ±1) — lớp lb-st-* giữ nguyên, bỏ các rule đè wrapper Avada.
 *
 * Bọc trong `.lb-scope.lb-product--study-tour { }` (cùng phần tử vỏ — KHÔNG có dấu cách; CSS Nesting như product.css): mọi rule
 * ≥ (0,3,0) → thắng home.css `.lb-scope .lb-section` và `&.lb-home img/:is(p,ul,ol)` (0,2,1),
 * và không chạm ba loại sản phẩm kia. Chỉ dùng token --lb-font-sans/serif; màu ghi thẳng theo Figma.
 */

/* Khối Đăng ký dính footer (Avada main_padding bottom 60 trên nền trắng — cùng cách product.css). */
body:has(.lb-product--study-tour) #main { padding-bottom: 0 !important; }

.lb-scope.lb-product--study-tour {

/* ============================================================
 * Chung: kicker, H2, câu dẫn, nút, danh sách ✓
 * ============================================================ */
.lb-st-ico { display: block; flex: none; }
.lb-st-eyebrow { margin: 0; font-family: var(--lb-font-sans); font-size: 11px; font-weight: 500; line-height: 14px; letter-spacing: .04em; text-transform: uppercase; color: #FF3251; text-align: center; }
.lb-st-eyebrow--left { text-align: left; }
/* Header khối (Frame 658/661/663): kicker · 8 · H2 39.06 (hộp 45) · 8 · P 16/24 #676673, rộng 578–592 canh giữa */
.lb-st-h2 { margin: 8px 0 0; font-family: var(--lb-font-serif); font-size: 39.06px; font-weight: 700; line-height: 45px; letter-spacing: 0; text-transform: none; color: #000; text-align: center; }
.lb-st-sub { margin: 8px auto 0; max-width: 592px; font-family: var(--lb-font-sans); font-size: 16px; line-height: 24px; color: #676673; text-align: center; }
.lb-st-sub--578 { max-width: 578px; }

/* Nút (Buttons component): 44 bo 8 pad 12/24 gap 8, GSF 700 16 */
.lb-st-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; box-sizing: border-box;
  height: 44px; padding: 12px 24px; border: 0; border-radius: 8px; background: #FF3251; cursor: pointer;
  color: #FFF; font-family: var(--lb-font-sans); font-size: 16px; font-weight: 700; line-height: 20px;
  text-decoration: none; transition: background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}
.lb-st-btn:hover { transform: translateY(-1px); color: #FFF; }
.lb-st-btn--red:hover { background: #D20F12; }
.lb-st-btn--ghost { background: transparent; border: 2px solid rgba(255, 255, 255, .3); padding: 10px 22px; gap: 10px; }
.lb-st-btn--ghost:hover { border-color: #FFF; background: rgba(255, 255, 255, .1); }
.lb-st-btn--dark { background: #1B1B38; }
.lb-st-btn--dark:hover { background: #0F0F2E; }
.lb-st-btn--outline { background: transparent; border: 2px solid #1B1B38; color: #1B1B38; padding: 10px 22px; }
.lb-st-btn--outline:hover { background: #1B1B38; color: #FFF; }
.lb-st-btn--lg { height: 55px; }
.lb-st-btn .lb-st-ico { width: 16px; height: 16px; }

/* Danh sách ✓ (Frame 653/650): gap 8, dòng gap 10, icon 16 #C7622E */
.lb-st-checks { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.lb-st-checks li { display: flex; align-items: center; gap: 10px; margin: 0; padding: 0; font-family: var(--lb-font-sans); font-size: 13.33px; line-height: 17px; color: #676673; }
.lb-st-checks .lb-st-ico { width: 16px; height: 16px; color: #C7622E; stroke-width: 2.4; }   /* Figma dấu ✓ nét đậm hơn bộ icon chung (1.7) */
.lb-st-checks--16 { gap: 16px; }
.lb-st-checks--16 li { font-size: 16px; line-height: 24px; }

/* ============================================================
 * 01 · Hero — Frame 361 1600×767 @134 (thanh số 111 ở đáy)
 * ============================================================ */
.lb-st-hero { position: relative; min-height: 767px; padding: 0; overflow: hidden; background: #000839 center / cover no-repeat; color: #FFF; }
/* Lớp gradient #001185 → #000839 đè ảnh (opacity Figma view-only không đọc được → chỉnh cho khớp ảnh chụp) */
.lb-st-hero::before { content: ""; position: absolute; inset: 0; z-index: 0; background: linear-gradient(180deg, rgba(0, 17, 133, .9) 0%, rgba(0, 8, 57, .94) 100%); }
.lb-st-hero__in { position: relative; z-index: 1; padding-top: 123px; min-height: 767px; box-sizing: border-box; }   /* Frame 644 @123/199 */
/* Chip Frame 641 264×36: nền #CE6200 20 %, viền #C7622E 50 %, bo 100, pad 5/16, gap 8, chữ 13/24 ls 4 % #F1780F */
.lb-st-hero__chip { display: inline-flex; align-items: center; gap: 8px; box-sizing: border-box; height: 36px; margin: 0; padding: 5px 16px; border: 1px solid rgba(199, 98, 46, .5); border-radius: 100px; background: rgba(206, 98, 0, .2); font-family: var(--lb-font-sans); font-size: 13px; font-weight: 400; line-height: 24px; letter-spacing: .04em; text-transform: uppercase; color: #F1780F; }
.lb-st-hero__dot { width: 8px; height: 8px; border-radius: 50%; background: #F1780F; flex: none; }
/* Tiêu đề Frame 642 601×162: dòng 1 300 italic 99.45 trắng; dòng 2 700 99.45 #F1780F @95/113 (cap-height trim → hộp 67) */
.lb-st-hero__title { max-width: 623px; margin: 27px 0 0; font-family: var(--lb-font-serif); font-size: 99.45px; font-weight: 300; line-height: 67px; letter-spacing: 0; text-transform: none; color: #FFF; }
.lb-st-hero__t1 { display: block; font-style: italic; font-weight: 300; }
.lb-st-hero__t2 { display: block; margin: 28px 0 0 113px; font-style: normal; font-weight: 700; text-transform: uppercase; color: #F1780F; }
.lb-st-hero__desc { max-width: 623px; margin: 27px 0 0; font-family: var(--lb-font-sans); font-size: 16px; line-height: 24px; color: rgba(255, 255, 255, .9); }
.lb-st-hero__btns { display: flex; flex-wrap: wrap; gap: 16px; max-width: 623px; margin: 24px 0 0; }
/* Ảnh nổi image 96 516×331 @168/854 (export 2x đã gồm góc xoay −3.28° → hộp 530×356, đặt theo tâm) */
.lb-st-hero__gach { position: absolute; top: 155px; left: 647px; width: 530px; height: auto; pointer-events: none; }
/* Thanh số Frame 508 1600×111 @656: nền #000, viền trên trắng 20 %, 5 ô 264 gap 35, vạch 53 */
.lb-st-stats { position: absolute; left: 0; right: 0; top: 656px; box-sizing: border-box; height: 111px; border-top: 1px solid rgba(255, 255, 255, .2); background: #000; z-index: 1; }
.lb-st-stats__in { display: flex; align-items: center; justify-content: center; gap: 35px; height: 110px; }
/* gap 16, Figma 8: sheet To-fix 23/10/2026 dòng 7 "số liệu sát dòng mô tả" → giãn theo yêu cầu khách (lệch có chủ ý, ghi ở 54-dupcheck). Cao 26 + 16 + nhãn 14 (hai dòng 28) vẫn trong dải 110. */
.lb-st-stat { display: flex; flex-direction: column; align-items: center; gap: 16px; width: 264px; text-align: center; }
.lb-st-stat__num { display: block; font-family: var(--lb-font-serif); font-size: 39.06px; font-weight: 600; line-height: 26px; color: #FFF; }
.lb-st-stat__num b { font-weight: 600; color: #F1780F; }
.lb-st-stat__hau--chu { margin-left: 8px; }   /* Figma: "~2.000 tỷ" có khoảng trắng, "1000+"/"659M$" dính liền */
.lb-st-stat__label { display: block; font-family: var(--lb-font-sans); font-size: 11px; font-weight: 500; line-height: 14px; letter-spacing: .04em; text-transform: uppercase; color: rgba(255, 255, 255, .6); }
.lb-st-stats__sep { display: block; width: 1px; height: 53px; background: rgba(255, 255, 255, .2); flex: none; }

/* ============================================================
 * 02 · Giới thiệu — ảnh 550×727 @1003/199 · cột phải 600 @800 (khe 51)
 * ============================================================ */
.lb-st-intro { padding: 102px 0; background: #FFF; }
.lb-st-intro__in { display: flex; align-items: flex-start; gap: 51px; }
.lb-st-intro__fig { position: relative; flex: 0 1 550px; width: 550px; max-width: 100%; height: 727px; margin: 0; border-radius: 16px; overflow: hidden; background: #1B1B38; }
.lb-st-intro__fig img { display: block; width: 100%; height: 100%; object-fit: cover; }
.lb-st-intro__fig::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0) 45%, rgba(0, 0, 0, .8) 100%); }
/* Chữ đè: "Di sản ngàn năm" 600 italic 39.06 @1622/230 (hộp 54) + phụ 16/24 @1676 → cách đáy 30, trái 31 */
.lb-st-intro__fig figcaption { position: absolute; left: 31px; right: 24px; bottom: 30px; z-index: 1; color: #FFF; }
.lb-st-intro__fig figcaption strong { display: block; font-family: var(--lb-font-serif); font-size: 39.06px; font-weight: 600; font-style: italic; line-height: 54px; }
.lb-st-intro__fig figcaption span { display: block; font-family: var(--lb-font-sans); font-size: 16px; line-height: 24px; }
.lb-st-intro__right { flex: 1 1 600px; width: 600px; max-width: 600px; min-width: 0; }
.lb-st-intro__title { text-align: left; }
.lb-st-intro__desc { max-width: 578px; margin-top: 15px; font-family: var(--lb-font-sans); font-size: 16px; line-height: 24px; color: #676673; }
.lb-st-intro__desc p { margin: 0 0 12px; }
.lb-st-intro__desc p:last-child { margin-bottom: 0; }
/* Chip Frame 645 @1265 gap 16: pad 8/12 bo 100 nền #F8F8F8 viền 10 %, chữ 13.33 #1B1B38 */
.lb-st-chips { display: flex; flex-wrap: wrap; gap: 16px; margin: 15px 0 0; }
.lb-st-chips span { display: inline-flex; align-items: center; box-sizing: border-box; height: 35px; padding: 8px 12px; border: 1px solid rgba(27, 27, 56, .1); border-radius: 100px; background: #F8F8F8; font-family: var(--lb-font-sans); font-size: 13.33px; line-height: 17px; color: #1B1B38; }
/* 4 thẻ 288.5×189 @1326 (khe 23.5 / 26): bo 8 viền 10 % pad 16 gap 16; icon 48 bo 8 pad 8 */
.lb-st-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 23px; margin-top: 26px; }
.lb-st-card { display: flex; flex-direction: column; gap: 16px; box-sizing: border-box; min-height: 189px; margin: 0; padding: 16px; border: 1px solid rgba(27, 27, 56, .1); border-radius: 8px; background: #FFF; }
.lb-st-card__ico { display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 8px; box-sizing: border-box; padding: 8px; }
.lb-st-card__ico .lb-st-ico { width: 32px; height: 32px; }
.lb-st-card--cam .lb-st-card__ico { background: #F4E6DC; color: #F1780F; }
.lb-st-card--xanh .lb-st-card__ico { background: rgba(33, 62, 255, .1); color: #213EFF; }
.lb-st-card--tim .lb-st-card__ico { background: rgba(142, 50, 255, .1); color: #8E32FF; }
.lb-st-card--luc .lb-st-card__ico { background: rgba(44, 209, 127, .1); color: #2CD17F; }
.lb-st-card--do .lb-st-card__ico { background: rgba(255, 50, 81, .1); color: #FF3251; }
.lb-st-card__title { margin: 0; font-family: var(--lb-font-serif); font-size: 20px; font-weight: 600; line-height: 27px; color: #000; }
.lb-st-card__desc { margin: 0; font-family: var(--lb-font-sans); font-size: 16px; line-height: 24px; color: #676673; }

/* ============================================================
 * 03 · Vì sao duy nhất — Frame 619 1600×721 @1832, gradient #000C5D → #000526
 * ============================================================ */
.lb-st-why { padding: 76px 0 95px; background: linear-gradient(180deg, #000C5D 0%, #000526 100%); }
.lb-st-why__eyebrow { font-size: 13px; line-height: 16px; letter-spacing: .05em; }
.lb-st-why__title { margin-top: 16px; font-weight: 600; line-height: 54px; color: #FFF; }
.lb-st-why__desc { margin-top: 16px; max-width: 502px; color: rgba(255, 255, 255, .9); }
/* 3 thẻ 384×317 @309 (header hết @250 → 59), khe 25; bo 16 viền trắng 50 % nền trắng 10 %; ảnh 384×206; H3 @172/24; P @215 */
/* minmax(0, 384): dưới 1600 .lb-container còn 1152 (đệm 24) → 3 thẻ co đều thay vì tràn khung; ở 1600 = 384 đúng Figma */
.lb-st-why__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 384px)); gap: 25px; justify-content: center; margin-top: 59px; }
.lb-st-why__card { position: relative; box-sizing: border-box; height: 317px; margin: 0; border: 1px solid rgba(255, 255, 255, .5); border-radius: 16px; background: rgba(255, 255, 255, .1); overflow: hidden; }
.lb-st-why__card img { display: block; width: 100%; height: 206px; object-fit: cover; }
/* Figma 25/500; giữ 24 (bản cũ thiếu file 500 nên phải bù độ rộng). Từ 23/10/2026 có đủ Source Serif 4 500 (fonts.css bản biến thiên); tiêu đề dài hơn thẻ do JS thu */
/* overflow + ellipsis: lưới an toàn khi JS (product-study-tour.js mục e) đã thu tới sàn 17px mà vẫn không vừa — "…" thay vì cắt ngang chữ */
.lb-st-why__card h3 { position: absolute; top: 172px; left: 24px; right: 24px; margin: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-family: var(--lb-font-serif); font-size: clamp(19px, calc(24px - (1600px - 100vw) * .035), 24px);   /* 24 từ 1600 trở lên; hẹp hơn co dần để 1 dòng vẫn vừa thẻ 367 (1512) */ font-weight: 500; line-height: 34px; color: #FFF; }
.lb-st-why__card p { position: absolute; top: 215px; left: 24px; right: 24px; max-width: 324px; margin: 0; font-family: var(--lb-font-sans); font-size: 16px; line-height: 24px; color: rgba(255, 255, 255, .9); }

/* ============================================================
 * 04 · Diễn giả — Figma bản 28/09/2026 (đo ở 100 %): nền #F8F8F8, pad 89; mỗi người MỘT thẻ 980×424
 * bo 16 viền 10 % nền trắng, xếp dọc khe 48; ảnh vuông 424 (thẻ lẻ bên trái, thẻ chẵn bên phải), nhãn
 * viên thuốc đè ảnh góc dưới 18/18 (nền #1B1B38 55 %, sao 16 + chữ 14 trắng, cao 37); cột chữ pad 57/56,
 * vai trò cam 11/600 ls 4 % → tên serif 26/700 (khe 8) → 4 ý ✓ 15/24 mỗi ý cao 49 gạch dưới 1px 10 %.
 * (Bản 18/09 là 2 thẻ 558×212 ảnh 120 — Figma đã đổi, comment #59 "Ảnh chuyên gia làm to, đẹp hơn".)
 * ============================================================ */
.lb-st-speakers { padding: 89px 0; background: #F8F8F8; }
.lb-st-speakers__grid { display: flex; flex-direction: column; align-items: center; gap: 48px; margin-top: 38px; }
.lb-st-speaker { display: flex; box-sizing: border-box; width: 980px; max-width: 100%; min-height: 424px;   /* 424 tính cả viền 1 → ảnh 422 */ margin: 0; padding: 0; overflow: hidden; border: 1px solid rgba(27, 27, 56, .1); border-radius: 16px; background: #FFF; }
.lb-st-speaker--dao { flex-direction: row-reverse; }
.lb-st-speaker__media { position: relative; flex: none; width: 422px; min-height: 422px; background: #E9E9EE; }
.lb-st-speaker__media img { display: block; width: 100%; height: 100%; min-height: 422px; object-fit: cover; object-position: 50% 20%; }
.lb-st-speaker__tag { position: absolute; left: 18px; bottom: 18px; display: inline-flex; align-items: center; gap: 8px; box-sizing: border-box; height: 37px; padding: 0 16px 0 14px; border-radius: 100px; background: rgba(27, 27, 56, .55); backdrop-filter: blur(6px); font-family: var(--lb-font-sans); font-size: 14px; font-weight: 500; line-height: 20px; color: #FFF; white-space: nowrap; }
.lb-st-speaker__tag .lb-st-ico { width: 16px; height: 16px; }
.lb-st-speaker__body { display: flex; flex-direction: column; justify-content: center; flex: 1 1 auto; min-width: 0; box-sizing: border-box; padding: 56px 52px 56px 57px; }
.lb-st-speaker--dao .lb-st-speaker__body { padding: 56px 46px 56px 63px; }
.lb-st-speaker__role { margin: 0; font-family: var(--lb-font-sans); font-size: 11px; font-weight: 600; line-height: 14px; letter-spacing: .04em; text-transform: uppercase; color: #C7622E; }
.lb-st-speaker__name { margin: 8px 0 0; font-family: var(--lb-font-serif); font-size: 26px; font-weight: 700; line-height: 34px; color: #000; }
.lb-st-speaker__name a { color: inherit; text-decoration: none; }
.lb-st-speaker__name b { font-weight: 700; }
.lb-st-speaker__checks { margin-top: 12px; gap: 0; }
.lb-st-speaker__checks li { box-sizing: border-box; min-height: 49px; padding: 12px 0; border-bottom: 1px solid rgba(27, 27, 56, .1); font-size: 15px; line-height: 24px; }
.lb-st-speaker__checks .lb-st-ico { color: #C7622E; }

/* ============================================================
 * 05 · Lịch trình — header @3185 (pad 81), timeline @3357, ghi chú @3821, đáy 3934 (pad 89)
 * ============================================================ */
.lb-st-schedule { padding: 81px 0 89px; background: #FFF; scroll-margin-top: 24px; }
/* Lưới: giờ 75 (@535) · 10 · chấm 13 (@620) · 13 · thẻ 419 (@646) = 530, canh giữa 1200 */
.lb-st-tl { position: relative; width: 542px; max-width: 100%; margin: 49px auto 0; }   /* cột giờ 97 để "10:35 – 11:30" không gãy dòng (28/09) */
.lb-st-tl__list { position: relative; display: grid; grid-template-columns: 97px 26px 419px; row-gap: 16px; max-height: 419px; overflow-y: auto; margin: 0; padding: 0; list-style: none; scrollbar-width: none; }
.lb-st-tl__list::-webkit-scrollbar { display: none; }
.lb-st-tl__item { display: contents; }
.lb-st-tl__time { display: block; white-space: nowrap; padding: 0 10px 0 0; box-sizing: border-box; font-family: var(--lb-font-sans); font-size: 13px; font-weight: 500; line-height: 24px; letter-spacing: .04em; text-transform: uppercase; text-align: right; color: #1B1B38; }
/* Chấm Frame 496 13×13 @4: vành #C7622E, ruột trắng, lõi 7. Ô chấm kéo dài hết hàng (align-self stretch)
 * để vẽ luôn đoạn trục nối xuống chấm sau (Line 21: 1px #C7622E 50 %). Trước 28/09 trục là ::before của
 * .lb-st-tl__list cao 100 % — mà list là khung CUỘN nên 100 % = chiều cao khung nhìn, cuộn xuống là trục cụt. */
.lb-st-tl__dot { position: relative; display: block; align-self: stretch; width: 13px; min-height: 17px; margin: 0; cursor: pointer; }
.lb-st-tl__dot::before { content: ""; position: absolute; top: 4px; left: 0; width: 13px; height: 13px; box-sizing: border-box; border: 1px solid #C7622E; border-radius: 50%; background: radial-gradient(circle at center, #C7622E 0 3.4px, #FFF 3.6px); z-index: 1; }
.lb-st-tl__dot::after { content: ""; position: absolute; top: 17px; bottom: -16px; left: 6px; width: 1px; background: rgba(199, 98, 46, .5); }   /* -16 = row-gap, nối liền tới chấm sau */
.lb-st-tl__item:last-child .lb-st-tl__dot::after { display: none; }
/* Bấm nốt nào thì trục "nối" tới nốt đó (28/09): mốc đã qua (.is-done) đoạn trục đậm 2px #C7622E, vẽ từ trên
 * xuống bằng background-size; mốc đang mở chấm to hơn. Mốc sau vẫn mờ. */
.lb-st-tl__dot::after { background: linear-gradient(#C7622E, #C7622E) no-repeat 0 0 / 100% 0, rgba(199, 98, 46, .5); transition: background-size .35s ease; }
.lb-st-tl__item.is-done .lb-st-tl__dot::after { left: 5.5px; width: 2px; background-size: 100% 100%; }
.lb-st-tl__item.is-done .lb-st-tl__dot::before, .lb-st-tl__item.is-open .lb-st-tl__dot::before { background: radial-gradient(circle at center, #C7622E 0 4.2px, #FFF 4.4px); }
.lb-st-tl__item.is-open .lb-st-tl__dot::before { box-shadow: 0 0 0 4px rgba(199, 98, 46, .18); }
.lb-st-tl__item.is-done .lb-st-tl__time { color: #C7622E; }
.lb-st-tl__item--mo .lb-st-tl__time, .lb-st-tl__item--mo .lb-st-tl__card { cursor: pointer; }
/* Thẻ Frame 586 419×71: bo 8, viền 10 % (mốc đang xem #C7622E), pad 8/12, gap 3, bóng nhẹ */
.lb-st-tl__card { display: flex; flex-direction: column; gap: 3px; box-sizing: border-box; min-height: 71px; padding: 8px 12px; border: 1px solid rgba(27, 27, 56, .1); border-radius: 8px; background: #FFF; box-shadow: 0 2px 8px rgba(27, 27, 56, .06); transition: border-color .2s ease; }
.lb-st-tl__item.is-active .lb-st-tl__card, .lb-st-tl__item.is-open .lb-st-tl__card, .lb-st-tl__item:hover .lb-st-tl__card { border-color: #C7622E; }
.lb-st-tl__name { display: flex; align-items: center; gap: 6px; font-family: var(--lb-font-serif); font-size: 16px; font-weight: 400; line-height: 25.9px; color: #C7622E; }
.lb-st-tl__name .lb-st-ico { width: 13px; height: 13px; }
.lb-st-tl__desc { font-family: var(--lb-font-sans); font-size: 13px; line-height: 24px; color: #676673; }
/* Thẻ mở (Figma 28/09/2026, comment T9.04): nút tên cả dòng; thẻ đang mở ẩn dòng tóm tắt, in
 * "HOẠT ĐỘNG" 13/600 #1B1B38 → ý 13/24 #676673 gạch đầu dòng → "TRI THỨC VÀ TRẢI NGHIỆM NHẬN VỀ" → đoạn.
 * Thẻ Nhà hát Lớn mở = 419×244, pad 12. */
.lb-st-tl__toggle { -webkit-appearance: none; appearance: none; width: 100%; margin: 0; padding: 0; border: 0; background: none; text-align: left; cursor: pointer; }
.lb-st-tl__toggle:focus-visible { outline: 2px solid #C7622E; outline-offset: 2px; border-radius: 4px; }
.lb-st-tl__item.is-open .lb-st-tl__desc { display: none; }
.lb-st-tl__more { display: flex; flex-direction: column; gap: 2px; padding: 0 0 2px; }   /* thẻ Nhà hát Lớn mở = 419×243 (Figma 244) */
.lb-st-tl__more[hidden] { display: none; }   /* display:flex đè [hidden] của UA → thẻ gập từng lộ nội dung (28/09) */
.lb-st-tl__label { margin: 2px 0 0; font-family: var(--lb-font-sans); font-size: 13px; font-weight: 600; line-height: 20px; letter-spacing: .02em; text-transform: uppercase; color: #1B1B38; }
.lb-st-tl__hd { margin: 0; padding: 0; list-style: none; }
.lb-st-tl__hd li { position: relative; padding-left: 10px; font-family: var(--lb-font-sans); font-size: 13px; line-height: 24px; color: #676673; }
.lb-st-tl__hd li::before { content: "-"; position: absolute; left: 0; top: 0; }
.lb-st-tl__tt { margin: 0; font-family: var(--lb-font-sans); font-size: 13px; line-height: 24px; color: #676673; }
.lb-st-tl__tt--dau { font-weight: 600; color: #1B1B38; }
.lb-st-tl__fade { position: absolute; left: 0; right: 0; bottom: 0; height: 60px; background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #FFF 100%); pointer-events: none; }
/* Ghi chú Frame 660 @3821 (danh sách hết @3776 → 45), gap 3, 13/24 light 50 % */
.lb-st-tl__note, .lb-st-tl__trong { display: flex; align-items: center; justify-content: center; gap: 3px; margin: 45px 0 0; font-family: var(--lb-font-sans); font-size: 13px; font-weight: 300; line-height: 24px; color: rgba(27, 27, 56, .5); }
.lb-st-tl__note .lb-st-ico { width: 16px; height: 16px; }

/* ============================================================
 * 06 · Gói vé — Frame 662 1600×1169 @3934 #F8F8F8; 2 thẻ 566×843 @244, khe 70
 * ============================================================ */
.lb-st-pricing { padding: 72px 0 82px; background: #F8F8F8; }
.lb-st-pricing__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 566px)); gap: 70px; justify-content: center; margin-top: 49px; }
.lb-st-pricing__grid--3 { grid-template-columns: repeat(3, minmax(0, 384px)); gap: 24px; }
.lb-st-plan { position: relative; box-sizing: border-box; min-height: 843px; margin: 0; border: 1px solid rgba(27, 27, 56, .1); border-radius: 16px; background: #FFF; overflow: hidden; }
.lb-st-plan__media { position: relative; height: 378px; background: #E9E9EE; }
.lb-st-plan__media img { display: block; width: 100%; height: 378px; object-fit: cover; }
/* Tag Frame 665 @30/22: bo 100 pad 8/16, 19.2 uppercase trắng; cá nhân #213EFF 70 %, nhóm #C7622E 70 % */
.lb-st-plan__tag { position: absolute; top: 30px; left: 22px; display: inline-flex; padding: 8px 16px; border-radius: 100px; font-family: var(--lb-font-sans); font-size: 19.2px; font-weight: 500; line-height: 24px; text-transform: uppercase; color: #FFF; }
.lb-st-plan__body { padding: 25px 36px 32px; }
.lb-st-plan__title { margin: 0; font-family: var(--lb-font-serif); font-size: 31.25px; font-weight: 500; line-height: 43px; color: #000; }
.lb-st-plan__desc { margin: 8px 0 0; max-width: 493px; font-family: var(--lb-font-sans); font-size: 16px; line-height: 24px; color: #676673; }
/* Giá @538 (mô tả hết @502 → 36): 31.25 700 #C7622E + đơn vị 16/24 + giá gạch canh phải */
.lb-st-plan__price { display: flex; align-items: baseline; gap: 8px; margin: 36px 0 0 2px; }
.lb-st-plan__price strong { font-family: var(--lb-font-serif); font-size: 31.25px; font-weight: 700; line-height: 43px; color: #C7622E; }
.lb-st-plan__price span, .lb-st-plan__price s { font-family: var(--lb-font-sans); font-size: 16px; line-height: 24px; color: #676673; }
.lb-st-plan__price s { margin-left: auto; margin-right: 2px; }
.lb-st-plan__line { height: 0; margin: 17px 2px 0; border: 0; border-top: 1px solid rgba(27, 27, 56, .1); }
.lb-st-plan .lb-st-checks { margin: 22px 0 0 2px; }
/* Nút 493×55 @754 (list hết @725 → 29) */
.lb-st-plan .lb-st-btn { width: 100%; margin-top: 29px; }

/* ============================================================
 * 07 · Gallery — Frame 666 1600×1081 @5103; lưới 4×286 khe 19, hàng 215 khe 16
 * ============================================================ */
.lb-st-gallery { padding: 89px 0 80px; background: #FFF; }
.lb-st-gallery__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 286px)); grid-auto-rows: 215px; gap: 16px 19px; justify-content: center; margin-top: 35px; }   /* header hug 99 → lưới @223 = 89 + 99 + 35 */
.lb-st-gallery__item { margin: 0; border-radius: 8px; overflow: hidden; background: #F0F0F3; }
.lb-st-gallery__item img { display: block; width: 100%; height: 100%; object-fit: cover; }
.lb-st-gallery__item--big { grid-column: span 2; grid-row: span 2; }
.lb-st-gallery__item--wide { grid-column: span 2; }
.lb-st-gallery__item--more { display: none; }
.lb-st-gallery__grid.is-open .lb-st-gallery__item--more { display: block; }
.lb-st-gallery__more { display: flex; justify-content: center; margin: 45px 0 0; }
.lb-st-gallery__more .lb-st-btn { width: 195px; }
.lb-st-gallery__more .lb-st-btn .lb-st-ico { transition: transform .2s ease; }
.lb-st-gallery__more .lb-st-btn[aria-expanded="true"] .lb-st-ico { transform: rotate(180deg); }

/* ============================================================
 * 08 · Cảm nhận — Frame 667 1600×1075 @6184 #F8F8F8; thẻ 1080×693 @237/260
 * ============================================================ */
.lb-st-quotes { padding: 94px 0 69px; background: #F8F8F8; }
.lb-st-quotes__track { position: relative; width: 1080px; max-width: 100%; margin: 44px auto 0; }   /* header hug 99 → thẻ @237 = 94 + 99 + 44 */
.lb-st-quote { position: relative; box-sizing: border-box; height: 693px; margin: 0; border: 1px solid rgba(27, 27, 56, .1); border-radius: 16px; background: #FFF; overflow: hidden; }
.lb-st-quote[hidden] { display: none; }
.lb-st-quote__text { position: absolute; top: 41px; left: 41px; width: 508px; }
.lb-st-quote__mark { display: block; height: 57px; font-family: var(--lb-font-serif); font-size: 120px; font-weight: 700; line-height: 100px; color: rgba(199, 98, 46, .1); }
/* Lời 508×437 @116: Source Serif 400 italic 20/39, đoạn cách 1 dòng — Avada nhuộm blockquote (nền #3E3E3E, nghiêng) → khai lại hết */
.lb-st-quote__body { margin: 18px 0 0; padding: 0; border: 0; background: none; font-family: var(--lb-font-serif); font-size: 20px; font-style: italic; font-weight: 400; line-height: 39px; color: #000; }
.lb-st-quote__body p { margin: 0; font: inherit; color: inherit; }
.lb-st-quote__body p + p { margin-top: 39px; }
.lb-st-quote__line { height: 0; width: 505px; margin: 13px 0 0; border: 0; border-top: 1px solid rgba(27, 27, 56, .1); }
.lb-st-quote__who { display: flex; align-items: center; gap: 12px; margin-top: 25px; }
.lb-st-quote__who img { width: 54px; height: 54px; border-radius: 50%; border: 2px solid #FFF; box-shadow: 0 12px 20px rgba(0, 0, 0, .1); object-fit: cover; }
.lb-st-quote__who strong { display: block; font-family: var(--lb-font-sans); font-size: 16px; font-weight: 700; line-height: 20px; color: #000; }
.lb-st-quote__who small { display: block; margin-top: 3px; font-family: var(--lb-font-sans); font-size: 13px; line-height: 16px; color: #676673; }
/* Ảnh: 247×659 @17/593 + 3 × 209×212 @17/241/464 left 855 */
.lb-st-quote__imgs { position: absolute; top: 17px; left: 593px; display: grid; grid-template-columns: 247px 209px; grid-template-rows: repeat(3, 212px); gap: 12px 15px; }
.lb-st-quote__imgs img { width: 100%; height: 100%; border-radius: 8px; object-fit: cover; }
.lb-st-quote__img--tall { grid-row: span 3; }
.lb-st-quotes__nav { display: flex; justify-content: center; gap: 40px; margin: 36px 0 0; }
.lb-st-quotes__btn { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; padding: 0; border: 1px solid rgba(27, 27, 56, .1); border-radius: 50%; background: #FFF; color: #1B1B38; cursor: pointer; transition: background .2s ease; }
.lb-st-quotes__btn .lb-st-ico { width: 24px; height: 24px; }
.lb-st-quotes__btn:hover { background: #F0F0F3; }
.lb-st-quotes__btn:disabled { opacity: .4; cursor: default; }

/* ============================================================
 * 09 · Đăng ký — contact 1600×722 @7259 #0F0F2E: cột trái 552 @201 · card 564 @800 (khe 47)
 * ============================================================ */
.lb-st-cta { padding: 72px 0; background: #0F0F2E; color: #FFF; scroll-margin-top: 24px; }
.lb-st-cta__in { display: flex; align-items: flex-start; gap: 47px; }
.lb-st-cta__text { flex: 0 1 552px; width: 552px; max-width: 100%; min-width: 0; margin-top: 71px; }
.lb-st-cta__title { max-width: 510px; margin: 16px 0 0; font-family: var(--lb-font-serif); font-size: 48.83px; font-weight: 700; line-height: 56px; letter-spacing: 0; text-transform: none; color: #FFF; }
.lb-st-cta__desc { max-width: 497px; margin: 14px 0 0; font-family: var(--lb-font-sans); font-size: 16px; line-height: 24px; color: rgba(255, 255, 255, .6); }
.lb-st-cta__rows { display: flex; flex-direction: column; gap: 24px; margin-top: 36px; }
.lb-st-cta__row { display: flex; align-items: flex-start; gap: 12px; }
.lb-st-cta__ico { display: flex; align-items: center; justify-content: center; flex: none; width: 24px; height: 24px; border: 1px solid rgba(255, 255, 255, .2); border-radius: 50%; background: rgba(255, 255, 255, .1); color: #FFF; }
.lb-st-cta__ico .lb-st-ico { width: 12px; height: 12px; }
.lb-st-cta__txt small { display: block; font-family: var(--lb-font-sans); font-size: 11px; font-weight: 500; line-height: 14px; letter-spacing: .04em; text-transform: uppercase; color: rgba(255, 255, 255, .6); }
.lb-st-cta__txt strong { display: block; margin-top: 4px; font-family: var(--lb-font-sans); font-size: 16px; font-weight: 500; line-height: 20px; color: #FFF; }
.lb-st-cta__txt a { color: #FFF; text-decoration: none; }
.lb-st-cta__txt a:hover { color: #FF3251; }
/* Card Frame 80: bo 16, viền trắng 50 %, nền trắng 10 %, pad 29, gap 24 */
.lb-st-cta__card { flex: 0 1 564px; width: 564px; max-width: 100%; min-width: 0; box-sizing: border-box; padding: 29px; border: 1px solid rgba(255, 255, 255, .5); border-radius: 16px; background: rgba(255, 255, 255, .1); }
.lb-st-cta__form-title { margin: 0; font-family: var(--lb-font-serif); font-size: 25px; font-weight: 500; line-height: 34px; color: #FFF; }
.lb-st-cta__form-sub { margin: 8px 0 0; font-family: var(--lb-font-sans); font-size: 13px; line-height: 16px; color: rgba(255, 255, 255, .6); }
.lb-st-form__el { margin-top: 24px; }
/* Avada Form bên trong (shortcode giữ markup .fusion-form-*): gỡ nền/đệm; ô 38 bo 8 nền trắng 20 % viền trắng 30 %; nhãn 16/500 trắng */
.lb-st-form__el .fusion-form, .lb-st-form__el .fusion-fullwidth, .lb-st-form__el .fusion-form-form-wrapper { background: transparent !important; }
.lb-st-form__el .fusion-form .fusion-fullwidth { padding: 0 !important; margin: 0 !important; }
.lb-st-form__el .fusion-form .fusion-row { max-width: 100% !important; padding: 0 !important; }
.lb-st-form__el .fusion-form .fusion-column-wrapper { display: flex; flex-direction: row !important; flex-wrap: wrap !important; column-gap: 16px; padding: 0 !important; }
.lb-st-form__el .fusion-form-field { flex: 0 0 100%; width: 100%; margin: 0 0 16px !important; padding: 0 !important; }
.lb-st-form__el .fusion-form-field.lb-st-half { flex: 0 0 calc(50% - 8px); width: calc(50% - 8px); }
.lb-st-form__el .fusion-form-label-wrapper { line-height: 0; margin: 0 0 8px !important; padding: 0 !important; }
.lb-st-form__el .fusion-form-label, .lb-st-form__el label { display: block; margin: 0 !important; padding: 0 !important; font-family: var(--lb-font-sans) !important; font-size: 16px !important; font-weight: 500 !important; line-height: 20px !important; color: #FFF !important; }
.lb-st-form__el label abbr.fusion-form-element-required { margin-left: 4px; color: #FF3251 !important; text-decoration: none !important; border: 0 !important; }
.lb-st-form__el input[type="text"], .lb-st-form__el input[type="email"], .lb-st-form__el input[type="tel"], .lb-st-form__el select, .lb-st-form__el textarea, .lb-st-form__el .fusion-form-input {
  display: block; width: 100% !important; height: 38px !important; min-height: 0 !important; margin: 0 !important; padding: 8px !important; box-sizing: border-box;
  border: 1px solid rgba(255, 255, 255, .3) !important; border-radius: 8px !important; background: rgba(255, 255, 255, .2) !important;
  font-family: var(--lb-font-sans) !important; font-size: 16px !important; font-weight: 500 !important; line-height: 20px !important; color: #FFF !important; box-shadow: none !important;
}
.lb-st-form__el textarea.fusion-form-input { height: 100px !important; resize: vertical; }
.lb-st-form__el ::placeholder { color: rgba(255, 255, 255, .6) !important; opacity: 1; }
.lb-st-form__el select.fusion-form-input { color: rgba(255, 255, 255, .6) !important; padding-right: 32px !important; -webkit-appearance: none; appearance: none; }
.lb-st-form__el select.fusion-form-input option { color: #1B1B38; }
.lb-st-form__el select.fusion-form-input:has(option:checked:not([value=""])) { color: #FFF !important; }
.lb-st-form__el .fusion-form-field .fusion-form-input:focus { border-color: rgba(255, 255, 255, .7) !important; background: rgba(255, 255, 255, .26) !important; }
.lb-st-form__el .fusion-select-wrapper { position: relative; }
.lb-st-form__el .fusion-select-wrapper .select-arrow { display: none !important; }
.lb-st-form__el .fusion-select-wrapper::after { content: ""; position: absolute; right: 8px; top: 11px; width: 16px; height: 16px; pointer-events: none; background: #FFF; -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>") center / contain no-repeat; mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>") center / contain no-repeat; }
.lb-st-form__el .fusion-form-field.fusion-form-recaptcha-field { flex: 0 0 100%; width: 100%; margin: 0 0 16px !important; }
.lb-st-form__el .fusion-form-recaptcha-field > div { max-width: 100%; }
.lb-st-form__el .fusion-form-submit-field { margin: 0 !important; }
/* Nút 506×44 #FF3251 bo 8, GSF 700 16 trắng, icon send 16 bên TRÁI */
.lb-st-form__el .fusion-form-submit-field button, .lb-st-form__el .fusion-button {
  display: inline-flex !important; flex-direction: row; align-items: center; justify-content: center; gap: 8px; width: 100% !important; height: 44px; padding: 0 24px !important;
  border: 1px solid #FF3251 !important; border-radius: 8px !important; background: #FF3251 !important;
  font-family: var(--lb-font-sans) !important; font-size: 16px !important; font-weight: 700 !important; line-height: 1.25 !important; letter-spacing: 0 !important; text-transform: none !important; color: #FFF !important; box-shadow: none !important;
  transition: background .2s ease, border-color .2s ease;
}
.lb-st-form__el .fusion-form-submit-field button:hover, .lb-st-form__el .fusion-button:hover { background: #D20F12 !important; border-color: #D20F12 !important; }
.lb-st-form__el .fusion-form-submit-field button i, .lb-st-form__el .fusion-button i { display: none !important; }
.lb-st-form__el .fusion-form-submit-field button::before {
  content: ""; order: -1; width: 16px; height: 16px; background: currentColor;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M22 2 11 13'/><path d='M22 2 15 22l-4-9-9-4z'/></svg>") center / contain no-repeat;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M22 2 11 13'/><path d='M22 2 15 22l-4-9-9-4z'/></svg>") center / contain no-repeat;
}
.lb-st-form__el .fusion-form-response { flex: 0 0 100%; font-family: var(--lb-font-sans); font-size: 14px; line-height: 20px; color: #FFF; }
.lb-st-form__el .fusion-form-response.error, .lb-st-form__el .fusion-form-error { color: #FFB4BF; }

/* ============================================================
 * Mobile / tablet
 * ============================================================ */
@media (max-width: 1240px) {
  .lb-st-pricing__grid { gap: 32px; }
  .lb-st-gallery__grid { grid-auto-rows: minmax(140px, 13.5vw); }
  .lb-st-hero__gach { left: auto; right: 24px; }
}
@media (max-width: 1100px) {
  .lb-st-intro__in, .lb-st-cta__in { flex-wrap: wrap; }
  .lb-st-intro__fig, .lb-st-intro__right, .lb-st-cta__text, .lb-st-cta__card { flex: 0 0 100%; width: 100%; }
  .lb-st-intro__fig { height: auto; aspect-ratio: 550 / 727; max-height: 560px; }
  .lb-st-cta__text { margin-top: 0; }
  .lb-st-quote { height: auto; min-height: 0; padding: 32px 24px; }
  .lb-st-quote__text { position: static; width: auto; }
  .lb-st-quote__imgs { position: static; margin-top: 24px; grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
  .lb-st-quote__imgs img { height: 160px; }
  .lb-st-quote__img--tall { grid-row: span 1; height: 336px; }
  .lb-st-quote__line { width: 100%; }
  /* 801–1100: ba thẻ chỉ còn ~217 rộng, tiêu đề 1 dòng không vừa (đo 23/10/2026 ở 900: 2/3 tràn) → một cột thẻ 384 như bản điện thoại */
  .lb-st-why__grid { grid-template-columns: minmax(0, 384px); row-gap: 24px; }
  /* Thẻ lại rộng 384 như 1600 nên trả cỡ 24 Figma; công thức co theo 100vw ở trên chỉ đúng cho lưới 3 cột. Tiêu đề tràn do JS thu. */
  .lb-st-why__card h3 { font-size: 24px; }
}
/*
 * Còn 1–2 thẻ thì lưới chỉ có ngần ấy cột để justify-content:center căn giữa được. Lưới 3 cột cố định đã lấp
 * đủ 1200 nên 2 thẻ dồn trái, bỏ trống 408px (sheet To-fix 23/10/2026 dòng 8). Bọc min-width vì :has() mang
 * điểm (0,5,0) — đặt trần sẽ thắng rule một cột ở ≤1100 / ≤800 (bẫy (a) CLAUDE.md §6.2).
 */
@media (min-width: 1101px) {
  .lb-st-why__grid:has(> :nth-child(2):last-child) { grid-template-columns: repeat(2, minmax(0, 384px)); }
  .lb-st-why__grid:has(> :only-child) { grid-template-columns: minmax(0, 384px); }
}
@media (max-width: 800px) {
  .lb-st-hero { min-height: 0; }
  .lb-st-hero__in { min-height: 0; padding-top: 48px; padding-bottom: 32px; }
  .lb-st-hero__title { font-size: 56px; line-height: 40px; }
  .lb-st-hero__t2 { margin: 16px 0 0 24px; }
  .lb-st-hero__gach { position: static; display: block; width: 100%; max-width: 360px; margin: 24px auto 0; }
  .lb-st-stats { position: relative; top: auto; left: auto; right: auto; z-index: 1; height: auto; }   /* static thì nằm dưới lớp phủ ::before → chữ mờ */
  .lb-st-h2 { font-size: 32px; line-height: 40px; }
  .lb-st-why__title { line-height: 44px; }
  .lb-st-intro__title br { display: none; }
  .lb-st-cta__title { font-size: 36px; line-height: 44px; }
  .lb-st-stats__in { flex-wrap: wrap; height: auto; gap: 24px 16px; padding: 24px 16px; }
  .lb-st-stat { width: calc(50% - 8px); }
  .lb-st-stats__sep { display: none; }
  .lb-st-intro, .lb-st-why, .lb-st-speakers, .lb-st-schedule, .lb-st-pricing, .lb-st-gallery, .lb-st-quotes, .lb-st-cta { padding: 56px 0; }
  .lb-st-cards { grid-template-columns: 1fr; gap: 16px; }
  .lb-st-card { min-height: 0; }
  .lb-st-why__grid { grid-template-columns: 1fr; }
  .lb-st-why__card { width: 100%; max-width: 384px; margin: 0 auto; }
  /* Tiêu đề vẫn MỘT dòng ở điện thoại: h3 và p đặt tuyệt đối (172 / 215) nên tiêu đề xuống 2 dòng là đè lên mô tả. JS thu cỡ chữ thay vì cho xuống dòng (đo 23/10/2026: 360px → sàn 17,5px vẫn vừa). */
  .lb-st-speakers__grid { gap: 16px; }
  .lb-st-speaker, .lb-st-speaker--dao { flex-direction: column; min-height: 0; }
  .lb-st-speaker__media { width: 100%; min-height: 0; aspect-ratio: 1 / 1; max-height: 360px; }
  .lb-st-speaker__media img { min-height: 0; height: 100%; }
  .lb-st-speaker__body, .lb-st-speaker--dao .lb-st-speaker__body { padding: 24px 20px 28px; }
  .lb-st-tl__note { flex-wrap: wrap; text-align: center; padding: 0 16px; }
  .lb-st-tl__list { grid-template-columns: 72px 22px minmax(0, 1fr); }
  .lb-st-tl__list::before { left: 78px; }
  .lb-st-tl__time { font-size: 11px; padding-right: 6px; }
  .lb-st-pricing__grid, .lb-st-pricing__grid--3 { grid-template-columns: 1fr; }
  .lb-st-plan { min-height: 0; }
  .lb-st-plan__media, .lb-st-plan__media img { height: 220px; }
  .lb-st-plan__tag { top: 16px; left: 16px; font-size: 16px; }
  .lb-st-plan__title { font-size: 26px; line-height: 34px; }
  .lb-st-plan__price strong { font-size: 26px; line-height: 34px; }
  .lb-st-plan__price { flex-wrap: wrap; margin-top: 20px; }
  .lb-st-plan__body { padding: 20px 20px 24px; }
  .lb-st-gallery__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 120px; gap: 8px; }
  .lb-st-cta__card { padding: 20px; }
  .lb-st-form__el .fusion-form-field.lb-st-half { flex: 0 0 100%; width: 100%; }
}

}
