/* =====================================================================================================
   MOBILE — CÁC TRANG CÒN LẠI (23/10/2026). Chỉ chạy ≤ 760px (media ở layout.ejs + @media bên dưới); máy tính KHÔNG đổi.
   Nạp SAU p-m-commerce.css. Chuẩn: lề 12 · giữa khối 16 · tiêu đề khối 16/700 · thân 13 (bài đọc 15/1.6) · phụ 12 · meta 11
   nút 32–40 (chính 40–44) · vùng bấm ≥ 44 bằng ::after · bo 4–8 · không vạch trái · không thanh cuộn · token --ds-fw-*.
   Mục: 1 bài viết · 2 tuyển dụng chi tiết · 3 đăng nhập/đăng ký · 4 bảng giá · 5 mua gói/thanh toán · 6 tài khoản · 7 voucher/E-Voucher
        · 8 trợ giúp/liên hệ/404 · 9 khu quản lý nhẹ (.ua-lay) · 10 vận hành (chỉ chống tràn).
   ===================================================================================================== */
@media (max-width: 760px) {
  body.theme-dental { --pm-nav: calc(58px + env(safe-area-inset-bottom)); }

  /* ---------- 1. TRANG BÀI VIẾT ---------- */
  body.theme-dental .tt3.p-post { padding-bottom: calc(var(--pm-nav) + 56px); }
  body.theme-dental .tt3 .acols { display: block; margin-top: 8px; }
  body.theme-dental .tt3 .ahero.top, body.theme-dental .tt3 .rvgal.top { height: auto; aspect-ratio: 16 / 9; border-radius: 8px; }
  body.theme-dental .tt3 .ahero.top img { width: 100%; height: 100%; object-fit: cover; }
  body.theme-dental .tt3 .atop { margin-top: 10px; }
  body.theme-dental .tt3 .atop .cat { font-size: 11px; font-weight: var(--ds-fw-700); }
  body.theme-dental .tt3 .atop h1 { margin: 6px 0 6px; }
  body.theme-dental .tt3 .atop .lead { margin: 0; font-size: 13px; line-height: 1.5; color: var(--ds-ink-600, #4b5870); }
  /* tác giả / tham vấn: một hàng gọn, meta 11 */
  body.theme-dental .tt3 .ameta { display: flex; flex-wrap: wrap; gap: 6px 12px; margin-top: 10px; padding: 8px 0; font-size: 11px; }
  body.theme-dental .tt3 .ameta .p { gap: 8px; min-width: 0; }
  body.theme-dental .tt3 .ameta .p .av { width: 28px; height: 28px; font-size: 11px; }
  body.theme-dental .tt3 .ameta .p b { font-size: 12px; }
  body.theme-dental .tt3 .ameta .p small { font-size: 11px; }
  body.theme-dental .tt3 .medrev, body.theme-dental .tt3 .discl { margin: 8px 0 0; padding: 8px 10px; font-size: 11px; line-height: 1.45; border-radius: 6px; }
  body.theme-dental .tt3 .medrev .dav { width: 24px; height: 24px; font-size: 11px; }
  /* mục lục: thay khối gập bằng nút mở sheet (thanh dính đáy) */
  body.theme-dental .tt3 details.toc-in { display: none; }
  /* chữ đọc 15/1.6 */
  body.theme-dental .tt3 .apaper { margin-top: 12px; padding: 14px 12px 12px; border-radius: 8px; box-shadow: none; border: 1px solid var(--ds-line); }
  body.theme-dental .tt3 .prose { max-width: none; font-size: 15px; line-height: 1.6; }
  body.theme-dental .tt3 .prose p { margin: 0 0 12px; }
  body.theme-dental .tt3 .abody h2, body.theme-dental .tt3 .prose h2 { margin: 22px 0 8px; font-size: 18px; font-weight: var(--ds-fw-700); line-height: 1.3; letter-spacing: 0; scroll-margin-top: 72px; }
  body.theme-dental .tt3 .prose h3 { margin: 16px 0 6px; font-size: 16px; font-weight: var(--ds-fw-700); line-height: 1.35; scroll-margin-top: 72px; }
  body.theme-dental .tt3 .prose img, body.theme-dental .tt3 .prose table { max-width: 100%; }
  body.theme-dental .tt3 .prose table { display: block; overflow-x: auto; }
  body.theme-dental .tt3 .authorbox { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 10px; padding: 12px; }
  body.theme-dental .tt3 .authorbox .dav { width: 48px !important; height: 48px !important; font-size: 16px !important; }
  body.theme-dental .tt3 .authorbox p { font-size: 12px; line-height: 1.45; margin: 4px 0 0; }
  body.theme-dental .tt3 .shareb { display: none; } /* đã có Chia sẻ ở thanh dính */
  body.theme-dental .tt3 .shareb:has(.btn) { display: flex; }
  /* cột phải: dồn dưới bài, khối gọn */
  body.theme-dental .tt3.p-post aside { margin-top: 16px; display: grid; gap: 12px; }
  body.theme-dental .tt3.p-post aside .box { border: 1px solid var(--ds-line); box-shadow: none; border-radius: 8px; }
  body.theme-dental .tt3.p-post aside .box:has(.sidep-l) { display: none; } /* "Đọc nhiều" trùng dải bài liên quan */
  body.theme-dental .tt3.p-post aside .side-ask { display: none; } /* trùng khối "Hỏi nha sĩ" cuối bài */
  /* bài liên quan: dải vuốt ngang */
  body.theme-dental .tt3-rel { margin-top: 16px; }
  body.theme-dental .tt3-rel .tt3-hd { margin-bottom: 8px; }
  body.theme-dental .tt3-rel .tt3-sub { display: none; }
  body.theme-dental .tt3-rel .tt3-relg { display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin: 0 -12px; padding: 0 12px 4px; }
  body.theme-dental .tt3-rel .tt3-relg::-webkit-scrollbar { display: none; }
  body.theme-dental .tt3-rel .tt3-relg .nmed { flex: 0 0 66%; max-width: 250px; display: flex; flex-direction: column; scroll-snap-align: start; border: 1px solid var(--ds-line); border-radius: 8px; overflow: hidden; background: #fff; }
  body.theme-dental .tt3-rel .tt3-relg .nmed .im { height: auto; aspect-ratio: 3 / 2; flex: none; }
  body.theme-dental .tt3-rel .tt3-relg .nmed .bd { padding: 8px 10px 10px; }
  body.theme-dental .tt3-rel .tt3-relg .nmed h3 { font-size: 13px; font-weight: var(--ds-fw-600); line-height: 1.3; }
  body.theme-dental .tt3-rel .tt3-relg .nmed small { font-size: 11px; }
  /* thanh dính: Mục lục · Bình luận · Lưu · Chia sẻ */
  .pm-bar { position: fixed; z-index: 45; left: 0; right: 0; bottom: var(--pm-nav); display: flex; align-items: stretch; height: 44px; background: #fff; border-top: 1px solid var(--ds-line); }
  .pm-bar .pm-b { flex: 1 1 0; position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 5px; min-width: 0; padding: 0; border: 0; background: none; font: inherit; font-size: 12px; font-weight: var(--ds-fw-600); color: var(--ds-ink-700, #2b3a55); cursor: pointer; }
  .pm-bar .pm-b + .pm-b { border-left: 1px solid var(--ds-line); }
  .pm-bar .pm-b i { font-size: 16px; color: var(--ds-blue-600, #1f62d6); }
  .pm-bar .pm-save :is(.ibtn, a, button) { display: inline-flex; align-items: center; justify-content: center; gap: 5px; width: 100%; height: 44px; border: 0; background: none; font: inherit; font-size: 12px; font-weight: var(--ds-fw-600); color: inherit; padding: 0; }
  .pm-bar .pm-save form { display: block !important; width: 100%; }
  .pm-bar .pm-save i { color: var(--ds-ink-400, #9aa5b8); }
  /* sheet mục lục */
  .pm-sheet { position: fixed; inset: auto 0 0 0; width: 100%; max-width: none; max-height: 70vh; margin: 0; padding: 0; border: 0; border-radius: 12px 12px 0 0; background: #fff; overflow: hidden; }
  .pm-sheet[open] { display: flex; flex-direction: column; }
  .pm-sheet::backdrop { background: rgba(20, 33, 61, .45); }
  .pm-sh-h { display: flex; align-items: baseline; gap: 8px; padding: 14px 16px 10px; border-bottom: 1px solid var(--ds-line); }
  .pm-sh-h b { font-size: 16px; font-weight: var(--ds-fw-700); color: var(--ds-ink-900); }
  .pm-sh-h small { font-size: 11px; color: var(--ds-ink-500); }
  .pm-x { position: relative; margin-left: auto; width: 32px; height: 32px; border: 0; border-radius: 4px; background: var(--ds-bg-soft); color: var(--ds-ink-700, #2b3a55); display: grid; place-items: center; }
  .pm-x::after { content: ''; position: absolute; inset: -6px; }
  .pm-sh-l { margin: 0; padding: 4px 0 calc(12px + env(safe-area-inset-bottom)); list-style: none; overflow-y: auto; scrollbar-width: none; }
  .pm-sh-l::-webkit-scrollbar { display: none; }
  .pm-sh-l a { display: flex; align-items: center; min-height: 44px; padding: 8px 16px; font-size: 14px; line-height: 1.35; color: var(--ds-ink-900); border-bottom: 1px solid var(--ds-line); }
  .pm-sh-l li:last-child a { border-bottom: 0; }

  /* ---------- 2. TUYỂN DỤNG CHI TIẾT: đầu tin xếp lại, nút Ứng tuyển dính đáy ---------- */
  body.theme-dental .td3-detail { padding-bottom: calc(var(--pm-nav) + 60px); }
  body.theme-dental .td3-detail .jhead { grid-template-columns: 48px minmax(0, 1fr); gap: 10px 12px; padding: 12px; align-items: start; }
  body.theme-dental .td3-detail .jhead .lg { width: 48px; height: 48px; font-size: 15px; box-shadow: 0 0 0 2px #fff, 0 0 0 3px var(--ds-cyan-500); }
  body.theme-dental .td3-detail .jhead h1 { margin: 2px 0 4px; display: block; font-size: 20px !important; line-height: 1.25; }
  body.theme-dental .td3-detail .jhead .co { gap: 4px 6px; font-size: 11px; line-height: 1.4; }
  body.theme-dental .td3-detail .jhead .co b { font-size: 13px; }
  body.theme-dental .td3-detail .jhead .acts { position: fixed; z-index: 45; left: 0; right: 0; bottom: var(--pm-nav); grid-column: auto; flex-direction: row; gap: 8px; min-width: 0; padding: 8px 12px; background: #fff; border-top: 1px solid var(--ds-line); }
  body.theme-dental .td3-detail .jhead .acts > .btn { flex: 1 1 0; height: 40px; font-size: 14px; }
  body.theme-dental .td3-detail .jhead .acts > div { flex: none; }
  body.theme-dental .td3-detail .jhead .acts > div .btn { position: relative; width: 40px; height: 40px; padding: 0; overflow: hidden; color: transparent; white-space: nowrap; }
  body.theme-dental .td3-detail .jhead .acts > div .btn i { position: absolute; inset: 0; display: grid; place-items: center; font-size: 18px; }
  body.theme-dental .td3-detail .jhead .acts > div .btn i.ph-share-network { color: var(--ds-blue-600, #1f62d6); }
  body.theme-dental .td3-detail .jfacts { gap: 8px; }
  body.theme-dental .td3-detail .jfacts > div { padding: 10px; gap: 8px; }
  body.theme-dental .td3-detail .jfacts small { font-size: 11px; }
  body.theme-dental .td3-detail .jfacts b { font-size: 13px; line-height: 1.3; }
  body.theme-dental .td3-detail .pgrid { display: block; }
  body.theme-dental .td3-detail .pside { margin-top: 12px; }
  body.theme-dental .td3-detail .jsec .bh h2, body.theme-dental .td3-detail .box .bh h2 { font-size: 16px; font-weight: var(--ds-fw-700); }
  body.theme-dental .td3-detail .jlist li, body.theme-dental .td3-detail .perks > div { font-size: 13px; line-height: 1.5; }
  body.theme-dental .td3-detail .pside .ctc .btn { height: 40px; }

  /* ---------- 3. ĐĂNG NHẬP / ĐĂNG KÝ / QUÊN MẬT KHẨU / OTP: form một cột, bỏ tranh quảng cáo ---------- */
  body.theme-dental .au3 .auth { display: block; margin: 8px 0 0; max-width: none; border: 0 !important; box-shadow: none; background: none; }
  body.theme-dental .au3 .auth .art2 { display: none; }
  body.theme-dental .au3 .auth .frm { padding: 14px 0 0; width: auto; }
  body.theme-dental .au3 .auth .frm h1 { font-size: 20px !important; }
  body.theme-dental .au3 .auth .frm .sub { margin-bottom: 12px; font-size: 12px; }
  body.theme-dental .au3 .auth .inp { height: 44px; }
  body.theme-dental .au3 .auth .inp input { font-size: 16px; } /* 16px: iOS không tự phóng to khi chọn ô */
  body.theme-dental .au3 .auth .fl label { font-size: 12px; }
  body.theme-dental .au3 .auth button.btn-mint, body.theme-dental .au3 .auth .btn-mint { height: 44px; font-size: 14px; }
  body.theme-dental .au3 .auth .row2 { flex-wrap: wrap; gap: 6px 12px; font-size: 12px; }
  body.theme-dental .au3 .auth .row2 a { display: inline-flex; align-items: center; min-height: 32px; }
  body.theme-dental .au3 .auth .role-pick, body.theme-dental .au3 .auth .roles { gap: 8px; }

  /* ---------- 4. BẢNG GIÁ: thẻ gói vuốt ngang, quyền lợi gập "Xem đủ N quyền lợi" ---------- */
  body.theme-dental .tg3 .bgh { padding: 14px 12px; }
  body.theme-dental .tg3 .bgh-r { display: none; }
  body.theme-dental .tg3 .bgh h1 { font-size: 20px !important; }
  body.theme-dental .tg3 .bgh-pts { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; margin: 10px -12px 0; padding: 0 12px; }
  body.theme-dental .tg3 .bgh-pts::-webkit-scrollbar { display: none; }
  body.theme-dental .tg3 .bgh-pts li { flex: 0 0 72%; }
  body.theme-dental .tg3 .plans4 { display: flex !important; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin: 0 -12px; padding: 14px 12px 4px; align-items: stretch; }
  body.theme-dental .tg3 .plans4::-webkit-scrollbar { display: none; }
  body.theme-dental .tg3 .plans4 > .plan { flex: 0 0 82%; max-width: 330px; scroll-snap-align: center; margin: 0; }
  body.theme-dental .tg3 .plan .pr { font-size: 24px; font-weight: var(--ds-fw-800); }
  body.theme-dental .tg3 .plan .hd b { font-size: 16px; font-weight: var(--ds-fw-700); }
  body.theme-dental .tg3 .plan ul li { font-size: 12px; line-height: 1.45; }
  body.theme-dental .tg3 .plan .fit { font-size: 12px; }
  body.theme-dental .tg3 .pm-fold:not(.pm-open) > li:nth-child(n+7) { display: none; }
  body.theme-dental .tg3.bg-plans .plan .plan-more { position: relative; min-height: 0; padding: 6px 0; }
  body.theme-dental .tg3.bg-plans .plan .plan-more::after { content: ''; position: absolute; left: 0; right: 0; top: -8px; bottom: -8px; }
  body.theme-dental .tg3 .pm-more { display: flex; align-items: center; justify-content: center; gap: 4px; width: 100%; min-height: 40px; margin-top: 6px; border: 1px solid var(--ds-line); border-radius: 4px; background: var(--ds-bg-soft); color: var(--ds-blue-700, #1a4fae); font: inherit; font-size: 12px; font-weight: var(--ds-fw-700); cursor: pointer; }
  body.theme-dental .tg3 .pm-fold-t:not(.pm-open) > :not(.cmh):not(.pm-more) { display: none; }
  body.theme-dental .tg3 .pm-fold-t.pm-open .cmp { display: block; overflow-x: auto; scrollbar-width: none; }
  body.theme-dental .tg3 .why { display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin: 16px -12px 0; padding: 0 12px 4px; }
  body.theme-dental .tg3 .why::-webkit-scrollbar { display: none; }
  body.theme-dental .tg3 .why > div { flex: 0 0 72%; scroll-snap-align: start; margin: 0; }
  body.theme-dental .tg3 .why p { font-size: 12px; line-height: 1.5; }
  body.theme-dental .tg3 .plans4 { align-items: flex-start; }
  body.theme-dental .tg3 .superbox { padding: 14px 12px; }
  body.theme-dental .tg3 .ptabs2 { overflow-x: auto; scrollbar-width: none; }

  /* ---------- 5. MUA GÓI / THANH TOÁN / ĐƠN HÀNG ---------- */
  body.theme-dental .hs3-buy .hs3-buyhd { grid-template-columns: 36px minmax(0, 1fr); gap: 6px 12px; padding: 12px; }
  body.theme-dental .hs3-buy .hs3-buyhd h1 { font-size: 20px !important; }
  body.theme-dental .hs3-buy .hs3-buyhd p { font-size: 12px; line-height: 1.5; }
  body.theme-dental .hs3-buy .hs3-buyhd .hs3-price { grid-column: 1 / -1; display: flex; align-items: baseline; gap: 8px; padding-top: 8px; border-top: 1px dashed var(--ds-line); text-align: left; }
  body.theme-dental .hs3-buy .hs3-buyhd .hs3-price b { font-size: 24px; font-weight: var(--ds-fw-800); }
  body.theme-dental .hs3-buy .hs3-buyhd .hs3-price small { font-size: 12px; }

  /* ---------- 6. TÀI KHOẢN: thẻ lịch hẹn gọn ---------- */
  body.theme-dental .vrow[data-s] { display: flex !important; flex-direction: column-reverse; gap: 6px; padding: 12px; }
  body.theme-dental .vrow[data-s] > span { display: flex !important; flex-direction: row; align-items: center; justify-content: space-between; align-self: stretch; }
  body.theme-dental .vrow[data-s] > div > b { font-size: 13px; line-height: 1.35; }
  body.theme-dental .vrow[data-s] > div > small { font-size: 11px; line-height: 1.5; }
  body.theme-dental .steps2 { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 3px; margin-top: 8px; }
  body.theme-dental .steps2 span { display: block; padding: 4px 2px; font-size: 11px; line-height: 1.2; text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  body.theme-dental .vrow[data-s] form[action$="/doi"] { flex: 1 1 100%; }
  body.theme-dental .vrow[data-s] form[action$="/doi"] select { flex: 1; height: 32px !important; min-height: 0; font-size: 12px; }
  body.theme-dental .vrow[data-s] form[action$="/huy"] { margin: 0 !important; }
  body.theme-dental .seg2 { overflow-x: auto; scrollbar-width: none; max-width: 100%; }
  body.theme-dental .seg2::-webkit-scrollbar { display: none; }
  body.theme-dental .seg2 button { white-space: nowrap; }

  /* ---------- 7. VOUCHER / E-VOUCHER CHI TIẾT: thanh Mua dính đáy ---------- */
  body.theme-dental .vc3 .ev-end, body.theme-dental .ev-end { flex-wrap: nowrap; justify-content: space-between; position: fixed; z-index: 45; left: 0; right: 0; bottom: var(--pm-nav); display: flex; align-items: center; gap: 12px; margin: 0; padding: 8px 12px; background: #fff; border: 0; border-top: 1px solid var(--ds-line); border-radius: 0; }
  body.theme-dental .ev-end .ev-pr { flex: 1; min-width: 0; display: flex; flex-direction: column; }
  body.theme-dental .vc3 .ev-end .ev-pr b, body.theme-dental .ev-end .ev-pr b { font-size: 16px; font-weight: var(--ds-fw-800); line-height: 1.2; }
  body.theme-dental .ev-end .ev-pr s { font-size: 11px; }
  body.theme-dental .vc3 .ev-end .btn, body.theme-dental .ev-end .btn { flex: none; width: auto; height: 40px; padding: 0 20px; font-size: 14px; }
  body.theme-dental main:has(.ev-end) { padding-bottom: calc(var(--pm-nav) + 60px); }

  /* ---------- 8. TRỢ GIÚP / LIÊN HỆ / 404 ---------- */
  body.theme-dental .hc-role a { display: flex; align-items: center; gap: 10px; text-align: left; justify-content: flex-start; }
  body.theme-dental .hc-role a > span { flex: 1; min-width: 0; text-align: left; }
  body.theme-dental .hc-role a b { display: block; font-size: 13px; }
  body.theme-dental .hc-role a small { display: block; font-size: 11px; }

  /* trợ giúp: đầu trang nén (nhãn + h1 20 + mô tả 1 dòng + ô tìm), chip từ khoá MỘT hàng kéo ngang bắt đầu từ lề trái, "Bạn là ai?" = lưới 2x2 gọn */
  body.theme-dental .hc-hero { padding: 14px 0 12px; text-align: left; }
  body.theme-dental .hc-hero .wrap.hc-hero-in { display: block; }
  body.theme-dental .hc-hero h1, body.theme-dental .hc-hero .hc-t { margin: 2px 0 4px; font-size: 20px !important; line-height: 1.25; text-align: left; }
  body.theme-dental .hc-hero p { margin: 0 0 8px; font-size: 12px; line-height: 1.45; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
  body.theme-dental .hc-search { margin: 8px 0 0; padding: 3px 3px 3px 12px; }
  body.theme-dental .hc-search input { height: 38px; font-size: 16px; }
  body.theme-dental .hc-search button { height: 38px; padding: 0 14px; font-size: 13px; }
  body.theme-dental .hc-quick { flex-wrap: nowrap; justify-content: flex-start; gap: 6px; margin: 8px -12px 0; padding: 0 12px 2px; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; scroll-padding-left: 12px; }
  body.theme-dental .hc-quick::-webkit-scrollbar { display: none; }
  body.theme-dental .hc-quick > span { display: none; }
  body.theme-dental .hc-quick a { flex: none; display: inline-flex; align-items: center; height: 30px; padding: 0 12px; font-size: 12px; font-weight: var(--ds-fw-500); white-space: nowrap; }
  body.theme-dental .hc-role-h { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 10px; }
  body.theme-dental .hc-role-h .hc-h { grid-column: 1 / -1; margin: 0; }
  body.theme-dental .hc-role-h .hc-h h2 { margin: 0; font-size: 13px; }
  body.theme-dental .hc-hero .hc-role-h a { display: grid !important; grid-template-columns: 20px minmax(0, 1fr); align-items: center; gap: 0 8px; padding: 8px 10px; min-height: 48px; border: 1px solid var(--ds-line) !important; border-radius: 6px !important; background: #fff !important; }
  body.theme-dental .hc-role-h a > i { font-size: 18px; }
  body.theme-dental .hc-role-h a > span { display: block !important; }
  body.theme-dental .hc-role-h a b { font-size: 12px; line-height: 1.25; }
  body.theme-dental .hc-role-h a small { display: none !important; }
  body.theme-dental .hc { padding-block: 14px 24px; }
  body.theme-dental .hc .hc-sec { margin-bottom: 18px; }
  body.theme-dental .hc .hc-h .h-sec { font-size: 16px; }
  body.theme-dental .hc .hc-cat { padding: 10px 2px; }
  body.theme-dental .hc .hc-cat small { font-size: 12px; margin: 1px 0 3px; }

  /* Góc nha sĩ (/tin-tuc): đầu khối một dòng [tiêu đề | Tất cả nha sĩ ›]; ≥ 4 thẻ → lưới 2 hàng × N cột kéo ngang (ít hơn giữ một dải) */
  body.theme-dental .tt3-corner .tt3-hd { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 0 8px; margin-bottom: 8px; }
  body.theme-dental .tt3-corner .tt3-hd .tt3-ic { display: none; }
  body.theme-dental .tt3-corner .tt3-hd .h-sec { font-size: 16px; }
  body.theme-dental .tt3-corner .tt3-hd .tt3-sub { margin: 2px 0 0; font-size: 12px; line-height: 1.4; }
  body.theme-dental .tt3-corner .tt3-hd .more { font-size: 12px; font-weight: var(--ds-fw-500); white-space: nowrap; }
  body.theme-dental .tt3 .corner:has(> .cdoc:nth-child(4)) { display: grid; grid-auto-flow: column; grid-template-columns: none; grid-template-rows: repeat(2, auto); grid-auto-columns: 82%; align-items: start; }
  body.theme-dental .tt3 .corner:has(> .cdoc:nth-child(4)) > .cdoc { flex: none; min-width: 0; }

  /* danh sách tin tức: dòng tác giả · thời gian · phút đọc được xuống dòng, không tràn mép */
  body.theme-dental .tt3 .nrow .by { display: flex; flex-wrap: wrap; gap: 2px 6px; min-width: 0; font-size: 11px; }
  body.theme-dental .tt3 .nrow .by span { min-width: 0; white-space: normal; }

  /* ---------- 11. THANH DÍNH ĐÁY DÙNG CHUNG (.stk-bar: Flash chi tiết, Tin rao chi tiết) ----------
     Cao 56 = padding 8 + nút 40, nằm ngay trên thanh dưới .mnav (bottom: var(--pm-nav)). Trái = thông tin ngắn, phải = nút chính 40px bo 4. */
  body.theme-dental .stk-bar { position: fixed; z-index: 45; left: 0; right: 0; bottom: var(--pm-nav); display: flex; align-items: center; gap: 8px; height: 56px; padding: 8px 12px; background: #fff; border-top: 1px solid var(--ds-line); }
  body.theme-dental .stk-bar[hidden] { display: none; }
  body.theme-dental .stk-tx { flex: 1 1 auto; min-width: 0; display: grid; gap: 1px; align-content: center; }
  body.theme-dental .stk-tx small { font-size: 11px; line-height: 1.3; color: var(--ds-ink-500); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  body.theme-dental .stk-tx > b { font-size: 14px; font-weight: var(--ds-fw-700); line-height: 1.2; color: var(--ds-ink-900); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  body.theme-dental .stk-code { font-family: ui-monospace, Consolas, monospace; letter-spacing: .04em; }
  body.theme-dental .stk-tx .cdx { --cs: 18px; display: flex; flex-wrap: nowrap; align-items: center; justify-content: flex-start; gap: 4px; min-height: 18px; }
  body.theme-dental .stk-tx .cdx-d { font-size: 11px; }
  body.theme-dental .stk-tx .cdx-t b { min-width: 18px; height: 18px; font-size: 11px; }
  body.theme-dental .stk-tx .cdx-t i { font-size: 11px; }
  body.theme-dental .stk-tx .cdx.is-end { font-size: 12px; font-weight: var(--ds-fw-600); color: var(--ds-ink-500); }
  body.theme-dental .stk-go, body.theme-dental .stk-b { position: relative; flex: none; display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 40px; padding: 0 16px; border: 0; border-radius: 4px; font: inherit; font-size: 14px; font-weight: var(--ds-fw-600); line-height: 1; white-space: nowrap; cursor: pointer; }
  body.theme-dental .stk-go { min-width: 132px; background: var(--ds-orange-700, #b45309); color: #fff; }
  body.theme-dental .stk-go:active { filter: brightness(.92); }
  body.theme-dental .stk-go i, body.theme-dental .stk-b i { font-size: 18px; }
  body.theme-dental .stk-go.is-off, body.theme-dental .stk-b.is-off { background: var(--ds-bg-soft); color: var(--ds-ink-500); cursor: not-allowed; }
  /* tin rao: Lưu (ô vuông 40) · Nhắn tin (viền) · Xem số/Gọi (chính, chiếm chỗ còn lại) */
  body.theme-dental .stk-tr { gap: 8px; }
  body.theme-dental .stk-save { flex: none; }
  body.theme-dental .stk-save .ibtn { width: 40px; height: 40px; padding: 0; border-radius: 4px; display: grid; place-items: center; background: var(--ds-bg-soft); box-shadow: none; }
  body.theme-dental .stk-save .ibtn i { font-size: 20px; }
  body.theme-dental .stk-tr .stk-b { padding: 0 12px; font-size: 13px; }
  body.theme-dental .stk-b1 { flex: 1 1 0; min-width: 0; background: var(--brand-btn, #3672da); color: #fff; }
  body.theme-dental .stk-b2 { flex: 0 1 auto; background: #fff; color: var(--ds-ink-800); box-shadow: inset 0 0 0 1px var(--ds-line-strong); }
  body.theme-dental .stk-b2[hidden], body.theme-dental .stk-b1[hidden] { display: none; }
  body.theme-dental .tr3-detail, body.theme-dental .fl3 { padding-bottom: calc(var(--pm-nav) + 72px); }
  /* Flash: thẻ mã gọn — nút chính đã có ở thanh dính nên bỏ nút trong thẻ (chỉ giữ Sao chép khi đã có mã) */
  body.theme-dental .fl3-big, body.theme-dental .fl3-timer { padding: 12px 14px; }
  body.theme-dental .fl3-big b { font-size: 36px; letter-spacing: -1px; }
  body.theme-dental .fl3-big span { font-size: 13px; }
  body.theme-dental .fl3-tk-bot { padding: 10px 14px 12px; gap: 6px; }
  body.theme-dental .fl3-code { padding: 6px 10px; font-size: 18px; }
  body.theme-dental .fl3-acts .fl3-cta { display: none; }
  body.theme-dental .fl3-acts:not(:has(.fl3-cta2)) { display: none; }
  body.theme-dental .fl3-cta2 { height: 36px; font-size: 13px; font-weight: var(--ds-fw-600); }
  body.theme-dental .fl3-ti { font-size: 20px; font-weight: var(--ds-fw-700); }

  /* ---------- 12. NÚT NỔI (Trợ lý AI, Lên đầu trang, Ghi chú/Chat nội bộ): xếp THÀNH CỘT ngay trên thanh dính/thanh dưới, không che nút chính ----------
     --pm-bar-h = chiều cao thanh dính nằm TRÊN .mnav của trang hiện tại (0 nếu không có); --m-fab-b = mép dưới của nút nổi thấp nhất.
     Trang có thanh đặt hẹn (bk3) ẩn .mnav, thanh nằm sát đáy → dùng --bk3-bar-h. Nút 40px, cách mép phải 10px, cách nhau 8px. */
  body.theme-dental { --pm-bar-h: 0px; --m-fab-b: calc(var(--pm-nav) + var(--pm-bar-h) + 10px); }
  body.theme-dental:has(.pm-bar) { --pm-bar-h: 44px; }
  body.theme-dental:has(.td3-detail .jhead .acts > .btn), body.theme-dental:has(.ev-end), body.theme-dental:has(.stk-bar) { --pm-bar-h: 56px; }
  body.theme-dental:has(.bk3-stick > .bk3) { --m-fab-b: calc(var(--bk3-bar-h, 64px) + 10px); }
  body.theme-dental .to-top { right: 10px; bottom: var(--m-fab-b); width: 40px; height: 40px; font-size: 17px; }
  body.theme-dental .ast-fab { right: 10px; bottom: calc(var(--m-fab-b) + 48px); width: 40px; height: 40px; padding: 0; }
  body.theme-dental .ast-fab .ast-ic { width: 34px; height: 34px; font-size: 18px; }
  body.theme-dental .dk-fab { right: 10px; width: 40px; height: 40px; min-width: 40px; bottom: calc(var(--m-fab-b) + 48px + var(--slot, 1) * 48px); }
  body.theme-dental .dk-fab > i { width: 34px; height: 34px; font-size: 18px; }
  body.theme-dental .cb-fab { right: 10px; bottom: calc(var(--m-fab-b) + 96px); }
  /* tự ẩn khi bàn phím mở (class html.kb-open do p-m-pages.js gắn) hoặc khi tờ trượt / hộp thoại / menu / tìm đang mở */
  html.kb-open :is(.ast-fab, .dk-fab, .to-top, .cb-fab),
  html:has(.bk3-stick.is-open) :is(.ast-fab, .dk-fab, .to-top, .cb-fab),
  html:has(dialog[open]) :is(.ast-fab, .dk-fab, .to-top, .cb-fab) { display: none !important; }
  html.kb-open .stk-bar, html.kb-open .pm-bar { display: none; }

  /* ---------- 13. TẢI APP CHÂN TRANG: mỗi dòng ≤ 56px — [icon 32 | tên + 1 dòng mô tả | 2 nút cửa hàng NẰM NGANG 28px] ---------- */
  .v3f-apps .app { padding: 6px 10px; min-height: 0; }
  .v3f-apps .tx { gap: 0; }
  .v3f-apps .tx small { -webkit-line-clamp: 1; line-height: 1.3; }
  .v3f-apps .st { display: flex; flex-direction: row; gap: 6px; width: auto; }
  .v3f .store { flex: none; width: 38px; padding: 0; }
  .v3f .store span { display: none; }
  .v3f .store i { font-size: 17px; }

  /* ---------- 10. CHỐNG TRÀN chung cho trang còn lại ---------- */
  body.theme-dental main :is(table) { max-width: 100%; }
  body.theme-dental main :is(pre, code) { white-space: pre-wrap; word-break: break-word; }
}
