/* =============================================================================
   cd-ui.css — HỆ THỐNG GIAO DIỆN CHUẨN (NGUỒN DUY NHẤT)
   Triết lý: 1 bộ design-token + component. KHÔNG lớp chồng. Sửa giao diện = sửa ở đây.
   Thay thế 13 lớp override mỹ phẩm cũ (cd2col, cdMobileBalance, tpBookFix, cdJustifyIdx, …).
   ============================================================================= */

:root{
  /* MÀU — đổi 1 chỗ, đổi toàn hệ */
  --tc:#7a1c18; --tc2:#5a1513;          /* đỏ đô chủ đạo */
  --gold:#c9a24b; --gold-bright:#f0d98a; --gold-deep:#8a6508;
  --cream:#f5edd9;                       /* nền thẻ sáng ĐẶC */
  --cell-fg:#e6cf9a;
  /* NHỊP — spacing/bo góc/nút thống nhất */
  --radius:14px; --gap:12px; --btn-h:46px; --pad-card:14px;
}

/* ───────── LƯỚI: mọi ô CAO BẰNG NHAU, không co theo lượng chữ ───────── */
.tiers,.grid-nts,.grid-gp,.book-sec{
  display:grid !important; gap:var(--gap) !important;
  grid-template-columns:1fr 1fr !important; align-items:stretch !important;
}
.tier,.tp-card,.cd-cell{
  display:flex !important; flex-direction:column !important;
  box-sizing:border-box !important; min-width:0 !important; overflow:visible !important;
  -webkit-backdrop-filter:none !important; backdrop-filter:none !important;  /* diệt vệt mờ xám sót từ cdPageStar */
  border-radius:var(--radius) !important; padding:var(--pad-card) 13px !important;
}   /* KHÔNG đặt height cứng/overflow:hidden — align-items:stretch lo việc đều cao, không cắt chữ */
#cdContact,#cdContact *{ -webkit-backdrop-filter:none !important; backdrop-filter:none !important; }

/* ───────── THẺ KEM (Tầng + Sách): nền ĐẶC, chữ tối rõ ───────── */
.tier,.tier.free,.tier.best,.tier:not(.free):not(.best),
.tp-card,#tac-pham .tp-card{
  background:var(--cream) !important; border:1px solid var(--gold) !important;
  box-shadow:0 6px 16px rgba(0,0,0,.35) !important;
}
.tier.best{ border-color:var(--gold-deep) !important; box-shadow:0 8px 22px rgba(176,138,46,.4) !important; }
.tier .label,.tier .tag{ color:var(--gold-deep) !important; }
.tier h3,.tier h4,.tier .name,.tp-card .name,#tac-pham .tp-card .name,.tp-card h3{
  color:var(--tc) !important; -webkit-text-fill-color:var(--tc) !important;
}
.tier p,.tier li,.tier .d,.tier small,.tier span:not(.price):not(.badge),
.tp-card p,.tp-card .desc{
  color:#3a241c !important; -webkit-text-fill-color:#3a241c !important;
  text-align:justify !important; text-align-last:left !important; hyphens:none !important;   /* justify + dòng cuối trái (nguyên tắc đã khóa) */
}
#tac-pham .tp-card p,#tac-pham .tp-card .desc{
  color:#3a241c !important; -webkit-text-fill-color:#3a241c !important;
  text-align:center !important;   /* blurb sách ngắn: căn giữa — đặc tả #id thắng nhóm justify trên */
}
.tier .price,.tp-card .price{ color:var(--tc) !important; font-weight:800 !important; }

/* ───────── Ô TÍNH NĂNG (.cd-cell): nền ĐỎ ĐẶC, chữ vàng rõ, tiêu đề căn giữa ─────────
   Đặc hiệu #menh-trinh ... :not(.market):not(.vip) để THẮNG lớp kính mờ cdPageStar (1,0,3,0). */
.cd-cell:not(.vip),
#menh-trinh .cd-cell:not(.market):not(.vip){
  background:linear-gradient(160deg,var(--tc),var(--tc2)) !important;
  -webkit-backdrop-filter:none !important; backdrop-filter:none !important;
  border:1px solid rgba(201,162,75,.45) !important;
  box-shadow:0 6px 16px rgba(0,0,0,.4) !important; align-items:center !important;
}
.cd-cell:not(.vip) .cd-cell-t,.cd-cell:not(.vip) h3,.cd-cell:not(.vip) .t{
  color:var(--gold-bright) !important; -webkit-text-fill-color:var(--gold-bright) !important; text-align:center !important;
}
.cd-cell:not(.vip) .cd-cell-d,.cd-cell:not(.vip) .d,.cd-cell:not(.vip) p{
  color:var(--cell-fg) !important; -webkit-text-fill-color:var(--cell-fg) !important; text-align:center !important;
}

/* ───────── HỆ NÚT: 1 dòng, full-width, cao bằng nhau, dính đáy, đối xứng ───────── */
.btn,a.btn,button.btn,.cta,.tp-link,.tier .btn,.tier a.btn,#tac-pham .tp-link{
  white-space:nowrap !important; box-sizing:border-box !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
  width:100% !important; min-height:var(--btn-h) !important; padding:10px 12px !important;
  text-align:center !important; line-height:1.15 !important; margin-top:auto !important;
  border-radius:10px !important; font-size:14px !important; font-weight:700 !important;
}
.tier .btn,.tier a.btn,#tac-pham .tp-link,.cta{   /* nút đặc: đỏ nền + vàng chữ */
  background:var(--tc) !important; color:var(--gold-bright) !important;
  -webkit-text-fill-color:var(--gold-bright) !important; border:1px solid var(--gold) !important;
}
.cta-row{ flex-direction:column !important; gap:10px !important; }
.cta-row .cta{ flex:1 1 100% !important; width:100% !important; }

/* ───────── HERO 'Bản Đồ Khí Hóa': banner mỏng, tiêu đề vàng kim ───────── */
#menh-trinh .hero{
  padding:14px !important; background:transparent !important; background-image:none !important;
  border:0 !important; box-shadow:none !important; margin:6px auto 2px !important;
}
#menh-trinh .hero h1{ color:var(--gold-bright) !important; text-shadow:0 1px 3px rgba(0,0,0,.8) !important; }
#menh-trinh .hero .sub{ color:#efe2c2 !important; }

/* ───────── XÓA NÚT TRÔI NỔI '+' ───────── */
#cdFabL,#cdFabItems,#cdFabMain,#cdFabExpand{ display:none !important; }

/* ───────── ĐÁY THỞ (safe-area) + NAV KHÔNG ĐÈ MODAL ───────── */
body{ padding-bottom:max(env(safe-area-inset-bottom,0px),96px) !important; }
#cdNav{ z-index:50 !important; }   /* modal/popup z>=100001 sẽ phủ lên nav, hết cảnh nav đè nội dung */

/* ───────── TIÊU ĐỀ MỤC dài trên mobile -> căn giữa ───────── */
.sec-title,.tp-hn{ text-align:center !important; }

/* ───────── NỀN SAO: sáng lên một chút (giảm lớp phủ tối + nâng sáng lớp sao) ───────── */
#cdSky{ filter:brightness(1.17) saturate(1.04) !important; }
/* (đã bỏ body background đè — trang tự định nền gốc) */

/* ───────── CÂN ĐỐI THẺ (theo soi máy ngài) ───────── */
/* lưới ô tiện ích/dịch vụ: 2 cột đều cao, không lệch */
.cd-grid{ display:grid !important; grid-template-columns:1fr 1fr !important; gap:12px !important; align-items:stretch !important; }
/* giá tiền: gọn 1 dòng, không tràn mép */
.tier .gia,.gia{ font-size:17px !important; white-space:normal !important; letter-spacing:-.2px !important; line-height:1.3 !important; word-break:keep-all !important; overflow-wrap:normal !important; }
/* nút mở khóa: 1 dòng gọn (thẻ trượt ngang rộng nên đủ chỗ) */
.unlock{ white-space:nowrap !important; font-size:14px !important; line-height:1.2 !important; padding-left:8px !important; padding-right:8px !important; }
/* tên tầng đều cao -> giá & nút thẳng hàng giữa các thẻ; nhãn tầng đều cao */
.tier h3{ min-height:2.5em !important; display:flex !important; align-items:center !important; }
.tier .tno{ min-height:1.3em !important; display:flex !important; align-items:center !important; }
/* badge "Khuyên Dùng" ra tuyệt đối + mọi thẻ chừa chỗ đều -> nhãn TẦNG thẳng hàng, không lệch */
.tier{ position:relative !important; padding-top:24px !important; }
.tier .ribbon{ position:absolute !important; top:6px !important; left:13px !important; margin:0 !important;
  font-size:11px !important; padding:1px 9px !important; white-space:nowrap !important; line-height:1.4 !important; }

