/* Lập lá số bát tự (/lap-la-so-bat-tu/, khoá 'battu') — 16/10/2026. Nạp sau hoptuoi.css + kethon.css + tuvi.css + chiemtinh.css
   (khung nhập, thẻ dính, nhãn Thuận / Bình ổn / Cần giữ, chip thông tin dùng chung). Màu chỉ lấy từ biến cute.css; hành dùng mực --boi-hanh-*. */

.bt-page { --bt-paper: color-mix(in srgb, var(--boi-butter) 26%, var(--theme-bg-elevated)); --bt-son: var(--theme-gold-text); --bt-rule: color-mix(in srgb, var(--theme-gold-text) 30%, transparent); }
:root:not([data-theme="light"]) .bt-page { --bt-paper: color-mix(in srgb, var(--boi-butter) 5%, var(--theme-bg-elevated)); --bt-rule: color-mix(in srgb, var(--theme-gold-text) 40%, transparent); }
.bt-tool-head { background: linear-gradient(115deg, color-mix(in srgb, var(--boi-butter) 80%, var(--theme-bg-elevated)), color-mix(in srgb, var(--boi-apricot) 60%, var(--theme-bg-elevated)) 55%, color-mix(in srgb, var(--boi-mint) 55%, var(--theme-bg-elevated))); }
:root:not([data-theme="light"]) .bt-tool-head { background: linear-gradient(115deg, var(--boi-butter), var(--boi-apricot) 55%, var(--boi-mint)); }

/* ---------- Form ---------- */
.bt-hrow { grid-template-columns: 1fr 1fr; max-width: 360px; }
.bt-adv-wide { grid-column: 1 / -1; }
#btTygWrap[hidden], #btNhuanWrap[hidden] { display: none; }

/* ---------- Khung lá số ---------- */
.bt-chart-sec { background: var(--bt-paper); border: 4px double var(--bt-son); }
.bt-po { display: grid; gap: 16px; }
.bt-po-h { margin: 0; font: 900 1.35rem/1.3 var(--boi-font-head); color: var(--theme-text-strong); text-align: center; }
.bt-who { justify-content: center; margin: 0; }
.bt-who li span { font-weight: 600; color: var(--theme-text-soft); }

.bt-board-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.bt-board { width: 100%; min-width: 560px; margin: 0; border-collapse: separate; border-spacing: 0; border: 1.5px solid var(--bt-son); border-radius: 18px; overflow: hidden; background: var(--theme-bg-elevated); table-layout: fixed; }
.bt-board th, .bt-board td { padding: 10px 8px; border: 0; border-bottom: 1px dashed var(--bt-rule); text-align: center; vertical-align: middle; line-height: 1.4; background: none; }
.bt-board tbody tr:last-child > * { border-bottom: 0; }
.bt-board thead th { padding: 12px 8px; font: 900 .82rem/1.25 var(--boi-font-head); letter-spacing: .06em; text-transform: uppercase; color: var(--bt-son); border-bottom: 1.5px solid var(--bt-son); }
.bt-board thead th small { display: block; margin-top: 2px; font-size: .7rem; letter-spacing: .02em; text-transform: none; color: var(--theme-text-soft); }
.bt-board thead th:first-child, .bt-board tbody th { width: 112px; }
.bt-board tbody th { text-align: left; padding-left: 14px; font: 800 .82rem/1.3 var(--boi-font-body); color: var(--theme-text-soft); }
.bt-board td.is-dm, .bt-board th.is-dm { background: color-mix(in srgb, var(--boi-pink) 34%, transparent); }
:root:not([data-theme="light"]) .bt-board td.is-dm, :root:not([data-theme="light"]) .bt-board th.is-dm { background: color-mix(in srgb, var(--boi-pink) 8%, transparent); }
.bt-board td.is-miss { color: var(--theme-text-faint); font-size: .85rem; }
.bt-board td small { display: block; margin-top: 2px; font-size: .74rem; font-weight: 700; color: var(--theme-text-soft); }
.bt-r-tt td { font-weight: 800; color: var(--theme-text-strong); font-size: .92rem; }
.bt-g { display: block; font: 900 2rem/1.1 var(--boi-font-head); }
.bt-r-can td, .bt-r-chi td { padding-top: 12px; padding-bottom: 12px; }
.bt-tang, .bt-sat { list-style: none; margin: 0; padding: 0; display: grid; gap: 3px; }
.bt-tang li { margin: 0; font-weight: 800; font-size: .95rem; color: var(--theme-text-strong); }
.bt-tang li small { display: inline; margin: 0; font-size: .74rem; }
.bt-tang li.is-sub { opacity: .82; font-size: .88rem; }
.bt-r-na td { font-weight: 700; font-size: .9rem; color: var(--theme-text-strong); }
.bt-r-ts td { font-weight: 700; font-size: .9rem; color: var(--theme-text-secondary); }
.bt-sat li { margin: 0; font-size: .8rem; font-weight: 700; color: var(--theme-text-secondary); line-height: 1.35; }
.bt-none { color: var(--theme-text-faint); }

.bt-facts { margin: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.bt-facts > div { margin: 0; padding: 10px 14px; border-radius: 14px; background: var(--theme-bg-elevated); border: 1px solid var(--theme-border); }
.bt-facts dt { margin: 0; font-size: .74rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--theme-text-soft); }
.bt-facts dd { margin: 2px 0 0; font-weight: 800; color: var(--theme-text-strong); }
.bt-act { justify-content: center; margin-top: 16px; }

/* ---------- Thẻ lời giải ---------- */
.bt-panel { display: grid; gap: 14px; }
.bt-card { margin: 0; padding: 20px 22px; border-radius: var(--boi-r-lg, 24px); background: var(--theme-bg-elevated); border: 1px solid var(--theme-border); box-shadow: var(--boi-card-shadow); min-width: 0; }
.bt-card > h3 { margin: 0 0 10px; font: 900 1.15rem/1.35 var(--boi-font-head); color: var(--theme-text-strong); }
.bt-card > h3 small { font-size: .9rem; font-weight: 800; color: var(--theme-text-soft); }
.bt-card p { margin: 0 0 10px; line-height: 1.7; color: var(--theme-text-body); }
.bt-card p:last-child { margin-bottom: 0; }
.bt-card h4 { margin: 0 0 4px; font: 900 1rem/1.35 var(--boi-font-head); color: var(--theme-text-strong); }
.bt-2 { display: grid; gap: 14px; }
@media (min-width: 900px) { .bt-2 { grid-template-columns: 1fr 1fr; } }
.bt-k { margin: 0 0 6px !important; font-size: .76rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; color: var(--theme-gold-text) !important; }
.bt-fine { font-size: .86rem; color: var(--theme-text-soft) !important; }
.bt-tip { padding: 10px 14px; border-radius: 14px; background: color-mix(in srgb, var(--boi-mint) 40%, var(--theme-bg-elevated)); color: var(--theme-text-strong) !important; }
:root:not([data-theme="light"]) .bt-tip { background: color-mix(in srgb, var(--boi-mint) 10%, var(--theme-bg-elevated)); }
.bt-dl { margin: 0 0 10px; display: grid; gap: 8px; }
.bt-dl > div { margin: 0; }
.bt-dl dt { margin: 0; font-weight: 900; color: var(--theme-text-strong); }
.bt-dl dt small { font-weight: 700; color: var(--theme-text-soft); }
.bt-dl dd { margin: 2px 0 0; line-height: 1.65; color: var(--theme-text-body); }
.bt-ticks { margin: 0 0 10px; padding-left: 1.2em; }
.bt-ticks li { margin: 0 0 4px; line-height: 1.6; color: var(--theme-text-body); }
.bt-notes { margin: 0; padding: 14px 18px 14px 34px; border-radius: 18px; background: color-mix(in srgb, var(--boi-sky) 40%, var(--theme-bg-elevated)); border: 1px solid var(--theme-border); }
:root:not([data-theme="light"]) .bt-notes { background: color-mix(in srgb, var(--boi-sky) 8%, var(--theme-bg-elevated)); }
.bt-notes li { margin: 0 0 4px; line-height: 1.6; color: var(--theme-text-strong); }
.bt-notes li:last-child { margin-bottom: 0; }
.bt-link { padding: 0; border: 0; background: none; cursor: pointer; font: 800 .95rem/1.4 var(--boi-font-body); color: var(--theme-gold-text); text-decoration: underline; text-underline-offset: 3px; }
.bt-link:focus-visible { outline: 3px solid var(--theme-gold-text); outline-offset: 2px; border-radius: 4px; }