/* ───────── CÁC TẦNG: hàng ngang TRƯỢT trên mobile (thẻ rộng, chữ thoáng, trang gọn lại) ───────── */
@media (max-width:760px){
  .tiers{ display:grid !important; grid-auto-flow:column !important;
    grid-auto-columns:min(100%,460px) !important;  /* 1 THẺ FULL/màn — không nửa chừng */ grid-template-columns:none !important;
    align-items:stretch !important;   /* GRID stretch = mọi thẻ cao bằng nhau (đáng tin) */
    overflow-x:auto !important; overflow-y:visible !important;
    scroll-snap-type:x mandatory !important; gap:14px !important;
    padding:4px 2px 14px !important; margin-bottom:32px !important;
    -webkit-overflow-scrolling:touch !important; scrollbar-width:none !important; }
  .tiers::-webkit-scrollbar{ display:none !important; }
  .tiers > .tier{ scroll-snap-align:center !important; min-width:0 !important; transition:box-shadow .25s,transform .25s !important; }   /* min-height chỉ là sàn dự phòng (KHÔNG !important) — cd-ui.js cân đều thật theo thẻ cao nhất */
  /* Dấu chấm pagination dưới dải thẻ -> báo hiệu vuốt ngang */
  .cd-dots{ display:flex !important; justify-content:center; gap:8px; margin:-20px 0 26px; padding:0; }
  .cd-dot{ width:8px; height:8px; border-radius:50%; border:0; padding:0; cursor:pointer;
    background:rgba(240,217,138,.30); transition:width .25s,background .25s; }
  .cd-dot.on{ width:22px; border-radius:5px; background:var(--gold-bright,#f0d98a); }
}
.cd-dots{ display:none; }   /* desktop: ẩn dots (grid 2 cột, không cần) */
/* giá + nút dồn xuống đáy thẻ -> thẳng hàng đều giữa các thẻ */
.tier .gia{ margin-top:auto !important; }

/* ───────── LINK "Vào khảo cứu chi tiết →": hết xanh mặc định -> vàng ───────── */
.cd-morelink,.cd-morerow a,a.cd-morelink{ color:var(--gold-bright) !important;
  -webkit-text-fill-color:var(--gold-bright) !important; text-decoration:none !important; font-weight:600 !important; }
/* [cdMoreBtn] nút "Vào khảo cứu chi tiết" — viền vàng thanh lịch, nền trong suốt (2026-07-04) */
a.cd-morelink,.cd-morelink{display:inline-block !important;padding:10px 24px !important;border:1px solid rgba(223,185,96,.5) !important;border-radius:20px !important;color:#DFB960 !important;-webkit-text-fill-color:#DFB960 !important;text-decoration:none !important;text-align:center !important;margin-top:16px !important;background:transparent !important;font-weight:700}


/* ───────── NỀN SAO sáng hơn: giảm lớp phủ tối để chòm sao lộ rõ ───────── */
/* Nền sao: radial sáng tâm–tối viền tạo chiều sâu 3D, lộ rõ chòm sao (sáng thêm 1 nhịp) */

/* (đã bỏ: body background — mỗi trang tự định nền riêng, tránh đè đen thui) */

/* Tên sách: đậm, căn giữa, gọn cân — chỉ tên sách thuần */
#tac-pham .tp-name{ font-weight:700 !important; text-align:center !important; text-transform:uppercase !important; }
#tac-pham .tp-desc{ text-align:center !important; }

/* Footer tách rõ khỏi khối trên (không sát/đè khung video) */
footer{ margin-top:34px !important; }

/* ───────── HERO: không cắt cụt đoạn intro (bỏ overflow/height cứng) ───────── */
.hero{ overflow:visible !important; height:auto !important; padding-bottom:8px !important; }
/* lịch "Lịch hôm nay" cách tiêu đề hero một khoảng thở */
.call{ margin-bottom:18px !important; }

/* ───────── THẺ SÁCH: giãn cách + bóng ảnh mềm hơn (nổi khối 3D) ───────── */
#tac-pham .tp-card{ margin-bottom:22px !important; }
#tac-pham .tp-cover-img img{ box-shadow:0 22px 48px rgba(0,0,0,.30),0 6px 16px rgba(0,0,0,.20) !important; }

/* ───────── FOOTER: badge "Developed by" không chạm mép, cân giữa ───────── */
.cdfs-dev{ max-width:92% !important; margin-left:auto !important; margin-right:auto !important; box-sizing:border-box !important; }
/* căn lề footer THẲNG CẠNH với thân trang (22px) */
footer .wrap{ padding-left:22px !important; padding-right:22px !important; }
.cdfs{ padding-left:22px !important; padding-right:22px !important; }

/* ───────── CHỐNG Chrome Android tự phóng to chữ (font-boosting) -> chữ đúng cỡ, hết phình/xếp dọc ───────── */
html{ -webkit-text-size-adjust:100% !important; text-size-adjust:100% !important; }
/* ───────── NÚT SÁCH .tp-link: chữ vàng hiện rõ trên nền đỏ (sửa nút TRỐNG CHỮ) ───────── */
.tp-link{ color:var(--gold-bright) !important; -webkit-text-fill-color:var(--gold-bright) !important; font-weight:600 !important; }
/* ───────── Tiêu đề khối Doanh Nghiệp gọn, không xếp chữ dọc ───────── */
#dn-banner h2{ font-size:21px !important; line-height:1.3 !important; }

/* ───────── HỆ TRI THỨC: cổ thư = lưới 2 cột, thẻ kem (hết link xanh dính chùm) ───────── */
.cothu2{ display:grid !important; grid-template-columns:1fr 1fr !important; gap:10px !important; }
.cothu2 .ct2{
  display:flex !important; flex-direction:column !important; gap:3px !important;
  text-decoration:none !important; background:var(--cream) !important;
  border:1px solid var(--gold) !important; border-radius:12px !important; padding:11px 10px !important;
}
.cothu2 .ct2-hn{ color:var(--gold-deep) !important; font-size:17px !important; font-weight:700 !important; }
.cothu2 .ct2v{ color:var(--tc) !important; -webkit-text-fill-color:var(--tc) !important;
  font-weight:700 !important; display:block !important; line-height:1.25 !important; }
.cothu2 .ct2e{ color:#3a241c !important; -webkit-text-fill-color:#3a241c !important;
  font-size:12px !important; display:block !important; line-height:1.3 !important; }

/* ───────── FOOTER: nút "Bộ Công Thương" — không nhảy dòng đè ───────── */
.bct-badge{ line-height:1.35 !important; white-space:normal !important; text-align:center !important; gap:2px !important; }
.bct-badge b,.bct-badge strong{ display:inline !important; }

/* ───────── TOGGLE 'không rõ giờ sinh' — căn giữa thẳng hàng text ───────── */
.cd-toggle{ flex:0 0 auto !important; vertical-align:middle !important; margin:0 !important; }
.cd-toggle-row,label.cd-toggle-wrap{ display:flex !important; align-items:center !important; gap:8px !important; }

/* ═══════ SỬA THEO YÊU CẦU ngày 17:54 ═══════ */
/* 1) Chữ "Lịch hôm nay" + đồng hồ to rõ hơn */


/* 2) Logo 昭陽 chân trang: ÉP flex căn giữa (rule .han chung đè thành inline-block làm chữ dồn lên trên) */
.fseal-han{ display:flex !important; align-items:center !important; justify-content:center !important; line-height:1 !important; }
/* 3) "Vào khảo cứu chi tiết →" căn giữa */
.cd-morerow{ text-align:center !important; }

/* ═══════ HUY HIỆU TÍN NHIỆM (trust signals) ═══════ */
/* Dải cuối footer */
.cd-trust{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:6px 12px;
  max-width:1100px; margin:18px auto 0; padding:14px 16px 2px;
  border-top:1px solid rgba(201,162,75,.26);
  font-size:12.5px; line-height:1.5; color:rgba(243,232,207,.80); text-align:center; }
.cd-trust-i{ display:inline-flex; align-items:center; gap:5px; white-space:nowrap; }
.cd-trust-sep{ opacity:.4; }
.cd-trust-link{ color:var(--gold-bright,#f0d98a) !important;
  -webkit-text-fill-color:var(--gold-bright,#f0d98a) !important;
  text-decoration:none !important; border-bottom:1px solid rgba(240,217,138,.45); }
/* Dòng an toàn dưới nút Mở Khóa (tự hợp màu thẻ) */
.cd-paytrust{ margin-top:8px; font-size:11px; line-height:1.35; text-align:center;
  color:inherit; opacity:.6; font-weight:600; letter-spacing:.2px; white-space:nowrap; }

/* ═══════ CHẶN TRÀN NGANG site-wide (drawer/menu off-screen không tạo cuộn ngang) ═══════ */
/* An toàn: carousel .tiers có overflow-x riêng nên KHÔNG bị ảnh hưởng */
html,body{ overflow-x:hidden !important; max-width:100% !important; }


/* Thẻ Tầng đang xem: nổi bật nhẹ (carousel 1 ô) */
@media (max-width:760px){
  .tiers > .tier.cd-active{ box-shadow:0 0 0 2px var(--gold-bright,#f0d98a), 0 18px 40px -16px rgba(0,0,0,.5) !important; }
}

/* Chữ "Lịch hôm nay" hiện ĐỦ — không cắt ellipsis (flex co lại theo nội dung) */



/* ═══════ LỊCH: chữ "hôm nay" rõ + KHÔNG đè đồng hồ (đồng hồ giữ chỗ cố định) ═══════ */
.lt-bar{ gap:8px !important; }
.lt-mini-x{ flex:1 1 auto !important; min-width:0 !important; white-space:nowrap !important;
  overflow:hidden !important; text-overflow:clip !important; font-size:15px !important; }
.lt-mini-clock{ flex:0 0 auto !important; font-size:16px !important; margin-left:auto !important;
  padding-left:6px !important; white-space:nowrap !important; }


/* ═══════ Carousel trượt ngang dùng chung (ô cân đều, không dồn cột dọc mobile) ═══════ */
.cd-hscroll{ grid-template-columns:none !important; grid-auto-flow:column !important;
  grid-auto-columns:min(82%,260px) !important; overflow-x:auto !important;
  scroll-snap-type:x mandatory !important; align-items:stretch !important;
  -webkit-overflow-scrolling:touch; padding-bottom:6px; scrollbar-width:thin; }
.cd-hscroll > *{ scroll-snap-align:center !important; min-width:0 !important; height:auto !important; }
@media(min-width:761px){ .cd-hscroll{ grid-auto-columns:1fr !important; overflow-x:visible !important; } }


/* Ô chọn ngày (báo cáo đầu tư & mọi form an sao) — ĐẦY ô, cân đều, hết lệch */
select[data-cdkind],#pGioiTinh,#pNgay,#pThang,#pNam,#pGio{ width:100% !important; min-width:0 !important; box-sizing:border-box !important; }

/* ═══ CỤM NGÀY–GIỜ (chuẩn chung mọi trang) — hết tràn ô · hết che/cắt số năm ═══ */
/* Gốc lỗi: select width:100% + padding thiếu box-sizing → tràn lưới; ô bọc min-width:auto → đẩy tràn mép phải. */
input,select,textarea{ box-sizing:border-box !important; max-width:100% !important; }
.row>*,.row2>*,.grid>*,.ls-row>*{ min-width:0 !important; }
*:has(> select[data-cdkind]),*:has(> div > select[data-cdkind]){ min-width:0; }
select[data-cdkind]{ padding-left:8px !important; padding-right:6px !important; text-overflow:ellipsis; }
@media(max-width:560px){
  select[data-cdkind]{ font-size:13px !important; padding-top:9px !important; padding-bottom:9px !important; }
  /* Cụm 4–5 ô (Ngày/Tháng/Năm/Giờ/Phút) gói gọn 3 cột → năm 1990/2025 hiện ĐỦ, không chen 1 hàng */
  *:has(> select[data-cdkind] ~ select[data-cdkind]){ display:grid !important; grid-template-columns:repeat(auto-fit,minmax(100px,1fr)) !important; gap:8px !important; }
*:has(> select[data-cdkind] ~ select[data-cdkind]) > *{ min-width:0 !important; box-sizing:border-box !important; }
@media(max-width:480px){ .dt-form{ padding-left:16px !important; padding-right:16px !important; } }
}

/* ═══ Hàng 2 ô (Họ tên · Giới tính): hai ô CAO BẰNG NHAU, đáy thẳng hàng ═══ */
.row2{ align-items:end !important; }
.row2 input,.row2 select{ height:46px !important; box-sizing:border-box !important; }

/* Chống tràn ngang do từ dài không ngắt (chung mọi trang) */
html,body{ overflow-wrap:break-word; }

/* === Cân ô chọn ngày-giờ + mũi tên rõ (đồng bộ cdpick ↔ cdss) === */
.cdpick-btn,.cdss-btn{ min-height:46px !important; box-sizing:border-box !important; }
.cdpick-btn::after{ font-size:16px !important; color:#6e2f17 !important; right:10px !important; }
.cdss-btn::after{ font-size:16px !important; }

/* Subtitle trang chính sách rõ trên nền tối */
.sub{ color:#ecd9a0 !important; font-weight:500 !important; }

/* Bỏ khoảng trống đen thừa cuối trang (15vh→safe-area+72px) */
body{ padding-bottom:max(env(safe-area-inset-bottom,0px),72px) !important; }

/* Form Đầu Tư (nền tối): input/select + placeholder rõ, không lẫn nền */
#formStart input,#formStart select,#cdPopForm input{ background:rgba(255,250,240,.12) !important; color:#fbe7b6 !important; -webkit-text-fill-color:#fbe7b6 !important; }
#formStart input::placeholder,#cdPopForm input::placeholder{ color:rgba(245,225,150,.72) !important; -webkit-text-fill-color:rgba(245,225,150,.72) !important; opacity:1 !important; }

/* Nút menu nổi cdLBtn: nền đặc dạng FAB tròn để không lẫn/đè chữ khi cuộn */
#cdLBtn{ background:rgba(42,12,12,.94) !important; background-color:rgba(42,12,12,.94) !important; border:1px solid rgba(203,162,63,.55) !important; box-shadow:0 2px 10px rgba(0,0,0,.45) !important; border-radius:50% !important; width:42px !important; height:42px !important; display:flex !important; align-items:center !important; justify-content:center !important; padding:0 !important; }

.fbrand{color:#c9a24b;font-weight:700;letter-spacing:1px;margin:8px 0 4px;font-size:14px;text-align:center}

/* === CHỐNG ĐEN THUI khi cuộn trên webview app ===
   Giữ NGUYÊN lớp sao #cdSky (fixed, cover viewport — đẹp, không méo).
   Thêm nền đỏ đặc phủ TOÀN chiều cao trang ở html+body: nếu webview không repaint lớp sao fixed ở phần dưới
   thì cũng chỉ lộ nền đỏ ấm, KHÔNG bao giờ đen thui. */
html{background:linear-gradient(160deg,#350f0f,#170505)!important;min-height:100%}
body:not(.cd-paper){position:relative;min-height:100%;background:transparent!important}body.cd-paper{position:relative;min-height:100%}

.fseal{text-align:center!important;font-size:26px;line-height:1;color:#c9a24b;font-weight:700;letter-spacing:2px;margin:6px 0 2px}

/* === RESET LINK RÁC (QA Audit): bỏ gạch chân + màu xanh mặc định của <a> ===
   Link không có màu riêng → kế thừa màu vùng (không còn xanh dương). Link có class/màu riêng (nav vàng, CTA) giữ nguyên. */
a{ text-decoration:none !important; }
a{ color:inherit; }              /* link không set màu riêng → kế thừa màu vùng, hết xanh dương; link có class/màu (nav, CTA) vẫn thắng */
a[class]:hover,a:hover{ opacity:.9; }

/* === TOUCH TARGET (QA Audit): icon nav ≥44px cho dễ bấm trên mobile === */
.cdnav-ic{ min-width:44px !important; min-height:44px !important; display:inline-flex !important; align-items:center !important; justify-content:center !important; }

/* === CHỐNG CẮT CHỮ (QA Audit): bỏ nowrap ở dòng giá & dòng chọn chuyên đề → cho xuống dòng === */
.cdss-cur{ white-space:normal !important; overflow-wrap:break-word !important; word-break:break-word !important; }

/* === TOUCH TARGET nút hành động ≥44px (QA Audit) — trừ icon nav đã set riêng === */
button:not(.cdnav-ic){ min-height:44px; }
.cdss-seg button,.seg button,[class*=segbtn]{ min-height:44px; }

/* === Chữ thân card TẦNG nền sáng (free) đậm hơn cho rõ — sửa lỗi chữ mờ === */
.tier.free .desc{ color:#3a2c1c !important; font-weight:500 !important; }
.tier.free p, .tier.free li{ color:#3a2c1c; }

/* === Bảng Luận Sơ Bộ (.lsb-tb): mobile cho mỗi hàng xuống dòng — nhãn trên, giá trị full width (sửa cột phải hẹp vỡ chữ) === */
@media(max-width:480px){
  .lsb-tb,.lsb-tb tbody,.lsb-tb tr{display:block;width:100%}
  .lsb-tb td{display:block;width:100%!important;box-sizing:border-box;padding:6px 14px;border:none;white-space:normal;word-break:normal;overflow-wrap:break-word}
  .lsb-tb td:first-child{font-weight:800;color:#6d4708;padding-bottom:2px}
  .lsb-tb td:last-child{padding-top:0;padding-bottom:13px;border-bottom:1px solid rgba(201,162,75,.2)}
  .lsb-tb tr:last-child td:last-child{border-bottom:none}
}

/* === Footer nền đỏ đậm che nền sao (sửa lỗi chữ footer lẫn chữ sao 紫微/Thiên Cực) === */
footer{ background:#1a0f0a !important; position:relative; z-index:2; padding:18px 14px 22px !important; border-top:1px solid rgba(201,162,75,.3); }
footer *{ position:relative; }

/* === Dòng chú thích cuối khối luận (.lsb-foot) — nền đậm che sao, hết chồng chữ === */
.lsb-foot{ background:rgba(26,8,8,.9) !important; border:1px solid rgba(201,162,75,.22); border-radius:10px; padding:10px 14px !important; margin:10px 0 0 !important; position:relative; z-index:2; line-height:1.5; text-align:center; }

/* === Bảo vệ chữ tiêu đề/eyebrow/phụ-đề khỏi ánh sao sáng #cdSky rửa trôi (sửa lỗi chữ lẫn ánh sao — checklist #4). Single-source, không setTimeout.
   Lớp scrim tối mềm (::before, radial mờ dần ra trong suốt) đặt SAU chữ nhờ isolation:isolate → dập lõi sao trắng kể cả khoảng hở giữa các chữ, nhìn như vầng sáng nền có chủ ý. Kèm quầng tối quanh nét chữ. === */
.sec-title,.sec-sub,p.sub{ position:relative; isolation:isolate;
  text-shadow:0 0 3px rgba(18,5,5,.95),0 0 8px rgba(18,5,5,.82),0 0 16px rgba(18,5,5,.55) !important; }
/* ĐÃ GỠ scrim ::before (gây cục đen nhòe sau tiêu đề như 'Bản Luận Mệnh'). Giữ text-shadow ở trên để chữ vẫn rõ trên nền sao. */

/* ═══════════════ FIX RÀ SOÁT MOBILE 2026-06-30 (single-source · áp 9 mặt) ═══════════════ */
/* (1) HUY HIỆU "BỘ CÔNG THƯƠNG" dính chữ ("THÔNG BÁOBỘ").
   GỐC: index có rule `footer.ft a{display:block}` (specificity 0,0,1,2) đè
   `.bct-badge{display:inline-flex}` (0,0,1,0) → mất ngữ cảnh flex → 2 span chảy inline.
   SỬA: khôi phục inline-flex + xếp cột bằng !important (thắng rule không-important). */
.bct-badge{ display:inline-flex !important; flex-direction:column !important; align-items:center !important; }
.bct-badge .bct-t,.bct-badge .bct-b{ display:block !important; width:100% !important; text-align:center !important; }

/* (2) VÙNG CHẠM radio/checkbox ≥44px (chuẩn touch QA "Kinh thánh").
   Chỉ áp cho <label> trực tiếp bọc radio/checkbox — KHÔNG đụng label field nhập liệu. */
label:has(> input[type=radio]), label:has(> input[type=checkbox]){
  display:inline-flex !important; align-items:center !important; gap:8px !important; min-height:44px !important;
}

/* ═══════════════ FIX FOOTER ĐỒNG NHẤT + KHÔNG CẮT CHỮ 2026-06-30b (single-source · 9 mặt) ═══════════════ */
/* GỐC: style social tròn-căn-giữa (.cdfs) CHỈ nằm inline trong index.html → các trang phụ (cd-ui.js sinh .cdfs)
   thiếu style → icon glyph TRẦN, dồn TRÁI, không đồng nhất; chữ "Developed by"/trust/mô tả CẮT mép khi gặp
   Google Font rộng. SỬA: đưa style .cdfs vào single-source (mọi trang giống index) + chống tràn mọi bề rộng/font. */
.cdfs{ max-width:100% !important; box-sizing:border-box !important; overflow-x:hidden !important;
  text-align:center !important; border-top:1.5px solid #cba23f !important;
  background:linear-gradient(180deg,rgba(58,11,11,0),rgba(58,11,11,.55)) !important;
  padding:16px 14px 18px !important; margin-top:22px !important; }
.cdfs-row{ display:flex !important; gap:12px !important; justify-content:center !important;
  align-items:center !important; flex-wrap:wrap !important; margin:0 0 11px !important; padding:0 !important; }
.cdfs-ic{ display:inline-flex !important; align-items:center !important; justify-content:center !important;
  width:42px !important; height:42px !important; padding:0 !important; border-radius:50% !important;
  border:1.5px solid #cba23f !important; color:#f3d978 !important; background:rgba(36,8,8,.92) !important;
  text-decoration:none !important; flex:0 0 auto !important; }
.cdfs-ic svg{ width:19px !important; height:19px !important; }
.cdfs-ic:hover{ background:#cba23f !important; color:#3a0b0b !important; }
.cdfs-dev{ max-width:100% !important; box-sizing:border-box !important; margin:0 auto !important;
  overflow-wrap:break-word !important; word-wrap:break-word !important; text-align:center !important;
  color:#cba23f !important; font-size:11.5px !important; line-height:1.5 !important; padding:0 12px !important; }
.cdfs-dev b{ color:#e6c25a !important; font-weight:700 !important; }
/* Dải trust + dòng mô tả cuối: XUỐNG DÒNG thay vì cắt, bọc gọn trong màn (mọi font) */
.cd-trust{ max-width:100% !important; box-sizing:border-box !important; padding-left:14px !important; padding-right:14px !important; }
.cd-trust-i{ white-space:normal !important; }
.lsb-foot{ overflow-wrap:break-word !important; word-wrap:break-word !important; max-width:100% !important; box-sizing:border-box !important; }

/* ═══════════════ FIX NÚT LÁ SỐ 2026-06-30c (icon ❖/✦ căn giữa, không đè viền · 9 mặt) ═══════════════ */
.ls-btn{ display:flex !important; align-items:center !important; justify-content:center !important;
  gap:8px !important; min-height:48px !important; line-height:1.25 !important;
  padding:11px 18px !important; box-sizing:border-box !important; }
.ls-btn .lsb-ic{ flex:0 0 auto !important; display:inline-flex !important; align-items:center !important;
  justify-content:center !important; font-size:.9em !important; line-height:1 !important; transform:translateY(.5px) !important; }
.ls-btn .lsb-tx{ text-align:center !important; }

/* ═══════════════ FIX BRAND CHÂN TRANG 2026-06-30d (LUÔN căn giữa · 9 mặt) ═══════════════ */
/* GỐC: .cdLfxText (hiệu ứng hover) ép .fbrand → display:inline-block → hộp co theo chữ, theo
   text-align:start của footer nên dồn TRÁI. SỬA: ép block full-width + center (giữ hover brightness/translateY).
   NGUYÊN TẮC CHUNG: mọi brand/logo/dòng chữ chân trang phải căn giữa, không để inline-block dồn lệch. */
.fbrand{ display:block !important; width:100% !important; box-sizing:border-box !important;
  text-align:center !important; margin-left:auto !important; margin-right:auto !important; }
footer .fseal, .fseal{ display:block !important; text-align:center !important; }
/* Chốt: các dòng chữ chân trang do cd-ui.js sinh luôn căn giữa */
.fbrand, .fseal, .cd-trust, .cdfs, .cdfs-dev, .lsb-foot{ text-align:center !important; }

/* ═══════════════ FIX Ô LẺ CUỐI GRID 2026-06-30f (căn giữa, không lệch trái · 9 mặt) ═══════════════ */
/* NGUYÊN TẮC CHUNG: grid 2 cột nếu có số ô LẺ → ô cuối đứng một mình phải CĂN GIỮA, không dồn trái.
   :last-child:nth-child(odd) = ô cuối ở vị trí lẻ = đứng một mình hàng cuối. */
.cd-grid:not(.cd-slide) > *:last-child:nth-child(odd){
  grid-column:1 / -1 !important; max-width:calc(50% - 6px) !important;
  margin-left:auto !important; margin-right:auto !important; width:100% !important; box-sizing:border-box !important;
}

/* ═══════════════ NGUYÊN TẮC NÚT/KHUNG CÓ ICON 2026-06-30h (icon KHÔNG đè viền · 9 mặt) ═══════════════ */
/* NGUYÊN TẮC CHUNG (ghi nhớ tuyệt đối): nút/khung BO GÓC chứa icon/logo dẫn đầu thì
   padding-inline PHẢI ≥ border-radius — để nội dung KHÔNG bao giờ lọt vào vùng cong góc (hết đè viền).
   Kèm: nút tự cao theo nội dung (min-height + padding), icon flex-none căn giữa trục dọc, có gap.
   GỐC lỗi: .ls-btn có border-radius:30px nhưng padding-inline 18px (<radius) → icon/chữ vào vùng bo → đè viền. */
.ls-btn{
  border-radius:16px !important;        /* ≤ padding-inline 22px → nội dung luôn ngoài vùng cong */
  padding:13px 22px !important;          /* nới khung rộng hơn, icon/chữ có khoảng đệm tới viền */
  min-height:50px !important; gap:9px !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
  box-sizing:border-box !important;
}
.ls-btn .lsb-ic{ flex:0 0 auto !important; }

/* ═══════════ LÁ SỐ ĐẦY ĐỦ DÙNG CHUNG 2026-06-30i — bảng MỆNH TRÌNH trong #cdLsKq (scoped, 9 mặt) ═══════════ */
#cdLsKq *{box-sizing:border-box}
#cdLsKq .w{max-width:760px;margin:0 auto;padding:12px}
#cdLsKq .card{background:#fbf4e4;color:#2b2118;border-radius:13px;padding:14px;margin-bottom:12px;border:1.5px solid #cba23f}
#cdLsKq .h{font-size:13px;font-weight:800;color:#7a1e1e;border-bottom:1.5px solid #cba23f;padding-bottom:6px;margin-bottom:10px;text-align:center;line-height:1.38}
#cdLsKq /* TỨ TRỤ: lưới hàng-cột, #cdLsKq chính (Hán/Việt) nổi, #cdLsKq phụ nhỏ */
.tt2{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #cba23f;border-radius:9px;overflow:hidden;background:#fff8e9}
#cdLsKq .tt2>div{text-align:center;padding:3px 1px;border-right:1px solid #eaddb6;min-width:0;line-height:1.18}
#cdLsKq .tt2>div:nth-child(4n){border-right:none}
#cdLsKq .tt2 .nc{background:#fff1ee}
#cdLsKq .tt2 .hd{font-size:12.5px;font-weight:800;color:#6e4e18;background:#f6ead0;padding:6px 2px;letter-spacing:.2px}
#cdLsKq .tt2 .tn{font-size:10px;color:#7a1e1e;font-weight:700;min-height:15px;padding-top:3px}
#cdLsKq .tt2 .hz{font-family:serif;font-weight:900;font-size:clamp(20px,7vw,30px)}
#cdLsKq .tt2 .vz{font-size:clamp(11px,3.4vw,14px)}
#cdLsKq .tt2>div:has(.hz){min-height:30px;display:flex;align-items:center;justify-content:center}
#cdLsKq .tt2 .ts{font-size:clamp(7.5px,2.2vw,8.5px);color:#9a8a6a;min-height:30px;padding:2px 0;line-height:1.45}
#cdLsKq .tt2 .ts .ttn{color:#8a6a3e}
#cdLsKq .tt2 .meta{font-size:clamp(8px,2.3vw,9px);color:#b07a2a;font-weight:700;padding:2px 0}
#cdLsKq .tt2 .na{font-size:clamp(7.5px,2.2vw,8.5px);font-style:italic;padding:2px 0 5px}
#cdLsKq .row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
#cdLsKq .kv{font-size:13px;line-height:1.95}
#cdLsKq .kv b.k{color:#7a1e1e}
#cdLsKq .tl{background:#fff1d8;border-radius:8px;padding:9px;font-size:13px;border-left:4px solid #b8860b}
#cdLsKq .tsItem{padding:8px 0 8px 10px;border-bottom:1px solid #ecdcb8;border-left:3px solid #cba23f;margin-bottom:2px}
#cdLsKq .tsItem:last-child{border-bottom:none}
#cdLsKq .tsName{font-size:13.5px;font-weight:800;color:#7a1e1e}
#cdLsKq .tsStat{font-size:12.5px;margin-top:2px}
#cdLsKq .on{color:#1e8e3e;font-weight:800}
#cdLsKq .off{color:#3e2723;font-weight:700}
#cdLsKq .tsNote{font-size:12px;color:#5f5036;margin-top:3px;line-height:1.45}
#cdLsKq .scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
#cdLsKq .grid8{display:grid;grid-template-columns:repeat(8,minmax(40px,1fr));gap:5px}
#cdLsKq .grid8 .cell{min-height:54px;justify-content:center}
#cdLsKq .grid8 .cell i{color:#a87f2e;font-weight:800;font-size:9.5px;margin-top:3px}
#cdLsKq .grid8 .cell .z{font-size:13px}
#cdLsKq .gridNV{display:grid;grid-template-columns:repeat(auto-fill,minmax(50px,1fr));gap:4px}
#cdLsKq .gridNV .cell{padding:4px 1px;min-height:52px;justify-content:center}
#cdLsKq .gridNV .cell .t{font-size:7px}
#cdLsKq .gridNV .cell .z{font-size:10px;line-height:1.2}
#cdLsKq .gridNV .cell i{font-size:clamp(7px,2.2vw,8.5px);color:#a87f2e;font-weight:700;margin-top:2px}
#cdLsKq .cell{background:#fff8e9;border:1px solid #d9c79a;border-radius:6px;padding:4px 1px;text-align:center;display:flex;flex-direction:column;align-items:center}
#cdLsKq .cell .t{font-size:8px;color:#9a7a3a;font-weight:700}
#cdLsKq .shen{display:block;color:#8a5e12;font-weight:700;font-size:10px;margin-top:2px;font-style:normal;line-height:1.1}
#cdLsKq .shen-top{margin-top:0;margin-bottom:1px}
#cdLsKq .gridNV .shen{font-size:9px;margin-top:1px}
#cdLsKq .cell .z{font-size:13px;line-height:1.22}
#cdLsKq .cell i{font-size:8px;color:#b09a6a;font-style:normal;margin-top:2px}
#cdLsKq /* ===== GIẤY CỔ THƯ — nền vàng ngà cổ + mực nâu đỏ, #cdLsKq hợp tông đỏ đô · vàng kim ===== */
:root{--ct-giay1:#efe1bd;--ct-giay2:#e6d3a1;--ct-giay3:#ddc995;}
#cdLsKq /* Thẻ chính = tấm giấy cổ: vàng ngà ấm chuyển sắc + vân giấy lốm đốm + viền vàng kim đôi */
.card{background-image:
    radial-gradient(circle at 18% 22%, rgba(150,110,50,.10), transparent 42%),
    radial-gradient(circle at 82% 78%, rgba(150,110,50,.10), transparent 42%),
    radial-gradient(circle at 60% 12%, rgba(120,80,40,.06), transparent 38%),
    linear-gradient(155deg,#f0e3c0 0%,#e8d6a6 52%,#ddc995 100%) !important;
  background-color:#e8d6a6 !important;
  color:#43321c !important;
  border:1.5px solid #b8954a !important;
  box-shadow:0 3px 14px rgba(40,12,6,.38), inset 0 0 0 1px rgba(203,162,75,.40), inset 0 0 22px rgba(120,82,30,.10) !important;
  position:relative;}
#cdLsKq /* tiêu đề mục: mực son đỏ đô trên giấy, #cdLsKq đường kẻ vàng kim */
.h{color:#7a1e1e !important;border-bottom-color:#bb9540 !important;text-shadow:0 1px 0 rgba(255,250,235,.5)}
#cdLsKq /* Lưới tứ trụ trên giấy */
.tt2{background:#e7d6a8 !important;border-color:#b8954a !important}
#cdLsKq .tt2>div{border-right-color:#cbb273 !important}
#cdLsKq .tt2 .nc{background:#f3e7c2 !important}
#cdLsKq /* cột Ngày/Nhật chủ nổi sáng hơn */
.tt2 .hd{background:#d6bf83 !important;color:#6e4a1e !important}
#cdLsKq /* hàng tiêu đề đậm */
.tt2 .tn{color:#7a1e1e !important}
#cdLsKq .tt2 .ts{color:#5c4a2c !important}
#cdLsKq .tt2 .ts .ttn{color:#7a531f !important}
#cdLsKq .tt2 .meta{color:#9a5a16 !important}
#cdLsKq /* các ô / khối phụ */
.cell{background:#ead9af !important;border-color:#c7ad6a !important}
#cdLsKq .cell .t{color:#7a5a2a !important}
#cdLsKq .cell i{color:#7a6132 !important}
#cdLsKq .tl{background:#ecdcae !important;border-left-color:#b8860b !important;color:#43321c !important}
#cdLsKq .tsItem{border-bottom-color:#d4c08a !important;border-left-color:#bb9540 !important}
#cdLsKq .tsName{color:#7a1e1e !important}
#cdLsKq .tsNote{color:#574326 !important}
#cdLsKq .kv{color:#43321c}
#cdLsKq .kv b.k{color:#7a1e1e !important}
#cdLsKq .grid8 .cell i, #cdLsKq .gridNV .cell i{color:#8a6a22 !important}
#cdLsKq .shen{color:#7a5212 !important}
@media(max-width:540px){#cdLsKq .row2{grid-template-columns:1fr}}

/* ===== NGUYÊN TẮC CĂN LỀ CHUNG — toàn web + app (chốt 2026-07-02) ===== */
.wrap p,.para,.desc,.mota,.noi-dung,.intro,.doan-van,.lead,p.lead,.ln-cot-body,.ln-item,.ln-sub,.luan-nen,.ln-so-row>span:last-child,.cdl-sub,.cdl-banner .bd,.txt,.qr-note,.lsb-p,.lsb-sub,.lsb-teaser,.lsb-note,.lsb-tx{
  text-align:justify !important; text-align-last:left !important; hyphens:none !important; -webkit-hyphens:none !important;
}
/* Tiêu đề chữ lớn: căn GIỮA (kể cả khi xuống dòng nhiều dòng) */
h1,h2,.sec-title,.cdl-h2,.cdl-eye,.ln-h,.ln-daotang-title,.ln-daotang-sub,.cdmk-h,.cdl-banner .bt,.cdl-banner .cdl-eye{
  text-align:center !important; text-align-last:center !important;
}

/* ===== MICRO-POLISH 2026-07-02 (CTO) — CSS cục bộ, không đụng layout ===== */
/* 1. Ẩn scrollbar mọi slider (bỏ vạch vàng lơ lửng) — vẫn vuốt được, thẻ ló báo vuốt */
.cd-slide::-webkit-scrollbar,.cd-grid.cd-slide::-webkit-scrollbar,.cdl-slide::-webkit-scrollbar{display:none !important;width:0 !important;height:0 !important}
.cd-slide,.cd-grid.cd-slide,.cdl-slide{scrollbar-width:none !important;-ms-overflow-style:none !important}
/* 3. Footer "Developed by" thoáng hơn */
.cdfs-dev{padding:11px 18px !important;line-height:1.55 !important}


/* ===================== CONSOLIDATED GLOBALS — gom từ khối vá inline (2026-07-02) ===================== */
/* [cdMenuBgFix] */
#cdLPanel{background:#3f0c0c!important}#cdPanel{background:#3f0c0c!important}
/* [cdInkFix] */
.card .tsStat .off,.cap .tsStat .off{color:#574326!important;-webkit-text-fill-color:#574326!important}.card .tsStat .on,.cap .tsStat .on{color:#1e6e34!important;-webkit-text-fill-color:#1e6e34!important}
/* [cdFloatFadeCss] */
#cdFabL,#cdFabMain,.cddoc-btn,.cddoc-bar,#cdGoV3,#cdChatFab,#cdChat,.cd-chat-fab,.floating-btn{transition:opacity .25s ease}.cd-floathide{opacity:.18!important;pointer-events:none!important}
/* [cdTblFix] */
.grid8 .shen,.gridNV .shen,.grid8 .cell .z,.gridNV .cell .z,.cell .shen,.cell .z,.cell .t,.cell i,.yr,.yr.r .nz{white-space:nowrap}
/* [cdHtmlBg] */
html{background:#160404}html,body{min-height:100%}
/* [cdJustify] */
p,li,dd,blockquote,.ln-dien,.ln-cot-body,.ln-sub,.dt-ghichu,.ghi,.mota,.desc,.intro,.noi-dung,.para,.doan-van{text-align:justify;text-align-last:left !important;text-align-last:left !important}
/* [cdSelGrid] */
.dt-chips{display:grid !important;grid-template-columns:repeat(2,1fr) !important;gap:12px !important;margin-top:6px}.hchip{width:100%;display:inline-flex;align-items:center;justify-content:center;padding:12px 8px;box-sizing:border-box;text-align:center}
/* [cdSkyBody] */
html{background:#1a0606 !important}#cdSky{display:block !important;position:fixed !important;inset:0 !important;z-index:-1 !important;pointer-events:none;background:linear-gradient(160deg,rgba(58,12,12,.30),rgba(22,4,4,.42)),url("nen_saoco_v2.svg") center center/cover no-repeat !important}body:not(.cd-paper){background-color:transparent !important;background-image:none !important}
/* [cdFabHide] */
#cdFabL,#cdFabMain,#cdFabItems{display:none !important}
/* [cdPhFix] */
::placeholder{color:rgba(212,175,55,.55) !important;opacity:1 !important}input::placeholder,textarea::placeholder{color:rgba(212,175,55,.55) !important}
/* [cdCardSolid] */
.cd-cell:not(.market):not(.vip),.cd3,.tier.free,.art,.tp-card,.ct2{background:rgba(252,247,235,.95) !important}.best,.tp-link,.lt-bar,.lt-clockcard{background:rgba(252,247,235,.93) !important}
/* [cdRevealSafe] */
.cd-reveal{opacity:1 !important;transform:none !important}
/* [cdDateTone] */
input[type=date],input[type=time],input[type=datetime-local],input[type=month]{accent-color:var(--tc,#7a1c18);color-scheme:light}input[type=date]::-webkit-calendar-picker-indicator,input[type=time]::-webkit-calendar-picker-indicator,input[type=datetime-local]::-webkit-calendar-picker-indicator,input[type=month]::-webkit-calendar-picker-indicator{filter:sepia(1) saturate(6) hue-rotate(-18deg) brightness(.78);cursor:pointer;opacity:.9}
/* [cdScroll] */
html{scrollbar-width:thin;scrollbar-color:rgba(203,162,63,.7) transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,rgba(203,162,63,.7),rgba(122,40,20,.8));border-radius:10px;border:1px solid rgba(203,162,63,.22)}::-webkit-scrollbar-thumb:hover{background:rgba(203,162,63,.95)}::-webkit-scrollbar-corner{background:transparent}
/* [cdSelSyncCss] */
.cdss-wrap{position:relative;width:100%}
.cdss-btn{width:100%;display:flex;align-items:center;gap:8px;background:#2a0d0d;border:1px solid #b08a2e;border-radius:10px;color:#f0d98a;font-family:inherit;font-size:15px;font-weight:600;padding:11px 13px;text-align:justify;text-align-last:left;cursor:pointer;line-height:1.3}
.cdss-cur{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cdss-btn:after{content:"⌄";color:#cba24b;font-size:15px}
.cdss-list{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:60;background:#3a1414;border:1px solid #b08a2e;border-radius:10px;max-height:258px;overflow:auto;box-shadow:0 10px 26px rgba(0,0,0,.55);display:none}
.cdss-list.open{display:block}
.cdss-op{padding:11px 13px;color:#f0d98a;cursor:pointer;font-size:15px;border-bottom:1px solid rgba(176,138,46,.16)}
.cdss-op:last-child{border-bottom:0}
.cdss-op.sel,.cdss-op:active{background:rgba(203,162,75,.2);color:#fff}
/* [cdFabExpand] */
#cdFabL{position:fixed!important;left:16px!important;bottom:24px!important;z-index:100004!important;display:flex;flex-direction:column-reverse;align-items:center;gap:12px}
#cdFabMain{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,#7a1c18,#a83228);border:1.6px solid #f3d978;color:#f3d978;font-size:26px;line-height:1;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.45);transition:transform .25s ease;display:flex;align-items:center;justify-content:center;padding:0}
#cdFabMain.open{transform:rotate(45deg)}
#cdFabItems{display:none;flex-direction:column;gap:12px;align-items:center}
#cdFabItems.open{display:flex}
#cdFabItems>*{position:static!important;left:auto!important;right:auto!important;bottom:auto!important;top:auto!important;margin:0!important;animation:cdFabUp .22s ease}
@keyframes cdFabUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* [cdLogoFxCss] */
.cdLfxLogo{transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s,filter .3s,text-shadow .3s;cursor:pointer}
.cdLfxLogo:hover{transform:scale(1.07) rotate(-2deg);box-shadow:0 0 20px rgba(243,217,120,.55);text-shadow:0 0 14px rgba(243,217,120,.6);filter:brightness(1.13)}
.cdLfxText{transition:filter .25s,transform .25s;cursor:pointer;display:inline-block}
.cdLfxText:hover{filter:brightness(1.27) drop-shadow(0 0 8px rgba(243,217,120,.5));transform:translateY(-1px)}
/* [cdLBtnMatch — chỉ giữ màu, bỏ bg chết] */
#cdLBtn{color:#f3d978!important}#cdLBtn svg{stroke:#f3d978!important;color:#f3d978!important}


/* ===================== CONSOLIDATED GLOBAL-2 (1-bản, ≥18 trang) ===================== */
/* [cdShareFix] */
a[title="Chia sẻ"],a[href="share.html"]{color:#f3d978!important}
a[title="Chia sẻ"] svg,a[href="share.html"] svg{stroke:#f3d978!important;color:#f3d978!important;fill:none!important}
/* [cdPopInFix] */
#cdPopForm input,#cdPopup #cdPopForm input{color:#f7e7b0!important;-webkit-text-fill-color:#f7e7b0!important;caret-color:#f3d978!important}#cdPopForm input::placeholder{color:rgba(243,232,176,.62)!important;-webkit-text-fill-color:rgba(243,232,176,.62)!important}
/* [cdPopupCss] */
/* Lớp 1: OVERLAY nền mờ — z-index 9998 */
.cdpop-overlay{position:fixed;inset:0;background:rgba(20,5,5,.72);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);z-index:9998;display:none;pointer-events:none}
.cdpop-overlay.on{display:block}
/* Lớp 2: MODAL — z-index 9999, căn giữa tuyệt đối */
.cdpop-modal{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:18px}
.cdpop-modal.on{display:flex;animation:cdpopIn .3s ease}
@keyframes cdpopIn{from{opacity:0}to{opacity:1}}
.cdpop-card{position:relative;max-width:380px;width:100%;max-height:88vh;background:linear-gradient(160deg,#4a0f0f,#2a0808);border:1.5px solid #c9a24b;border-radius:18px;overflow:hidden;box-shadow:0 30px 80px -20px rgba(0,0,0,.7);animation:cdpopUp .35s cubic-bezier(.2,.9,.3,1.2)}
@keyframes cdpopUp{from{transform:translateY(24px) scale(.96);opacity:0}to{transform:none;opacity:1}}
.cdpop-x{position:absolute;top:9px;right:13px;z-index:3;background:none;border:none;color:#cba23f;font-size:26px;line-height:1;cursor:pointer;opacity:.7}
.cdpop-x:hover{opacity:1}
/* THÂN cuộn được nếu nội dung (vd luận giải AI) quá dài */
.cdpop-body{max-height:88vh;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:30px 24px 22px;text-align:center}
.cdpop-seal{width:54px;height:54px;margin:0 auto 12px;border:1.5px solid #cba23f;border-radius:11px;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#7a1e1e;color:#f3d978;font-family:"Noto Serif CJK SC","Songti SC","Noto Serif",serif;font-weight:700;font-size:20px;line-height:.95}
.cdpop-tt{color:#f3d978;font-family:'Noto Serif',serif;font-size:21px;font-weight:800;letter-spacing:.4px;margin:0 0 8px}
.cdpop-sub{color:rgba(243,232,176,.82);font-size:13.5px;line-height:1.6;margin:0 0 18px}.cdpop-sub b{color:#f3d978}
#cdPopForm input{width:100%;box-sizing:border-box;margin-bottom:10px;padding:12px 14px;border:1px solid rgba(201,162,75,.5);border-radius:10px;background:rgba(255,250,240,.06);color:#f7e7b0;font-size:14px;outline:none}
#cdPopForm input:focus{border-color:#c9a24b;background:rgba(255,250,240,.1)}
#cdPopForm input::placeholder{color:rgba(243,232,176,.45)}
.cdpop-cta{width:100%;margin-top:4px;padding:13px;border:none;border-radius:10px;background:linear-gradient(180deg,#e8c45a,#c9a24b);color:#4a0f0f;font-size:15px;font-weight:800;letter-spacing:.4px;cursor:pointer;box-shadow:0 8px 20px -8px rgba(201,162,75,.5)}
.cdpop-cta:hover{filter:brightness(1.06)}
.cdpop-later{display:inline-block;margin-top:12px;color:rgba(243,232,176,.6);font-size:12.5px;cursor:pointer;text-decoration:underline}
.cdpop-later:hover{color:#cba23f}
.cdpop-ok{display:none;color:#f3d978;font-size:14.5px;line-height:1.7;padding:16px 4px}
/* [cdBtnFont] */
button,input,select,textarea,a.cta,a.ghost{font-family:inherit !important}
/* [cdRadioDo] */
input[type=radio],input[type=checkbox]{accent-color:#7a1e1e}
/* [cdHeadFx] */
.cdHeadLogoFx{transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s,filter .3s}
.cdHeadLogoFx:hover{transform:scale(1.08) rotate(-2deg);box-shadow:0 0 22px rgba(243,217,120,.6);filter:brightness(1.12);cursor:pointer}
.cdHeadTextFx{transition:filter .25s,transform .25s,letter-spacing .25s;cursor:pointer}
.cdHeadTextFx:hover{filter:brightness(1.25) drop-shadow(0 0 8px rgba(243,217,120,.45));transform:translateY(-1px)}
/* [cdBarIcons] */
.cdnav-ic{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;color:#f3d978;background:none;border:0;cursor:pointer;text-decoration:none;border-radius:9px;flex:none;-webkit-tap-highlight-color:transparent;padding:0}.cdnav-ic:hover{background:rgba(243,217,120,.13)}.cdnav-ic svg{width:23px;height:23px}.cdnav-rgrp{display:flex;align-items:center;gap:5px}.cdsrch-ov{display:none;position:fixed;inset:0;z-index:100090;background:rgba(20,6,4,.62);align-items:flex-start;justify-content:center;padding:60px 16px}.cdsrch-ov.on{display:flex}.cdsrch-card{width:100%;max-width:480px;background:#fbf4e0;border:2px solid #cba23f;border-radius:16px;box-shadow:0 20px 60px -12px rgba(40,15,5,.6);overflow:hidden;animation:cdSrchIn .18s ease}@keyframes cdSrchIn{from{transform:translateY(-12px);opacity:.4}to{transform:none;opacity:1}}.cdsrch-top{display:flex;align-items:center;gap:9px;padding:12px 14px;border-bottom:1px dashed #d9c283;color:#7a1e1e}.cdsrch-top input{flex:1;border:0;background:none;outline:none;font-size:16px;color:#3a241c;font-family:inherit}.cdsrch-x{background:none;border:0;font-size:19px;color:#7a1e1e;cursor:pointer;line-height:1;padding:2px 4px}.cdsrch-res{max-height:54vh;overflow-y:auto;padding:6px}.cdsrch-res a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 13px;border-radius:9px;text-decoration:none;color:#5a2b14;font-weight:700;font-size:15px}.cdsrch-res a:hover{background:#f3e6c8}.cdsrch-res .empty{padding:18px 14px;color:#9a7a52;font-size:14px;text-align:center}
/* [cdFabCss] */
/* Gộp 4 nút liên hệ thành 1 FAB speed dial — không che form nhập liệu */
#cdContact{z-index:80 !important;align-items:flex-end !important}
#cdContact > a{display:none !important}
#cdContact.cdfab-open > a{display:flex !important;animation:cdFabIn .2s ease both}
@keyframes cdFabIn{from{opacity:0;transform:translateY(12px) scale(.85)}to{opacity:1;transform:none}}
#cdFabBtn{width:54px;height:54px;border-radius:50%;border:0;cursor:pointer;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#cba23f,#b8860b);color:#3a0b0b;box-shadow:0 8px 22px rgba(20,5,5,.45);transition:transform .25s}
#cdFabBtn svg{width:26px;height:26px}
#cdContact.cdfab-open #cdFabBtn{transform:rotate(135deg)}
/* [cdFloatDodgeCss] */
#cddocBtn,#cdContact,#cdGoV3{transition:opacity .16s ease}
body.cd-scrolling #cddocBtn,body.cd-scrolling #cdContact:not(.cdfab-open),body.cd-scrolling #cdGoV3{opacity:.2 !important;pointer-events:none !important}
/* [cdFloatTune] */
#cddocBtn{bottom:24px !important;left:16px !important;width:46px !important;height:46px !important;backdrop-filter:blur(7px) !important;-webkit-backdrop-filter:blur(7px) !important}
#cdContact{bottom:24px !important;right:16px !important;width:48px !important;height:48px !important;backdrop-filter:blur(7px) !important;-webkit-backdrop-filter:blur(7px) !important}
#cddocBtn svg,#cdContact svg{width:55% !important;height:55% !important}


/* ===================== CONSOLIDATED MULTI-SAFE (khối độc lập, bản đa số) ===================== */
/* [cdPopupCss2] */
.cdpop-or{display:flex;align-items:center;gap:10px;margin:14px 2px 10px;color:#c9a24b;font-size:12px;letter-spacing:1px}
.cdpop-or::before,.cdpop-or::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(201,162,75,.5),transparent)}
.cdpop-ctas{display:flex;gap:10px}
.cdpop-cta2{flex:1;text-align:center;text-decoration:none;padding:11px 8px;border-radius:11px;font-weight:800;font-size:13.5px;
 background:linear-gradient(90deg,#7a1e1e,#7a1e1e);color:#ffe08a;border:1px solid #cba23f;text-shadow:0 0 2px rgba(45,14,4,.9);cursor:pointer}
.cdpop-cta2.alt{background:#fff8e9;color:#7a1e1e;border:1px solid #cba23f;text-shadow:none}
.cdpop-cta2:active{transform:translateY(1px)}
/* [cdFootSocCss] */
.cdfs{border-top:1.5px solid #cba23f;background:linear-gradient(180deg,rgba(58,11,11,.0),rgba(58,11,11,.55));padding:16px 14px 18px;text-align:center;margin-top:22px}.cdfs-row{display:flex;gap:11px;justify-content:center;flex-wrap:wrap;margin-bottom:11px}.cdfs-ic{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;padding:0;border-radius:50%;border:1.5px solid #cba23f;color:#f3d978;background:rgba(36,8,8,.92);text-decoration:none;transition:all .2s}.cdfs-ic:hover{background:#cba23f;color:#3a0b0b}.cdfs-dev{color:#cba23f;font-size:11.5px;letter-spacing:.4px;line-height:1.5}.cdfs-dev b{color:#e6c25a;font-weight:700}

/* ===== CDPICK CHUẨN (single-source — chọn ngày giờ dạng nút, chống chồng chữ) ===== */
.cdpick{position:relative}
.cdpick-btn{width:100%;padding:7px 26px 7px 12px;border:1.8px solid #cba23f;border-radius:8px;background:#ece0c4;cursor:pointer;text-align:justify;text-align-last:left;font-family:inherit;position:relative}
.cdpick-btn::after{content:"▾";position:absolute;right:11px;top:50%;transform:translateY(-50%);color:#b08a2e;font-size:12px}
.cdpick-btn .cdlbl{display:block;font-size:10px;font-weight:700;color:#9a7a3a;letter-spacing:.6px;text-transform:uppercase;line-height:1.3}
.cdpick-btn .cdval{display:block;font-size:16px;font-weight:800;color:#2b2118;line-height:1.25;letter-spacing:.2px;white-space:nowrap;word-break:keep-all;overflow:hidden;text-overflow:ellipsis}
.cdval{font-size:14.5px;letter-spacing:0}
.cdlbl{font-size:9px;letter-spacing:.3px}
.cdpick-btn.on{border-color:#7a1e1e;box-shadow:0 0 0 2px rgba(122,30,30,.16)}
.cdpick-panel{display:none;position:absolute;z-index:9999;max-height:262px;overflow-y:auto;background:#fffaf0;border:2px solid #cba23f;border-radius:11px;padding:9px;box-shadow:0 20px 50px -10px rgba(40,20,5,.55);gap:7px}
.cdpick-panel.on{display:flex;flex-wrap:wrap;align-content:flex-start}
.cdpick-opt{flex:1 1 calc(25% - 7px);min-width:46px;box-sizing:border-box;padding:10px 4px;text-align:center;white-space:nowrap;word-break:keep-all;overflow-wrap:normal;border:1.6px solid #e0cfa0;border-radius:8px;background:#ece0c4;font-weight:800;font-size:14.5px;color:#5a4422;cursor:pointer;transition:transform .12s,background .12s,border-color .12s,color .12s}
.cdpick-opt:hover{border-color:#cba23f;background:#f3d978;color:#3a0b0b;transform:translateY(-2px);box-shadow:0 4px 10px -4px rgba(176,138,46,.6)}
.cdpick-opt.sel{background:#7a1e1e;color:#f3d978;border-color:#f3d978}
.cdpick-panel::-webkit-scrollbar{width:8px}
.cdpick-panel::-webkit-scrollbar-thumb{background:#cba23f;border-radius:4px}
/* gia cố chống đè trên mobile hẹp */
.cdpick-btn{position:relative;display:flex!important;align-items:center;justify-content:space-between;gap:6px;flex-wrap:nowrap;overflow:hidden;min-height:44px}
.cdpick-btn .cdlbl{flex:none;white-space:nowrap}
.cdpick-btn .cdval{flex:1 1 auto;min-width:0;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* mic cdNoi: gọn trong mép phải, ô nhập chừa chỗ — không che chữ */
input.cdnoi-has{padding-right:46px!important}
.cdnoi-mic{width:38px!important;height:38px!important}

/* CDPICK — cân chữ & chống răng cưa (theo chỉ điểm 2026-07-03) */
.cdpick-btn{border-width:1.5px!important;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
.cdpick-btn .cdlbl{font-size:10.5px;line-height:1.2;letter-spacing:.4px}
.cdpick-btn .cdval{font-size:16px;line-height:1.2;font-variant-numeric:tabular-nums;font-weight:800}
.cdpick-panel{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
/* ===== LÁ SỐ ẤN BẢN NHÚNG (.bdAnBanBox — nguồn AnBanTuTru, dùng cho CD_ANBAN.render) ===== */
.bdAnBanBox{background:#fdf6e3;border:2px solid #b8860b;border-radius:12px;padding:10px;margin:10px 0;color:#2a1d10;overflow-x:auto}
.bdAnBanBox *{box-sizing:border-box}
.bdAnBanBox .w{max-width:760px;margin:0 auto;padding:12px}
.bdAnBanBox .bar{position:sticky;top:0;z-index:9;background:#3a0b0b;border-bottom:1px solid #cba23f;padding:6px 12px;display:flex;gap:10px;justify-content:flex-end}
.bdAnBanBox .bar button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #cba23f;border-radius:8px;padding:6px;cursor:pointer;background:transparent;color:#f3d978;line-height:0}
.bdAnBanBox .bar button:hover{background:rgba(243,217,120,.12)}
.bdAnBanBox .bar button.r{border-color:#c46a5a;color:#e6a99b}
.bdAnBanBox .bar button.r:hover{background:rgba(196,106,90,.15)}
.bdAnBanBox h1{position:relative;text-align:center;color:#f3d978;font-size:18px;margin:10px 0 2px;letter-spacing:1px;padding:0 54px}
.bdAnBanBox h1 .seal{position:absolute;left:4px;top:50%;transform:translateY(-50%)}
.bdAnBanBox .seal{display:inline-flex;align-items:center;justify-content:center;background:#5E1616;color:#E8C860;border:1px solid #E8C860;border-radius:6px;font-family:'Noto Serif SC',serif;font-weight:700;padding:4px 8px;font-size:17px;letter-spacing:2px;line-height:1}
.bdAnBanBox .seal.sm{font-size:14px;padding:3px 6px}
.bdAnBanBox .sub{text-align:center;color:#d8b87a;font-size:12px;margin-bottom:12px}
.bdAnBanBox .card{background:#fbf4e4;color:#2b2118;border-radius:13px;padding:14px;margin-bottom:12px;border:1.5px solid #cba23f}
.bdAnBanBox .h{font-size:13px;font-weight:800;color:#7a1e1e;border-bottom:1.5px solid #cba23f;padding-bottom:6px;margin-bottom:10px;text-align:center;line-height:1.38}
.bdAnBanBox /* TỨ TRỤ: lưới hàng-cột, .bdAnBanBox chính (Hán/Việt) nổi, .bdAnBanBox phụ nhỏ */
.tt2{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #cba23f;border-radius:9px;overflow:hidden;background:#fff8e9}
.bdAnBanBox .tt2>div{text-align:center;padding:3px 1px;border-right:1px solid #eaddb6;min-width:0;line-height:1.18}
.bdAnBanBox .tt2>div:nth-child(4n){border-right:none}
.bdAnBanBox .tt2 .nc{background:#fff1ee}
.bdAnBanBox .tt2 .hd{font-size:12.5px;font-weight:800;color:#6e4e18;background:#f6ead0;padding:6px 2px;letter-spacing:.2px}
.bdAnBanBox .tt2 .tn{font-size:10px;color:#7a1e1e;font-weight:700;min-height:15px;padding-top:3px}
.bdAnBanBox .tt2 .hz{font-family:serif;font-weight:900;font-size:clamp(20px,7vw,30px)}
.bdAnBanBox .tt2 .vz{font-size:clamp(11px,3.4vw,14px)}
.bdAnBanBox .tt2>div:has(.hz){min-height:30px;display:flex;align-items:center;justify-content:center}
.bdAnBanBox .tt2 .ts{font-size:clamp(7.5px,2.2vw,8.5px);color:#9a8a6a;min-height:30px;padding:2px 0;line-height:1.45}
.bdAnBanBox .tt2 .ts .ttn{color:#b09a72}
.bdAnBanBox .tt2 .meta{font-size:clamp(8px,2.3vw,9px);color:#b07a2a;font-weight:700;padding:2px 0}
.bdAnBanBox .tt2 .na{font-size:clamp(7.5px,2.2vw,8.5px);font-style:italic;padding:2px 0 5px}
.bdAnBanBox .row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.bdAnBanBox .kv{font-size:13px;line-height:1.95}
.bdAnBanBox .kv b.k{color:#7a1e1e}
.bdAnBanBox .tl{background:#fff1d8;border-radius:8px;padding:9px;font-size:13px;border-left:4px solid #b8860b}
.bdAnBanBox .tsItem{padding:8px 0 8px 10px;border-bottom:1px solid #ecdcb8;border-left:3px solid #cba23f;margin-bottom:2px}
.bdAnBanBox .tsItem:last-child{border-bottom:none}
.bdAnBanBox .tsName{font-size:13.5px;font-weight:800;color:#7a1e1e}
.bdAnBanBox .tsStat{font-size:12.5px;margin-top:2px}
.bdAnBanBox .on{color:#1e8e3e;font-weight:800}
.bdAnBanBox .off{color:#3e2723;font-weight:700}
.bdAnBanBox .tsNote{font-size:12px;color:#5f5036;margin-top:3px;line-height:1.45}
.bdAnBanBox .scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.bdAnBanBox .grid8{display:grid;grid-template-columns:repeat(8,minmax(40px,1fr));gap:5px}
.bdAnBanBox .grid8 .cell{min-height:54px;justify-content:center}
.bdAnBanBox .grid8 .cell i{color:#a87f2e;font-weight:800;font-size:9.5px;margin-top:3px}
.bdAnBanBox .grid8 .cell .z{font-size:13px}
.bdAnBanBox .gridNV{display:grid;grid-template-columns:repeat(auto-fill,minmax(50px,1fr));gap:4px}
.bdAnBanBox .gridNV .cell{padding:4px 1px;min-height:52px;justify-content:center}
.bdAnBanBox .gridNV .cell .t{font-size:7px}
.bdAnBanBox .gridNV .cell .z{font-size:10px;line-height:1.2}
.bdAnBanBox .gridNV .cell i{font-size:clamp(7px,2.2vw,8.5px);color:#a87f2e;font-weight:700;margin-top:2px}
.bdAnBanBox .cell{background:#fff8e9;border:1px solid #d9c79a;border-radius:6px;padding:4px 1px;text-align:center;display:flex;flex-direction:column;align-items:center}
.bdAnBanBox .cell .t{font-size:8px;color:#9a7a3a;font-weight:700}
.bdAnBanBox .shen{display:block;color:#8a5e12;font-weight:700;font-size:10px;margin-top:2px;font-style:normal;line-height:1.1}
.bdAnBanBox .shen-top{margin-top:0;margin-bottom:1px}
.bdAnBanBox .gridNV .shen{font-size:9px;margin-top:1px}
.bdAnBanBox .cell .z{font-size:13px;line-height:1.22}
.bdAnBanBox .cell i{font-size:8px;color:#b09a6a;font-style:normal;margin-top:2px}
.bdAnBanBox .foot{display:flex;align-items:center;justify-content:center;gap:11px;margin-top:10px}
.bdAnBanBox .foot .ft{display:flex;flex-direction:column;text-align:justify;text-align-last:left;line-height:1.3}
.bdAnBanBox .foot .ft b{color:#f3d978;font-size:13px;letter-spacing:.5px}
.bdAnBanBox .foot .en{font-size:10px;color:#b89a6a;font-style:italic}
@media print{.bdAnBanBox .bar{display:none}.bdAnBanBox body{background:#fff;padding:0}.bdAnBanBox .card{break-inside:avoid}}
@media(max-width:540px){.bdAnBanBox .row2{grid-template-columns:1fr}}
/* LẰN RANH RÕ CHỮ (lệnh 2026-07-04): khối cảnh giới đạo lý mọi trang — to rõ, cân khối văn bản */
.dt-ghichu{font-size:15.5px!important;line-height:1.8!important;text-align:justify;text-align-last:left;hyphens:none}

/* === CHỐNG CHỮ TRÀN NÚT CTA (2026-07-04, theo ảnh máy thật): CTA cụm dài được XUỐNG DÒNG trong khung
   (đè rule nowrap dòng 70 phía trên) + chặn WebView tự phóng chữ gây tràn === */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.cta, a.cta, .btn, a.btn, button.btn{white-space:normal !important;max-width:100% !important;box-sizing:border-box !important;
 line-height:1.35 !important;text-align:center !important;overflow-wrap:break-word}

/* === CÔNG TẮC BẬT/TẮT thay nút tích (2026-07-04, theo lệnh — đồng thông số switch các trang tư vấn) === */
input[type=checkbox].cd-toggle{-webkit-appearance:none;appearance:none;width:52px;height:28px;min-width:52px;
 border-radius:14px;background:#c9b58a;border:1px solid #a8894f;position:relative;cursor:pointer;
 transition:background .2s;outline:none;vertical-align:middle;padding:0}
input[type=checkbox].cd-toggle::before{content:"";position:absolute;left:3px;top:50%;transform:translateY(-50%);width:22px;height:22px;
 border-radius:50%;background:#fff8e9;transition:left .2s;box-shadow:0 1px 3px rgba(0,0,0,.35)}
input[type=checkbox].cd-toggle:checked{background:#7a1c18;border-color:#cba23f}
input[type=checkbox].cd-toggle:checked::before{left:27px}
input[type=checkbox].cd-toggle:focus-visible{box-shadow:0 0 0 2px rgba(203,162,63,.5)}
label.cd-toggle-wrap{display:flex !important;align-items:center !important;gap:9px !important;cursor:pointer}