.bt-dm h3 { display: flex; align-items: center; gap: 12px; }
.bt-dm-g { display: inline-grid; place-items: center; min-width: 64px; height: 64px; padding: 0 8px; border-radius: 20px; font: 900 1.6rem/1 var(--boi-font-head); background: var(--bt-paper); border: 2px solid currentColor; }

.bt-gauge { margin: 4px 0 12px; }
.bt-gauge-bar { position: relative; display: flex; height: 12px; border-radius: 999px; overflow: visible; }
.bt-gauge-z { display: block; height: 100%; }
.bt-gauge-z.is-n { background: color-mix(in srgb, var(--boi-sky) 85%, var(--theme-bg-elevated)); border-radius: 999px 0 0 999px; }
.bt-gauge-z.is-c { background: color-mix(in srgb, var(--boi-mint) 90%, var(--theme-bg-elevated)); }
.bt-gauge-z.is-v { background: color-mix(in srgb, var(--boi-peach) 85%, var(--theme-bg-elevated)); border-radius: 0 999px 999px 0; }
.bt-gauge-bar i { position: absolute; top: 50%; width: 20px; height: 20px; margin-left: -10px; transform: translateY(-50%); border-radius: 50%; background: var(--theme-gold-text); border: 3px solid var(--theme-bg-elevated); box-shadow: 0 2px 6px var(--theme-shadow, rgba(0,0,0,.2)); }
.bt-gauge-l { display: flex; justify-content: space-between; margin-top: 6px; font-size: .76rem; font-weight: 800; color: var(--theme-text-soft); }

.bt-topic-seg { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); margin: 0 0 14px; }
.bt-topic-l { margin: 0; display: grid; gap: 12px; }
@media (min-width: 900px) { .bt-topic-l { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); } }
.bt-topic-l > div { margin: 0; padding: 14px 16px; border-radius: 16px; background: var(--bt-paper); }
.bt-topic-l dt { margin: 0 0 4px; font-weight: 900; color: var(--theme-text-strong); }
.bt-topic-l dd { margin: 0; line-height: 1.65; color: var(--theme-text-body); }

/* Ngũ hành */
.bt-dot { display: inline-block; width: 10px; height: 10px; margin-right: 8px; border-radius: 50%; background: currentColor; vertical-align: middle; }
.bt-nh th, .bt-nh td { vertical-align: middle; }
.bt-nh td:nth-child(2), .bt-nh td:nth-child(3) { text-align: center; font-weight: 800; }
.bt-nh tr.is-khuyet th, .bt-nh tr.is-an th { color: var(--theme-text-strong); }
.bt-flag { display: inline-block; margin-left: 6px; padding: 0 8px; border-radius: 999px; font-size: .72rem; font-weight: 900; color: var(--boi-sticker-ink); background: color-mix(in srgb, var(--boi-butter) 90%, var(--theme-bg-elevated)); }
tr.is-khuyet .bt-flag { background: color-mix(in srgb, var(--boi-pink) 90%, var(--theme-bg-elevated)); }
.bt-bar-c { display: flex; align-items: center; gap: 10px; min-width: 170px; }
.bt-bar { flex: 1 1 auto; height: 10px; border-radius: 999px; background: var(--theme-surface-2, rgba(0,0,0,.06)); overflow: hidden; }
.bt-bar i { display: block; height: 100%; border-radius: 999px; }
.bt-bar i.is-moc { background: var(--boi-hanh-moc); } .bt-bar i.is-hoa { background: var(--boi-hanh-hoa); } .bt-bar i.is-tho { background: var(--boi-hanh-tho); }
.bt-bar i.is-kim { background: var(--boi-hanh-kim); } .bt-bar i.is-thuy { background: var(--boi-hanh-thuy); }
.bt-bar-c b { min-width: 3em; text-align: right; color: var(--theme-text-strong); }
.bt-hps { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 12px; }
.bt-hp { display: inline-flex; align-items: center; padding: 6px 14px 6px 10px; border-radius: 999px; font-weight: 900; color: var(--boi-sticker-ink); }
.bt-hp .bt-dot { margin-right: 6px; }
.bt-hp::after { margin-left: 6px; font-size: .74rem; font-weight: 800; opacity: .8; }
.bt-hp.is-dung { background: color-mix(in srgb, var(--boi-mint) 90%, var(--theme-bg-elevated)); } .bt-hp.is-dung::after { content: "dụng thần"; }
.bt-hp.is-hy { background: color-mix(in srgb, var(--boi-sky) 90%, var(--theme-bg-elevated)); } .bt-hp.is-hy::after { content: "đỡ thêm"; }
.bt-hp.is-ky { background: color-mix(in srgb, var(--boi-pink) 90%, var(--theme-bg-elevated)); } .bt-hp.is-ky::after { content: "nên bớt"; }
.bt-hp.is-dh { background: color-mix(in srgb, var(--boi-butter) 90%, var(--theme-bg-elevated)); } .bt-hp.is-dh::after { content: "điều hòa"; }
.bt-hp .bt-dot { color: var(--boi-sticker-ink); }

/* Thập thần */
.bt-ttx { padding: 12px 0; border-bottom: 1px dashed var(--theme-border); }
.bt-ttx:first-of-type { padding-top: 0; }
.bt-ttx + .bt-k { margin-top: 14px !important; }
.bt-ttgrid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
.bt-ttg { padding: 10px 10px 6px; border-radius: 16px; background: var(--bt-paper); }
.bt-ttg-h { margin: 0 0 6px !important; font-size: .74rem; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; color: var(--theme-text-soft) !important; text-align: center; }
.bt-ttc { display: flex; justify-content: space-between; gap: 6px; margin: 0 0 4px !important; font-size: .88rem; font-weight: 800; color: var(--theme-text-strong) !important; }
.bt-ttc.is-0 { opacity: .55; }
.bt-ttc b { color: var(--theme-gold-text); }
.bt-ttn { margin-left: 4px; font-weight: 800; color: var(--theme-gold-text); }
@media (max-width: 760px) { .bt-ttgrid { grid-template-columns: 1fr 1fr; } }

/* Đại vận */
.bt-dv { list-style: none; margin: 12px 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(104px, 1fr)); gap: 8px; }
.bt-dv li { margin: 0; padding: 10px 6px; border-radius: 16px; text-align: center; background: var(--bt-paper); border: 2px solid transparent; display: flex; flex-direction: column; align-items: center; gap: 4px; }
.bt-dv li.is-now { border-color: var(--bt-son); }
.bt-dv li.is-thuan { box-shadow: inset 0 -4px 0 color-mix(in srgb, var(--boi-mint) 95%, transparent); }
.bt-dv li.is-giu { box-shadow: inset 0 -4px 0 color-mix(in srgb, var(--boi-pink) 95%, transparent); }
.bt-dv li.is-binh { box-shadow: inset 0 -4px 0 color-mix(in srgb, var(--boi-butter) 95%, transparent); }
.bt-dv p { margin: 0 !important; }
.bt-dv-a { font-weight: 900; font-size: .86rem; color: var(--theme-text-strong) !important; line-height: 1.3 !important; }
.bt-dv-a small { display: block; font-size: .72rem; font-weight: 700; color: var(--theme-text-soft); }
.bt-dv-n { display: flex; gap: 2px; }
.bt-dv-n .bt-g { display: inline; font-size: 1.15rem; }
.bt-dv-t { font-size: .76rem; font-weight: 800; color: var(--theme-text-secondary) !important; line-height: 1.3 !important; }
.bt-dv-now { font-size: .7rem; font-weight: 900; color: var(--bt-son) !important; }
.bt-dv-cur { padding: 12px 14px; border-radius: 14px; background: var(--bt-paper); }
.bt-nx h3 { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.bt-ln tr.is-now > * { background: color-mix(in srgb, var(--boi-butter) 55%, var(--theme-bg-elevated)); font-weight: 800; }
:root:not([data-theme="light"]) .bt-ln tr.is-now > * { background: color-mix(in srgb, var(--boi-butter) 10%, var(--theme-bg-elevated)); }
.bt-ln td, .bt-ln th { white-space: nowrap; }
.bt-ln td:last-child { white-space: normal; }

/* Cách tính */
.bt-steps { margin: 12px 0 0; padding: 0; list-style: none; counter-reset: bt; display: grid; gap: 10px; }
.bt-steps li { position: relative; margin: 0; padding: 12px 14px 12px 52px; border-radius: 16px; background: var(--bt-paper); counter-increment: bt; }
.bt-steps li::before { content: counter(bt); position: absolute; left: 14px; top: 12px; width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; font-weight: 900; font-size: .85rem; color: var(--boi-sticker-ink); background: color-mix(in srgb, var(--boi-apricot) 95%, var(--theme-bg-elevated)); }
.bt-ref { margin: 0; text-align: center; }

/* ---------- Ảnh tải về ---------- */
.bt-shot { position: absolute; left: -12000px; top: 0; width: 980px; padding: 24px 28px 18px; background: var(--bt-paper); border: 4px double var(--bt-son); border-radius: 28px; }
.bt-shot .bt-board { min-width: 0; }
.bt-shot .bt-po-h { font-size: 26px; }

/* ---------- Điện thoại ---------- */
@media (max-width: 768px) {
    .bt-card { padding: 16px; border-radius: 20px; }
    .bt-po-h { font-size: 1.15rem; }
    .bt-who li { font-size: .78rem; }
    .bt-board { min-width: 0; }
    .bt-board thead th:first-child, .bt-board tbody th { width: 62px; }
    .bt-board th, .bt-board td { padding: 8px 3px; }
    .bt-board tbody th { padding-left: 6px; font-size: .68rem; }
    .bt-board thead th { font-size: .68rem; letter-spacing: .02em; }
    .bt-board thead th small { font-size: .6rem; }
    .bt-g { font-size: 1.12rem; white-space: nowrap; }
    .bt-dv { grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); }
    .bt-dv-n .bt-g { font-size: 1rem; }
    .bt-board td small { font-size: .64rem; }
    .bt-tang li { font-size: .82rem; }
    .bt-tang li small { display: block; }
    .bt-r-na td, .bt-r-ts td, .bt-r-tt td { font-size: .76rem; }
    .bt-sat li { font-size: .7rem; }
    .bt-facts { grid-template-columns: 1fr 1fr; }
    .bt-bar-c { min-width: 120px; }
}

/* ---------- Tổng quan miễn phí + đọc sâu (16/10/2026, docs/55) ---------- */
.bt-h4 { margin: 16px 0 8px; font: 900 1rem/1.35 var(--boi-font-head); color: var(--theme-text-strong); }
.bt-ttl { margin: 0 0 12px; padding-left: 1.2em; }
.bt-ttl li { margin: 0 0 6px; line-height: 1.6; color: var(--theme-text-body); }
.bt-ttl b { color: var(--theme-text-strong); }
.bt-pv { background: linear-gradient(160deg, color-mix(in srgb, var(--boi-apricot) 45%, var(--theme-bg-elevated)), color-mix(in srgb, var(--boi-pink) 28%, var(--theme-bg-elevated))); }
:root:not([data-theme="light"]) .bt-pv { background: linear-gradient(160deg, color-mix(in srgb, var(--boi-apricot) 10%, var(--theme-bg-elevated)), color-mix(in srgb, var(--boi-pink) 8%, var(--theme-bg-elevated))); }
.bt-pv-l { list-style: none; margin: 12px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 8px; }
.bt-pv-l li { margin: 0; }
.bt-pv-b { width: 100%; min-height: 48px; padding: 10px 14px; border-radius: 16px; border: 1.5px solid var(--theme-border-strong); background: var(--theme-bg-elevated); cursor: pointer; font: 800 .95rem/1.3 var(--boi-font-body); color: var(--theme-text-strong); text-align: left; }
.bt-pv-b:hover { border-color: var(--theme-gold-text); }
.bt-pv-b:focus-visible { outline: 3px solid var(--theme-gold-text); outline-offset: 2px; }
.bt-year { max-width: 220px; margin: 10px 0 4px; }
.bt-panel-sau { display: block; }

/* ---------- Thương hiệu trong lá số (16/10/2026): logo trên đầu, đường dẫn cuối khung — có cả trên trang và ảnh tải về ---------- */
.bt-brand { display: flex; justify-content: center; margin: 0 0 -6px; }
.bt-brand img { display: block; width: auto; height: 44px; max-width: 100%; }
.bt-brand .is-dark { display: none; }
:root:not([data-theme="light"]) .bt-brand .is-light { display: none; }
:root:not([data-theme="light"]) .bt-brand .is-dark { display: block; }
.bt-po-url { margin: 0; text-align: center; font-size: .92rem; font-weight: 700; color: var(--theme-text-soft); }
.bt-po-url b { color: var(--theme-gold-text); font-weight: 900; }
.bt-shot .bt-brand img { height: 56px; }
.bt-shot .bt-po-url { font-size: 17px; }
@media (max-width: 768px) { .bt-brand img { height: 34px; } .bt-po-url { font-size: .8rem; } }

/* ---------- Câu mời riêng theo lá số + lời mời sau khi đọc bài (16/10/2026, docs/56) ---------- */
.bt-pv-b b { display: block; }
.bt-pv-b small { display: block; margin-top: 4px; font-size: .8rem; font-weight: 700; line-height: 1.45; color: var(--theme-text-soft); }
.bt-next { margin: 22px 0 6px; padding: 18px 20px; border-radius: 20px; background: linear-gradient(160deg, color-mix(in srgb, var(--boi-apricot) 45%, var(--theme-bg-elevated)), color-mix(in srgb, var(--boi-pink) 28%, var(--theme-bg-elevated))); }
:root:not([data-theme="light"]) .bt-next { background: linear-gradient(160deg, color-mix(in srgb, var(--boi-apricot) 10%, var(--theme-bg-elevated)), color-mix(in srgb, var(--boi-pink) 8%, var(--theme-bg-elevated))); }
.bt-next .ct-rg-h { margin-top: 0; }
.bt-next-full { margin: 0 0 12px; }
.bt-next-full p { margin: 0 0 6px; }

/* ---------- Thẻ mời có giá rõ (16/10/2026, chủ site: "up sale làm UX/UI rõ giá") ---------- */
.bt-offers { display: flex; flex-wrap: wrap; gap: 10px; margin: 12px 0 0; }
.bt-offers > * { flex: 1 1 240px; }
.bt-offer { display: flex; flex-direction: column; gap: 6px; width: 100%; min-height: 48px; padding: 14px 16px; border-radius: 18px; border: 1.5px solid var(--theme-border-strong); background: var(--theme-bg-elevated); cursor: pointer; font: 700 .95rem/1.4 var(--boi-font-body); color: var(--theme-text-body); text-align: left; text-decoration: none; box-shadow: var(--boi-card-shadow); }
.bt-offer:hover { border-color: var(--theme-gold-text); }
.bt-offer:focus-visible { outline: 3px solid var(--theme-gold-text); outline-offset: 2px; }
.bt-offers > .bt-offer.is-main { flex-basis: 100%; }
.bt-offer.is-main { border-width: 2px; border-color: var(--theme-gold-text); background: color-mix(in srgb, var(--boi-butter) 30%, var(--theme-bg-elevated)); }
:root:not([data-theme="light"]) .bt-offer.is-main { background: color-mix(in srgb, var(--boi-butter) 7%, var(--theme-bg-elevated)); }
.bt-offer-top { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.bt-offer-n { font: 900 1rem/1.3 var(--boi-font-head); color: var(--theme-text-strong); }
.bt-offer-p { display: inline-flex; align-items: baseline; gap: 6px; white-space: nowrap; }
.bt-offer-p b { font: 900 1.08rem/1.2 var(--boi-font-head); color: var(--theme-gold-text); }
.bt-offer-p s, .bt-offer-p small { font-size: .8rem; font-weight: 700; color: var(--theme-text-soft); }
.bt-offer-own { padding: 2px 10px; border-radius: 999px; font-size: .78rem; font-weight: 900; color: var(--boi-sticker-ink); background: var(--boi-mint); }
.bt-offer-t { font-size: .86rem; line-height: 1.5; color: var(--theme-text-soft); }
.bt-offer-go { margin-top: auto; font-weight: 900; font-size: .9rem; color: var(--theme-gold-text); }
.bt-offer-go::after { content: " ›"; }
.bt-offer.is-own { border-style: dashed; }
.bt-offer-mini { display: inline-flex; align-items: baseline; flex-wrap: wrap; gap: 4px 10px; padding: 8px 14px; min-height: 44px; border-radius: 999px; border: 1.5px solid var(--theme-border-strong); background: var(--theme-bg-elevated); cursor: pointer; font: 800 .9rem/1.4 var(--boi-font-body); color: var(--theme-text-strong); text-align: left; text-decoration: none; }
.bt-offer-mini:hover { border-color: var(--theme-gold-text); }
.bt-offer-mini:focus-visible { outline: 3px solid var(--theme-gold-text); outline-offset: 2px; }
.bt-offer-mini b { color: var(--theme-gold-text); font-weight: 900; white-space: nowrap; }
.bt-offer-mini.is-own { border-style: dashed; color: var(--theme-gold-text); }

/* ---------- Xem hợp hai lá số (16/10/2026, docs/56) ---------- */
.bt-hopf { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 16px; margin: 12px 0 0; }
.bt-hopf-row { margin: 0; padding: 0; border: 0; min-width: 0; }
.bt-hopf-wide { grid-column: 1 / -1; }
.bt-hopf .bt-hrow { grid-column: 1 / -1; }
.bt-hopr { margin: 16px 0 0; }
.bt-hop-sum { margin: 0 0 10px; padding: 12px 14px; border-radius: 16px; background: var(--bt-paper); line-height: 1.6; }
.bt-hop-l { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 10px; }
.bt-hop-l li { margin: 0; padding: 12px 14px; border-radius: 16px; border: 1.5px solid var(--theme-border); background: var(--theme-bg-elevated); }
.bt-hop-l li p { margin: 0; line-height: 1.6; }
.bt-hop-h { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; margin-bottom: 4px !important; }
.bt-hop-buy { margin: 16px 0 0; padding: 16px 18px; border-radius: 20px; background: linear-gradient(160deg, color-mix(in srgb, var(--boi-apricot) 45%, var(--theme-bg-elevated)), color-mix(in srgb, var(--boi-pink) 28%, var(--theme-bg-elevated))); }
:root:not([data-theme="light"]) .bt-hop-buy { background: linear-gradient(160deg, color-mix(in srgb, var(--boi-apricot) 10%, var(--theme-bg-elevated)), color-mix(in srgb, var(--boi-pink) 8%, var(--theme-bg-elevated))); }
.bt-hop-buy .ct-buy-go { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.bt-hop-buy .ct-buy-go s { color: var(--theme-text-soft); font-weight: 700; }
.bt-remind-em { display: flex; flex: 1 1 220px; }
.bt-remind-em .tv-remind-in { width: 100%; }
.bt-remind .tv-remind-ok { order: 0; }
.bt-remind .tv-remind-f .ht-btn { order: 3; }
.bt-remind { margin-top: 14px; }

/* ---------- Mã QR trong ảnh lá số + ảnh để đăng (16/10/2026, docs/56) ---------- */
.bt-po-url { display: flex; align-items: center; justify-content: center; gap: 14px; }
.bt-qr { display: block; flex: 0 0 auto; border-radius: 10px; background: #fff; padding: 4px; }
.bt-share { position: absolute; left: -12000px; top: 0; width: 540px; height: 675px; box-sizing: border-box; padding: 26px 28px 22px; background: var(--bt-paper); border: 4px double var(--bt-son); border-radius: 30px; overflow: hidden; }
.bt-sh-in { display: flex; flex-direction: column; align-items: center; height: 100%; text-align: center; }
.bt-share .bt-brand { margin: 0 0 6px; }
.bt-share .bt-brand img { height: 46px; }
.bt-sh-k { margin: 0; font: 900 15px/1.3 var(--boi-font-head); letter-spacing: .06em; text-transform: uppercase; color: var(--theme-text-soft); }
.bt-sh-dm { margin: 8px 0 0; }
.bt-sh-dm .bt-dm-g { font-size: 52px; line-height: 1.1; }
.bt-sh-t { margin: 4px 0 14px; font: 900 21px/1.3 var(--boi-font-head); color: var(--theme-text-strong); }
.bt-sh-p { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; width: 100%; }
.bt-sh-col { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 10px 4px; border-radius: 16px; background: var(--theme-bg-elevated); border: 1.5px solid var(--theme-border); }
.bt-sh-col.is-dm { border-color: var(--theme-gold-text); border-width: 2px; }
.bt-sh-col .bt-g { font-size: 22px; }
.bt-sh-l { font-size: 12px; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; color: var(--theme-text-soft); }
.bt-sh-f { list-style: none; width: 100%; margin: 14px 0 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.bt-sh-f li { margin: 0; padding: 8px 10px; border-radius: 14px; background: var(--theme-bg-elevated); display: flex; flex-direction: column; gap: 2px; }
.bt-sh-f span { font-size: 12px; font-weight: 800; color: var(--theme-text-soft); }
.bt-sh-f b { font: 900 16px/1.3 var(--boi-font-head); color: var(--theme-text-strong); }
.bt-sh-foot { margin: auto 0 0; padding-top: 14px; display: flex; align-items: center; gap: 14px; text-align: left; font-size: 14px; font-weight: 700; color: var(--theme-text-soft); }
.bt-sh-foot b { display: block; font-size: 16px; font-weight: 900; color: var(--theme-gold-text); }

@media (max-width: 768px) {
    .bt-offers > * { flex-basis: 100%; }
    .bt-offer { padding: 12px 14px; }
    .bt-hopf { grid-template-columns: 1fr; }
    .bt-offer-mini { border-radius: 16px; }
}
.bt-sh-nh-h { margin: 18px 0 8px; font-size: 13px; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; color: var(--theme-text-soft); }
.bt-sh-nh { display: flex; width: 100%; height: 16px; margin: 0; border-radius: 999px; overflow: hidden; background: var(--theme-bg-elevated); }
.bt-sh-nh i { display: block; height: 100%; }
.bt-sh-nh i.is-moc, .bt-sw.is-moc { background: var(--boi-hanh-moc); } .bt-sh-nh i.is-hoa, .bt-sw.is-hoa { background: var(--boi-hanh-hoa); } .bt-sh-nh i.is-tho, .bt-sw.is-tho { background: var(--boi-hanh-tho); }
.bt-sh-nh i.is-kim, .bt-sw.is-kim { background: var(--boi-hanh-kim); } .bt-sh-nh i.is-thuy, .bt-sw.is-thuy { background: var(--boi-hanh-thuy); }
.bt-sh-nl { list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 14px; margin: 10px 0 0; padding: 0; font-size: 14px; font-weight: 700; color: var(--theme-text-body); }
.bt-sh-nl li { margin: 0; display: flex; align-items: center; gap: 5px; }
.bt-sh-nl b { color: var(--theme-text-strong); }
.bt-sw { display: inline-block; width: 11px; height: 11px; border-radius: 50%; }

/* ---------- Bước mua: email nhận link đọc lại (khách chưa đăng nhập) + bảng năm trong bài không gãy số (16/10/2026, docs/56 mục 7) ---------- */
.bt-mail { margin: 12px 0 4px; }
.bt-mail .tv-f-ctl { width: 100%; max-width: 420px; min-height: 44px; }
.bt-mail .ct-small { margin: 4px 0 0; }
.bt-yr-tbl tbody th[scope="row"], .bt-yr-tbl tbody td:nth-child(2) { white-space: nowrap; }
