/* =====================================================================
   THẦY PHONG VŨ – Giao diện ĐÔNG PHƯƠNG (phong cách Trung Hoa cổ phong)
   Phối màu: đỏ đậm (nền, sắc phụ) – vàng kim (chữ, viền, hoa văn).
   Nạp sau tpv-site.css + CSS từng công cụ, chỉ khi body có class .tpv-dong
   (Tử Vi, Bát Tự, Kinh Dịch, Lịch âm, Xem ngày). Xem includes/dong-phuong/.
   Mọi selector đều bắt đầu bằng body.tpv-dong nên không ảnh hưởng trang khác.
   ===================================================================== */

/* ---------------------------------------------------------------------
   1. BẢNG MÀU – đè biến của tpv-site.css (--pg-*) và tsh-ui.css (--tpv-*)
   --------------------------------------------------------------------- */
body.tpv-dong, body.tpv-dong .tpv-tsh {
  /* nền đỏ đậm thay nền tím */
  --pg-bg0: #0e0303;  /* 2026-09-16: tối thêm một chút cho dễ đọc (cũ #140404 / #2e0909) */
  --pg-bg1: #220707;
  --pg-bg2: #4f1010;
  --pg-card: rgba(255, 214, 170, 0.05);
  --pg-card-2: rgba(255, 214, 170, 0.085);
  --pg-line: rgba(232, 199, 125, 0.36);
  --pg-line-soft: rgba(232, 199, 125, 0.16);
  /* vàng kim giữ nguyên */
  --pg-gold: #e8c77d;
  --pg-gold-2: #f8e6b4;
  --pg-gold-deep: #b8932f;
  /* sắc phụ trước đây là tím → đổi sang cam san hô / hồng đào (cùng họ đỏ) */
  --pg-violet: #f0917a;
  --pg-violet-2: #f7c8b4;
  --pg-purple: #a8161e;
  --pg-text: #f7ecda;
  --pg-muted: #d6b5a3;
  --primary-color: #c8353a;
  --fs-color-primary: #c8353a;

  /* biến riêng của giao diện Đông phương */
  --dp-red: #a8161e;          /* đỏ son (ấn triện, điểm nhấn) */
  --dp-red-2: #c8353a;        /* đỏ tươi hơn (hover) */
  --dp-red-deep: #6b0b10;     /* đỏ sẫm */
  --dp-ink: rgba(22, 4, 4, 0.82);         /* nền "mực" thay rgba(10,6,32,…) */
  --dp-ink-soft: rgba(28, 6, 6, 0.55);    /* nền ô nhập, ô bảng */
  --dp-glow: rgba(200, 40, 48, 0.30);     /* quầng sáng đỏ thay quầng tím */
  --dp-on-gold: #3d0808;      /* chữ trên nền vàng */
  --dp-radius: 6px;           /* bo góc nhỏ, vuông vức kiểu cổ phong */
  --dp-serif-cjk: "Playfair Display", "Noto Serif CJK SC", "Songti SC", "SimSun", "PMingLiU", Georgia, serif;
  /* dải hồi văn 回 (16×12) lặp ngang */
  --dp-meander: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='12' viewBox='0 0 16 12'><rect x='3.5' y='1.5' width='9' height='9' fill='none' stroke='%23e8c77d' stroke-opacity='.8' stroke-width='1'/><rect x='6.5' y='4.5' width='3' height='3' fill='%23e8c77d' fill-opacity='.8'/><path d='M0 6h3.5M12.5 6H16' stroke='%23e8c77d' stroke-opacity='.5' stroke-width='1'/></svg>");
  /* góc hoa văn (28×28): hai nét chữ L + ô vuông đỏ son */
  --dp-corner: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'><path d='M1.5 32V1.5H32' fill='none' stroke='%23e8c77d' stroke-width='2.5'/><path d='M7.5 32V7.5H32' fill='none' stroke='%23e8c77d' stroke-opacity='.55' stroke-width='1.2'/><path d='M12 32V12H32' fill='none' stroke='%23e8c77d' stroke-opacity='.25' stroke-width='1'/><rect x='0.5' y='0.5' width='7' height='7' transform='rotate(45 4 4)' fill='%23a8161e' stroke='%23f8e6b4' stroke-width='1.2'/></svg>");
  /* vân mây (scallop) lặp ngang */
  --dp-cloud-top: radial-gradient(circle at 50% 0, rgba(232, 199, 125, 0.14) 0 7px, transparent 8px);
  --dp-cloud-bottom: radial-gradient(circle at 50% 100%, rgba(232, 199, 125, 0.14) 0 7px, transparent 8px);
}
body.tpv-dong .tpv-tsh {
  --tpv-bg0: #160404;
  --tpv-bg1: #330a0a;
  --tpv-bg2: #5a1212;
  --tpv-card: rgba(255, 214, 170, 0.05);
  --tpv-card-2: rgba(255, 214, 170, 0.09);
  --tpv-line: rgba(232, 199, 125, 0.4);
  --tpv-line-soft: rgba(232, 199, 125, 0.18);
  --tpv-violet: #f0917a;
  --tpv-violet-2: #f7c8b4;
  --tpv-text: #f9efe0;
  --tpv-muted: #d9b9a8;
  --tpv-radius: 8px;
}
body.tpv-dong .tpv-xnv-wrap { --xnv-normal: #d6b5a3; }

/* ---------------------------------------------------------------------
   2. NỀN TRANG, CHỮ, HEADER, FOOTER (các màu tím/navy viết cứng ở tpv-site.css)
   --------------------------------------------------------------------- */
body.tpv-dong #wrapper {
  background:
    radial-gradient(70% 40% at 15% 0%, rgba(200, 40, 48, 0.24), transparent 60%),
    radial-gradient(50% 35% at 90% 15%, rgba(232, 199, 125, 0.10), transparent 60%),
    radial-gradient(60% 40% at 50% 100%, rgba(168, 22, 30, 0.20), transparent 60%),
    linear-gradient(180deg, var(--pg-bg1) 0%, var(--pg-bg0) 45%, #120404 100%);
}
/* thay bầu trời sao bằng lưới cửa song (冰裂纹) mờ + vài điểm vàng */
body.tpv-dong #main::before {
  opacity: 1;
  background-image:
    radial-gradient(1.3px 1.3px at 14% 22%, rgba(232, 199, 125, 0.55) 60%, transparent 61%),
    radial-gradient(1.1px 1.1px at 72% 18%, rgba(232, 199, 125, 0.5) 60%, transparent 61%),
    radial-gradient(1.4px 1.4px at 40% 74%, rgba(232, 199, 125, 0.45) 60%, transparent 61%),
    radial-gradient(1.1px 1.1px at 88% 66%, rgba(232, 199, 125, 0.5) 60%, transparent 61%),
    /* lưới cửa song mờ hơn (cũ 0.045) để không cạnh tranh với chữ */
    repeating-linear-gradient(45deg, rgba(232, 199, 125, 0.022) 0 1px, transparent 1px 64px),
    repeating-linear-gradient(-45deg, rgba(232, 199, 125, 0.022) 0 1px, transparent 1px 64px);
  background-size: 900px 900px, 900px 900px, 900px 900px, 900px 900px, auto, auto;
}
body.tpv-dong ::selection { background: var(--pg-gold); color: var(--dp-on-gold); }
body.tpv-dong blockquote { color: var(--pg-violet-2); border-left-color: var(--dp-red); border-radius: 0 var(--dp-radius) var(--dp-radius) 0; }
body.tpv-dong code, body.tpv-dong pre { background: var(--dp-ink-soft); }
body.tpv-dong .badge-inner { background: var(--dp-ink); }

/* Header: nền đỏ mực, dải hồi văn dưới chân */
body.tpv-dong .header, body.tpv-dong .header-wrapper, body.tpv-dong .header-main, body.tpv-dong .header-bottom,
body.tpv-dong .header-bg-color, body.tpv-dong .header-bg-container, body.tpv-dong .stuck .header-main, body.tpv-dong .header.show-on-scroll {
  background-color: rgba(30, 6, 6, 0.95) !important;
}
body.tpv-dong .header-wrapper { border-bottom: 1px solid rgba(232, 199, 125, 0.55); box-shadow: 0 1px 0 rgba(168, 22, 30, 0.8), 0 10px 40px rgba(0, 0, 0, 0.5); }
body.tpv-dong .header-wrapper::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -13px; height: 12px; pointer-events: none;
  background: var(--dp-meander) center top / 16px 12px repeat-x; opacity: .55;
}
body.tpv-dong .header-wrapper.stuck::after { display: none; }
body.tpv-dong .nav-dropdown { background: rgba(28, 5, 5, 0.98) !important; border-radius: var(--dp-radius); }
body.tpv-dong .nav-dropdown-has-arrow .nav-dropdown:before { border-bottom-color: rgba(28, 5, 5, 0.98) !important; }
body.tpv-dong .nav-dropdown li a:hover { background: rgba(232, 199, 125, 0.12); }
body.tpv-dong .searchform .flex-col input[type="search"], body.tpv-dong .searchform input.search-field, body.tpv-dong .searchform-wrapper input, body.tpv-dong input[type="search"] {
  background: var(--dp-ink-soft) !important; border-radius: var(--dp-radius) 0 0 var(--dp-radius);
}
body.tpv-dong .searchform .ux-search-submit, body.tpv-dong .searchform .submit-button, body.tpv-dong .searchform button.icon { border-radius: 0 var(--dp-radius) var(--dp-radius) 0; }
body.tpv-dong .live-search-results, body.tpv-dong .autocomplete-suggestions { background: rgba(28, 5, 5, 0.98) !important; border-radius: var(--dp-radius); }
body.tpv-dong .autocomplete-suggestion:hover, body.tpv-dong .autocomplete-selected { background: rgba(232, 199, 125, 0.12) !important; }
body.tpv-dong .mobile-sidebar, body.tpv-dong .off-canvas-left .mfp-content, body.tpv-dong .off-canvas-right .mfp-content, body.tpv-dong .off-canvas-center .mfp-content,
body.tpv-dong .off-canvas:not(.off-canvas-center) .mfp-content, body.tpv-dong .off-canvas .mfp-content.mfp-with-anim {
  background: linear-gradient(180deg, #2e0909, #140404) !important;
}
body.tpv-dong .nav-sidebar li a:hover, body.tpv-dong .nav-vertical li.active > a { background: rgba(168, 22, 30, 0.25); }

/* Footer */
body.tpv-dong .footer-wrapper { background: #0e0303; border-top: 1px solid rgba(232, 199, 125, 0.5); position: relative; }
body.tpv-dong .footer-wrapper::before {
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 12px; pointer-events: none;
  background: var(--dp-meander) center top / 16px 12px repeat-x; opacity: .45;
}
body.tpv-dong .footer-widgets, body.tpv-dong .footer-widgets.dark, body.tpv-dong .footer-1, body.tpv-dong .footer-2, body.tpv-dong .footer-widgets .row.dark {
  background: linear-gradient(180deg, #1e0505 0%, #0e0303 100%) !important;
}
body.tpv-dong .absolute-footer, body.tpv-dong .absolute-footer.dark { background: #0e0303 !important; }
body.tpv-dong .back-to-top { border-radius: var(--dp-radius) !important; color: var(--dp-on-gold) !important; box-shadow: 0 0 0 1px var(--dp-red-deep), 0 0 0 2px rgba(232, 199, 125, 0.5), 0 8px 24px rgba(0, 0, 0, 0.45); }
body.tpv-dong .back-to-top i { color: var(--dp-on-gold) !important; }

/* ---------------------------------------------------------------------
   3. NÚT & Ô NHẬP – bảng vàng viền son, góc vuông vức
   --------------------------------------------------------------------- */
body.tpv-dong .button.primary, body.tpv-dong .button.alert, body.tpv-dong .button.secondary, body.tpv-dong .button.success,
body.tpv-dong .button:not(.is-outline):not(.is-link):not(.is-underline):not(.tpv-btn):not(.tpv-veil__skip):not(.plain):not(.icon),
body.tpv-dong input[type="submit"]:not(.tpv-btn), body.tpv-dong .wp-block-button__link, body.tpv-dong .wpcf7-submit {
  border-radius: var(--dp-radius) !important; color: var(--dp-on-gold) !important;
  box-shadow: 0 0 0 1px var(--dp-red-deep), 0 0 0 2px rgba(232, 199, 125, 0.55), 0 10px 30px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.5);
}
body.tpv-dong .button.primary:hover, body.tpv-dong .button.alert:hover, body.tpv-dong .button.secondary:hover, body.tpv-dong input[type="submit"]:not(.tpv-btn):hover, body.tpv-dong .wp-block-button__link:hover {
  color: var(--dp-red-deep) !important;
  box-shadow: 0 0 0 1px var(--dp-red-deep), 0 0 0 2px rgba(232, 199, 125, 0.8), 0 16px 40px rgba(232, 199, 125, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.6);
}
body.tpv-dong .button.is-outline { border-radius: var(--dp-radius) !important; background: rgba(168, 22, 30, 0.12) !important; }
body.tpv-dong .button.is-outline:hover { background: rgba(168, 22, 30, 0.35) !important; }

body.tpv-dong input[type="text"]:not(.tpv-input), body.tpv-dong input[type="email"]:not(.tpv-input), body.tpv-dong input[type="tel"]:not(.tpv-input), body.tpv-dong input[type="number"]:not(.tpv-input),
body.tpv-dong input[type="password"], body.tpv-dong input[type="url"], body.tpv-dong input[type="date"], body.tpv-dong select:not(.tpv-input), body.tpv-dong textarea,
body.tpv-dong .select2-container .select2-choice, body.tpv-dong .select2-container .select2-selection {
  background-color: var(--dp-ink-soft) !important; border-radius: var(--dp-radius); border-color: rgba(232, 199, 125, 0.28) !important;
}
body.tpv-dong input:not(.tpv-input):focus, body.tpv-dong select:not(.tpv-input):focus, body.tpv-dong textarea:focus { box-shadow: 0 0 0 3px rgba(168, 22, 30, 0.35), 0 0 0 4px rgba(232, 199, 125, 0.35) !important; }
body.tpv-dong input::placeholder, body.tpv-dong textarea::placeholder { color: rgba(214, 181, 163, 0.55) !important; }
body.tpv-dong .tpv-tsh .tpv-input { border-radius: var(--dp-radius); background: var(--dp-ink-soft); border-color: rgba(232, 199, 125, 0.28); }
body.tpv-dong .tpv-tsh .tpv-input:focus { background: rgba(28, 6, 6, 0.8); box-shadow: 0 0 0 3px rgba(168, 22, 30, 0.35), 0 0 0 4px rgba(232, 199, 125, 0.35); }
body.tpv-dong .tpv-tsh .tpv-input::placeholder { color: rgba(217, 185, 168, 0.5); }
body.tpv-dong input[type="checkbox"], body.tpv-dong input[type="radio"] { accent-color: var(--dp-red-2); }

body.tpv-dong .tpv-tsh .tpv-btn { border-radius: var(--dp-radius); }
body.tpv-dong .tpv-tsh .tpv-btn--primary {
  color: var(--dp-on-gold);
  box-shadow: 0 0 0 1px var(--dp-red-deep), 0 0 0 2px rgba(232, 199, 125, 0.55), 0 10px 30px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.5);
}
body.tpv-dong .tpv-tsh .tpv-btn--primary:hover { color: var(--dp-red-deep); box-shadow: 0 0 0 1px var(--dp-red-deep), 0 0 0 2px rgba(232, 199, 125, 0.85), 0 16px 40px rgba(232, 199, 125, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.6); }
body.tpv-dong .tpv-tsh .tpv-btn--ghost { background: rgba(168, 22, 30, 0.14); }
body.tpv-dong .tpv-tsh .tpv-btn--ghost:hover { background: rgba(168, 22, 30, 0.38); }
body.tpv-dong .tpv-xnv-btn, body.tpv-dong .tpv-la__btn { border-radius: var(--dp-radius); color: var(--dp-on-gold); box-shadow: 0 0 0 1px var(--dp-red-deep), 0 0 0 2px rgba(232, 199, 125, 0.5), 0 8px 22px rgba(0, 0, 0, 0.35); }
body.tpv-dong .tpv-xnv-btn:hover, body.tpv-dong .tpv-la__btn:hover { color: var(--dp-red-deep); }
body.tpv-dong .tpv-xnv-btn--ghost, body.tpv-dong .tpv-la__btn--ghost { box-shadow: none; background: rgba(168, 22, 30, 0.16); border: 1px solid var(--pg-line); color: var(--pg-gold-2); }
body.tpv-dong .tpv-xnv-btn--ghost:hover, body.tpv-dong .tpv-la__btn--ghost:hover { background: rgba(168, 22, 30, 0.4); color: #fff; }

/* Chip / pill / tab → góc nhỏ */
body.tpv-dong .tpv-tv__nav, body.tpv-dong .tpv-bt__nav { border-radius: var(--dp-radius); background: var(--dp-ink); border-color: rgba(232, 199, 125, 0.3); }
body.tpv-dong .tpv-tv__nav.is-fixed, body.tpv-dong .tpv-bt__nav.is-fixed { border-radius: 0 0 var(--dp-radius) var(--dp-radius); }
body.tpv-dong .tpv-tv__nav a, body.tpv-dong .tpv-tv__print, body.tpv-dong .tpv-bt__nav a, body.tpv-dong .tpv-bt__print, body.tpv-dong .tpv-toc__chip,
body.tpv-dong .tpv-tv__year, body.tpv-dong .tpv-xnv-letab, body.tpv-dong .tpv-xn-tag, body.tpv-dong .tpv-xnv-chip, body.tpv-dong .tpv-tv__chip, body.tpv-dong .tpv-tv__luu,
body.tpv-dong .tpv-xnv-day__t, body.tpv-dong .tpv-years__tag, body.tpv-dong .tpv-la__nav-btn { border-radius: 4px; }
body.tpv-dong .tpv-tv__nav a:hover, body.tpv-dong .tpv-tv__print:hover, body.tpv-dong .tpv-bt__nav a:hover, body.tpv-dong .tpv-bt__print:hover, body.tpv-dong .tpv-toc__chip:hover { background: rgba(232, 199, 125, 0.16); border-color: rgba(232, 199, 125, 0.5); }
body.tpv-dong .tpv-toc__chip.is-active { background: rgba(232, 199, 125, 0.22); border-color: var(--pg-gold); color: var(--pg-gold-2); }
body.tpv-dong .tpv-tv__nav a.is-active, body.tpv-dong .tpv-bt__nav a.is-active, body.tpv-dong .tpv-tv__year.is-active, body.tpv-dong .tpv-xnv-letab.is-on { color: var(--dp-on-gold); box-shadow: 0 0 0 1px var(--dp-red-deep); }
body.tpv-dong .tpv-toc { border-radius: var(--dp-radius); background: var(--dp-ink); }

/* ---------------------------------------------------------------------
   4. TIÊU ĐỀ TRANG – bảng hoành phi: ☯ phía trên, hồi văn phía dưới, ấn triện đỏ
   --------------------------------------------------------------------- */
body.tpv-dong .page-title { border-bottom: 0; position: relative; }
body.tpv-dong .page-title .title-wrapper::before, body.tpv-dong .archive-page-header .col::before {
  content: "☯"; font-size: 1.35rem; letter-spacing: 0; color: var(--pg-gold); text-shadow: 0 0 14px rgba(232, 199, 125, 0.75); margin-bottom: 4px;
}
body.tpv-dong .page-title .title-wrapper::after, body.tpv-dong .archive-page-header .col::after {
  width: min(360px, 70%); height: 12px; margin-top: 12px; background: var(--dp-meander) center / 16px 12px repeat-x; opacity: .85;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 20%, #000 80%, transparent); mask-image: linear-gradient(90deg, transparent, #000 20%, #000 80%, transparent);
}
body.tpv-dong .page-title .entry-title { position: relative; padding-right: .35em; }
/* ấn triện nhỏ "福" cạnh tiêu đề */
body.tpv-dong .page-title .entry-title::after {
  content: "福"; position: absolute; top: -14px; right: -34px; width: 30px; height: 30px; display: grid; place-items: center;
  font-family: var(--dp-serif-cjk); font-size: 15px; font-weight: 700; line-height: 1; letter-spacing: 0;
  color: var(--pg-gold-2); -webkit-text-fill-color: var(--pg-gold-2); background: var(--dp-red); border: 2px solid #d0323a; border-radius: 3px;
  box-shadow: inset 0 0 0 2px rgba(20, 4, 4, 0.85), inset 0 0 0 3px #d0323a, 0 4px 14px rgba(0, 0, 0, 0.45);
  transform: rotate(-5deg); opacity: .94; filter: none;
}
body.tpv-dong .page-title-inner { padding-top: 30px; padding-bottom: 22px; }

/* ---------------------------------------------------------------------
   5. TIÊU ĐỀ MỤC TRONG CÔNG CỤ – ô vuông đỏ son xoay 45°, gạch chân hồi văn
   --------------------------------------------------------------------- */
body.tpv-dong .tpv-tv__h2, body.tpv-dong .tpv-bt__h2 {
  position: relative; padding: 0 0 14px; margin-bottom: 18px;
  background: var(--dp-meander) left bottom / 16px 12px repeat-x; background-size: 16px 12px;
  -webkit-mask-image: none; mask-image: none;
}
body.tpv-dong .tpv-tv__h2::before, body.tpv-dong .tpv-bt__h2::before,
body.tpv-dong .tpv-la__title::before, body.tpv-dong .tpv-card__title::before {
  content: ""; flex: 0 0 auto; display: inline-block; width: 10px; height: 10px; margin-right: 4px; vertical-align: middle;
  background: var(--dp-red); border: 1px solid var(--pg-gold); transform: rotate(45deg);
  box-shadow: 0 0 0 3px #1a0505, 0 0 0 4px rgba(232, 199, 125, 0.55), 0 0 10px rgba(232, 199, 125, 0.4);
}
body.tpv-dong .tpv-tv__h2 span, body.tpv-dong .tpv-bt__h2 span { color: var(--pg-gold); }
body.tpv-dong .tpv-la__title { position: relative; padding-left: 26px; }
body.tpv-dong .tpv-la__title::before { position: absolute; left: 6px; top: .55em; margin: 0; }
body.tpv-dong .tpv-card__title::before { margin-right: 10px; }
body.tpv-dong .tpv-la__kicker, body.tpv-dong .tpv-tv__center-kicker, body.tpv-dong .tpv-master__role { color: var(--pg-violet); }
body.tpv-dong .tpv-tv__box h3, body.tpv-dong .tpv-bt__box h3, body.tpv-dong .tpv-la__box h3, body.tpv-dong .tpv-la__tool h3, body.tpv-dong .tpv-xnv-group__head h3 { padding-left: 14px; position: relative; }
body.tpv-dong .tpv-tv__box h3::before, body.tpv-dong .tpv-bt__box h3::before, body.tpv-dong .tpv-la__box h3::before, body.tpv-dong .tpv-la__tool h3::before, body.tpv-dong .tpv-xnv-group__head h3::before {
  content: ""; position: absolute; left: 0; top: .5em; width: 6px; height: 6px; background: var(--dp-red-2); border: 1px solid var(--pg-gold); transform: rotate(45deg);
}
body.tpv-dong .tpv-tv__box-head h3 { padding-left: 14px; }
body.tpv-dong .tpv-xnv-group__head h3::before { top: .45em; }
/* tiêu đề h2 trong nội dung trang (bài giới thiệu dưới công cụ, kết quả Kinh Dịch) */
body.tpv-dong #main .entry-content h2:not(.tpv-card__title), body.tpv-dong .page-wrapper > .row-main > .col > h2, body.tpv-dong .page-wrapper > .row-main > .col > .col-inner > h2,
body.tpv-dong #vp124-row-full-kq-kinh-dich h2, body.tpv-dong #section_373574582 h2 {
  position: relative; padding: 0 0 12px 30px; margin-top: 1.6em; line-height: 1.3; background: var(--dp-meander) left bottom / 16px 12px repeat-x;
}
body.tpv-dong #main .entry-content h2:not(.tpv-card__title)::before, body.tpv-dong .page-wrapper > .row-main > .col > h2::before, body.tpv-dong .page-wrapper > .row-main > .col > .col-inner > h2::before,
body.tpv-dong #vp124-row-full-kq-kinh-dich h2::before, body.tpv-dong #section_373574582 h2::before {
  content: ""; position: absolute; left: 7px; top: .42em; bottom: auto; width: 10px; height: 10px; background: var(--dp-red); border: 1px solid var(--pg-gold); transform: rotate(45deg);
  box-shadow: 0 0 0 3px #1a0505, 0 0 0 4px rgba(232, 199, 125, 0.55); border-radius: 0;
}
body.tpv-dong .page-wrapper > .row-main > .col > .col-inner > h3, body.tpv-dong .entry-content h3 { color: var(--pg-violet-2); }
/* h1 đặt trong nội dung trang (các trang công cụ không dùng page-title của Flatsome): hoành phi ☯ + hồi văn + ấn 福 */
body.tpv-dong .page-wrapper h1[style*="text-align: center"], body.tpv-dong .page-wrapper h1[style*="text-align:center"] {
  position: relative; display: block; width: fit-content; width: -moz-fit-content; max-width: 100%; margin: 6px auto 22px; padding: 0 .35em 16px;
  background: var(--dp-meander) center bottom / 16px 12px repeat-x;
}
body.tpv-dong .page-wrapper h1[style*="text-align: center"]::before, body.tpv-dong .page-wrapper h1[style*="text-align:center"]::before {
  content: "☯"; display: block; font-size: 1.15rem; line-height: 1; margin: 0 0 8px; color: var(--pg-gold); text-shadow: 0 0 14px rgba(232, 199, 125, 0.75);
}
/* ấn triện đỏ đặt sát mép phải tiêu đề (h1 co theo chữ nhờ width: fit-content) */
body.tpv-dong .page-wrapper h1[style*="text-align: center"]::after, body.tpv-dong .page-wrapper h1[style*="text-align:center"]::after {
  content: "福"; position: absolute; top: -6px; right: -36px; width: 28px; height: 28px; display: grid; place-items: center;
  font-family: var(--dp-serif-cjk); font-size: 14px; font-weight: 700; line-height: 1; letter-spacing: 0;
  color: var(--pg-gold-2); background: var(--dp-red); border: 2px solid #d0323a; border-radius: 3px;
  box-shadow: inset 0 0 0 2px rgba(20, 4, 4, 0.85), inset 0 0 0 3px #d0323a, 0 4px 14px rgba(0, 0, 0, 0.45);
  transform: rotate(-6deg); opacity: .94;
}
body.tpv-dong .box-text h3, body.tpv-dong .box-text h4 { color: var(--pg-gold-2); }
body.tpv-dong .box-text h3 strong, body.tpv-dong .box-text h4 strong { color: inherit; }

/* ---------------------------------------------------------------------
   6. KHUNG, THẺ, HỘP – viền kép vàng, góc hoa văn, vân mây, nền đỏ mực
   --------------------------------------------------------------------- */
/* viền kép (một nét đậm + một nét mảnh cách 4px) cho mọi thẻ */
body.tpv-dong .tpv-tv__box, body.tpv-dong .tpv-bt__box, body.tpv-dong .tpv-la__box, body.tpv-dong .tpv-la__tool, body.tpv-dong .tpv-card,
body.tpv-dong .tpv-bt__info, body.tpv-dong .tpv-bt__lq-card, body.tpv-dong .tpv-xnv-cal, body.tpv-dong .tpv-xnv-fs, body.tpv-dong .tpv-facts__item,
body.tpv-dong .tpv-xn-verdict, body.tpv-dong .tpv-xn-advice__col, body.tpv-dong .tpv-tv__kl-line, body.tpv-dong .tpv-tv__month-panel, body.tpv-dong .tpv-tv__sao-card,
body.tpv-dong .tpv-tv__cung, body.tpv-dong .tpv-tv__group, body.tpv-dong .tpv-tv__kl-item, body.tpv-dong .tpv-tv__dh-item, body.tpv-dong .tpv-la__job-list li,
body.tpv-dong .tpv-xnv-plan__item, body.tpv-dong .tpv-alert, body.tpv-dong .tpv-xnv-block, body.tpv-dong .tpv-bubble, body.tpv-dong .tpv-say__text {
  border-radius: var(--dp-radius);
}
body.tpv-dong .tpv-tv__box, body.tpv-dong .tpv-bt__box, body.tpv-dong .tpv-la__box, body.tpv-dong .tpv-la__tool, body.tpv-dong .tpv-card, body.tpv-dong .tpv-bt__info,
body.tpv-dong .tpv-xnv-cal, body.tpv-dong .tpv-xnv-fs, body.tpv-dong .tpv-xn-verdict, body.tpv-dong .tpv-tv__kl-line {
  border-color: rgba(232, 199, 125, 0.32); outline: 1px solid rgba(232, 199, 125, 0.14); outline-offset: 3px;
  background-color: var(--pg-card);
}
body.tpv-dong .tpv-tv__box.is-vcd, body.tpv-dong .tpv-xn-nguoixem { border-color: var(--pg-gold); }
body.tpv-dong .tpv-card::before { background: radial-gradient(80% 40% at 50% 0%, rgba(200, 40, 48, 0.16), transparent 70%); border-radius: inherit; }
body.tpv-dong .tpv-card__icon { border-radius: 4px; background: var(--pg-gold-btn); color: var(--dp-on-gold); border: 1px solid var(--pg-gold-2); text-shadow: none; box-shadow: 0 0 0 2px #1a0505, 0 0 0 3px rgba(232, 199, 125, 0.5), 0 6px 16px rgba(0, 0, 0, 0.35); }
body.tpv-dong .tpv-card__head { border-bottom: 0; padding-bottom: 12px; background: var(--dp-meander) left bottom / 16px 12px repeat-x; opacity: 1; }
body.tpv-dong .tpv-card__badge, body.tpv-dong .tpv-num-badge, body.tpv-dong .tpv-person__initial { color: var(--dp-on-gold); border-radius: 4px; }

/* Khối form (.tpv-tsh) và các khung lớn: panel sơn son – vân mây trên/dưới, góc hoa văn */
body.tpv-dong .tpv-tsh:not(.tpv-tsh--alert) {
  border-radius: 8px; border: 1px solid rgba(232, 199, 125, 0.62);
  outline: 1px solid rgba(232, 199, 125, 0.28); outline-offset: 5px;
  background:
    var(--dp-cloud-top) top center / 24px 12px repeat-x,
    var(--dp-cloud-bottom) bottom center / 24px 12px repeat-x,
    radial-gradient(120% 80% at 50% -10%, rgba(200, 40, 48, 0.36), transparent 60%),
    radial-gradient(70% 50% at 100% 100%, rgba(232, 199, 125, 0.12), transparent 60%),
    linear-gradient(180deg, var(--tpv-bg1) 0%, var(--tpv-bg0) 100%);
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.5), inset 0 0 60px rgba(232, 199, 125, 0.05), inset 0 1px 0 rgba(255, 255, 255, 0.06);
}
body.tpv-dong .tpv-sky { filter: sepia(1) saturate(1.6) hue-rotate(-12deg); opacity: .8; }
body.tpv-dong .tpv-tsh:not(.tpv-tsh--alert)::before, body.tpv-dong .tpv-tsh:not(.tpv-tsh--alert)::after,
body.tpv-dong .tpv-tv__chart::before, body.tpv-dong .tpv-tv__chart::after,
body.tpv-dong .tpv-la__today::before, body.tpv-dong .tpv-la__today::after,
body.tpv-dong .tpv-la__finder::before, body.tpv-dong .tpv-la__finder::after,
body.tpv-dong .tpv-la__month::before, body.tpv-dong .tpv-la__month::after,
body.tpv-dong .tpv-xnv-verdict::before, body.tpv-dong .tpv-xnv-verdict::after,
body.tpv-dong #section_2016418281::before, body.tpv-dong #section_2016418281::after,
body.tpv-dong #vp124-row-full-kq-kinh-dich > .col-inner::before, body.tpv-dong #vp124-row-full-kq-kinh-dich > .col-inner::after,
body.tpv-dong #section_373574582 .col:first-child > .col-inner.dark::before, body.tpv-dong #section_373574582 .col:first-child > .col-inner.dark::after {
  content: ""; position: absolute; width: 32px; height: 32px; z-index: 3; pointer-events: none;
  background: var(--dp-corner) no-repeat center / 32px 32px; filter: drop-shadow(0 0 4px rgba(232, 199, 125, 0.45));
}
body.tpv-dong .tpv-tsh:not(.tpv-tsh--alert)::before, body.tpv-dong .tpv-tv__chart::before, body.tpv-dong .tpv-la__today::before, body.tpv-dong .tpv-la__finder::before,
body.tpv-dong .tpv-la__month::before, body.tpv-dong .tpv-xnv-verdict::before, body.tpv-dong #section_2016418281::before,
body.tpv-dong #vp124-row-full-kq-kinh-dich > .col-inner::before, body.tpv-dong #section_373574582 .col:first-child > .col-inner.dark::before { top: 6px; left: 6px; }
body.tpv-dong .tpv-tsh:not(.tpv-tsh--alert)::after, body.tpv-dong .tpv-tv__chart::after, body.tpv-dong .tpv-la__today::after, body.tpv-dong .tpv-la__finder::after,
body.tpv-dong .tpv-la__month::after, body.tpv-dong .tpv-xnv-verdict::after, body.tpv-dong #section_2016418281::after,
body.tpv-dong #vp124-row-full-kq-kinh-dich > .col-inner::after, body.tpv-dong #section_373574582 .col:first-child > .col-inner.dark::after { bottom: 6px; right: 6px; transform: rotate(180deg); }
body.tpv-dong .tpv-tv__chart, body.tpv-dong .tpv-la__today, body.tpv-dong .tpv-la__finder, body.tpv-dong .tpv-la__month, body.tpv-dong .tpv-xnv-verdict,
body.tpv-dong #section_2016418281, body.tpv-dong #vp124-row-full-kq-kinh-dich > .col-inner, body.tpv-dong #section_373574582 .col:first-child > .col-inner.dark { position: relative; }

/* Lời thầy (bubble) */
body.tpv-dong .tpv-bubble { background: var(--dp-ink-soft); border-color: rgba(232, 199, 125, 0.3); }
body.tpv-dong .tpv-bubble::before { border-color: rgba(232, 199, 125, 0.3); }
body.tpv-dong .tpv-say__text { background: rgba(240, 145, 122, 0.1); border-color: rgba(240, 145, 122, 0.25); }
body.tpv-dong .tpv-master__frame { background: #1a0505; }
body.tpv-dong .tpv-master__frame::after { background: radial-gradient(circle, rgba(232, 199, 125, 0.32), rgba(200, 40, 48, 0.15) 50%, transparent 68%); }

/* Overlay "Thầy đang xem" */
body.tpv-dong .tpv-veil {
  background:
    radial-gradient(90% 60% at 50% 0%, rgba(200, 40, 48, 0.42), transparent 60%),
    radial-gradient(60% 40% at 50% 100%, rgba(232, 199, 125, 0.16), transparent 60%),
    linear-gradient(180deg, #330a0a 0%, #140404 100%);
}
body.tpv-dong .tpv-orb__halo { background: radial-gradient(circle, rgba(232, 199, 125, 0.42), rgba(200, 40, 48, 0.22) 45%, transparent 70%); }
body.tpv-dong .tpv-veil__bar i { background: linear-gradient(90deg, var(--dp-red-2), var(--pg-gold)); }

/* ---------------------------------------------------------------------
   7. TỬ VI – lá số 12 cung
   --------------------------------------------------------------------- */
body.tpv-dong .tpv-tv__chart { border-radius: 6px; padding: 10px; background: linear-gradient(160deg, rgba(200, 40, 48, 0.2), var(--dp-ink)); border: 1px solid rgba(232, 199, 125, 0.5); outline: 1px solid rgba(232, 199, 125, 0.22); outline-offset: 4px; }
body.tpv-dong .tpv-tv__cell { border-radius: 3px; background: var(--dp-ink-soft); border-color: rgba(232, 199, 125, 0.22); }
body.tpv-dong .tpv-tv__cell.is-than { background: rgba(240, 145, 122, 0.14); box-shadow: inset 0 0 0 1px rgba(240, 145, 122, 0.7); }
body.tpv-dong .tpv-tv__cell.is-menh { background: rgba(232, 199, 125, 0.12); box-shadow: inset 0 0 0 1px var(--pg-gold), 0 0 18px rgba(232, 199, 125, 0.2); }
body.tpv-dong .tpv-tv__center { border-radius: 3px; background: radial-gradient(circle at 50% 30%, rgba(232, 199, 125, 0.16), transparent 65%), rgba(28, 6, 6, 0.7); border-color: rgba(232, 199, 125, 0.45); }
body.tpv-dong .tpv-tv__cell-head { border-bottom-color: rgba(232, 199, 125, 0.25); }
body.tpv-dong .tpv-tv__ms--D, body.tpv-dong .tpv-tv__sao-meta .is-D { color: var(--pg-violet-2); }
body.tpv-dong .tpv-tv__hoa--hoa_khoa { background: rgba(240, 145, 122, 0.22); }
body.tpv-dong .tpv-tv__chip.is-binh { background: rgba(247, 200, 180, 0.12); border-color: rgba(247, 200, 180, 0.3); }
body.tpv-dong .tpv-tv__luu { background: rgba(247, 200, 180, 0.14); border-color: rgba(247, 200, 180, 0.4); }
body.tpv-dong .tpv-tv__kl-line { background: linear-gradient(135deg, rgba(232, 199, 125, 0.12), rgba(200, 40, 48, 0.16)); }
body.tpv-dong .tpv-tv__table th { background: rgba(168, 22, 30, 0.18); }
body.tpv-dong .tpv-tv__table th, body.tpv-dong .tpv-tv__table td { border-color: rgba(232, 199, 125, 0.18); }
body.tpv-dong .tpv-tv__dh-now, body.tpv-dong .tpv-tv__month-now { color: var(--dp-on-gold); border-radius: 3px; }

/* ---------------------------------------------------------------------
   8. BÁT TỰ – bảng tứ trụ
   --------------------------------------------------------------------- */
body.tpv-dong .tpv-bt__chart th, body.tpv-dong .tpv-bt__chart td { border-radius: 3px; }
body.tpv-dong .tpv-bt__chart thead th { background: rgba(168, 22, 30, 0.22); border-color: rgba(232, 199, 125, 0.35); }
body.tpv-dong .tpv-bt__chart tbody td { background: var(--dp-ink-soft); border-color: rgba(232, 199, 125, 0.2); }
body.tpv-dong .tpv-bt__tt--trung { background: rgba(240, 145, 122, 0.16); }
body.tpv-dong .tpv-bt__daivan td, body.tpv-dong .tpv-bt__daivan th { border-radius: 3px; }

/* ---------------------------------------------------------------------
   9. XEM NGÀY THEO VIỆC & XEM NGÀY HÔM NAY
   --------------------------------------------------------------------- */
body.tpv-dong .tpv-xnv-verdict { border-radius: 6px; background: linear-gradient(150deg, rgba(200, 40, 48, 0.2), var(--dp-ink)); border-color: rgba(232, 199, 125, 0.5); outline: 1px solid rgba(232, 199, 125, 0.22); outline-offset: 4px; padding: 22px 24px; }
body.tpv-dong .tpv-xnv-verdict__ring { box-shadow: 0 0 0 6px #1a0505, 0 0 0 7px rgba(232, 199, 125, 0.45), 0 0 26px rgba(232, 199, 125, 0.16); }
body.tpv-dong .tpv-xnv-verdict__ring::before { background: #1e0505; }
body.tpv-dong .tpv-xnv-day { border-radius: 4px; }
body.tpv-dong .tpv-xnv-day.is-today .tpv-xnv-day__d::after { background: var(--dp-red-2); }
body.tpv-dong .tpv-xnv-day__note { border-radius: 3px; color: var(--dp-on-gold); }
body.tpv-dong .tpv-xnv-day__note.is-plan, body.tpv-dong .tpv-xnv-day__t--plan { background: var(--pg-violet); color: var(--dp-on-gold); }
body.tpv-dong .tpv-xnv-day__note.is-plan.is-target { background: linear-gradient(90deg, var(--pg-gold), var(--pg-violet)); }
body.tpv-dong .tpv-xnv-day.is-plan { border-color: var(--pg-violet); box-shadow: inset 0 0 0 1px var(--pg-violet); }
body.tpv-dong .tpv-xnv-day__t, body.tpv-dong .tpv-xnv-plan__no, body.tpv-dong .tpv-xnv-fs__legend span { color: var(--dp-on-gold); }
body.tpv-dong .tpv-xnv-plan__no { border-radius: 4px; }
body.tpv-dong .tpv-xnv-modal { background: rgba(20, 4, 4, 0.82); }
body.tpv-dong .tpv-xnv-modal__box { border-radius: 8px; background: linear-gradient(160deg, #3a0c0c, #160404); border: 1px solid rgba(232, 199, 125, 0.5); box-shadow: 0 0 0 4px rgba(20, 4, 4, 0.9), 0 0 0 5px rgba(232, 199, 125, 0.25), 0 30px 80px rgba(0, 0, 0, 0.6); }
body.tpv-dong .tpv-xnv-modal__head { border-bottom: 0; background: var(--dp-meander) left bottom / 16px 12px repeat-x; padding-bottom: 18px; }
body.tpv-dong .tpv-xnv-modal__loading { color: var(--pg-muted); }
body.tpv-dong .tpv-xnv-hub__card { border-radius: var(--dp-radius); background: linear-gradient(160deg, #3a0c0c, #160404); color: var(--pg-text); border-color: rgba(232, 199, 125, 0.4); outline: 1px solid rgba(232, 199, 125, 0.16); outline-offset: 3px; }
body.tpv-dong .tpv-xnv-hub__card:hover { color: var(--pg-text); box-shadow: 0 16px 36px rgba(0, 0, 0, 0.45), 0 0 0 1px var(--pg-gold); }
body.tpv-dong .tpv-xnv-hub__card span:last-child { color: var(--pg-muted); }
body.tpv-dong .tpv-xnv-hub__bar { background: linear-gradient(90deg, var(--dp-red-2), var(--pg-gold)); border-radius: 0; }
body.tpv-dong .tpv-xnv-fs--chure, body.tpv-dong .tpv-xnv-fs--codau { border-color: rgba(232, 199, 125, 0.32); }
body.tpv-dong .tpv-xnv-fs--chure .tpv-xnv-fs__legend span { background: var(--pg-gold); }
body.tpv-dong .tpv-xnv-fs--codau .tpv-xnv-fs__legend span { background: var(--pg-violet); }
body.tpv-dong .tpv-xn-homnay h3 { color: var(--pg-violet); }
body.tpv-dong .tpv-xnv-group { border-left-width: 3px; }

/* ---------------------------------------------------------------------
   10. LỊCH ÂM DƯƠNG
   --------------------------------------------------------------------- */
body.tpv-dong .tpv-la__today { border-radius: 8px; background: linear-gradient(160deg, rgba(200, 40, 48, 0.24), var(--dp-ink)); border: 1px solid rgba(232, 199, 125, 0.55); outline: 1px solid rgba(232, 199, 125, 0.22); outline-offset: 4px; }
body.tpv-dong .tpv-la__finder { border-radius: 8px; background: linear-gradient(160deg, rgba(232, 199, 125, 0.1), var(--dp-ink)); border-color: rgba(232, 199, 125, 0.5); outline: 1px solid rgba(232, 199, 125, 0.22); outline-offset: 4px; }
body.tpv-dong .tpv-la__month { border-radius: 8px; background: var(--dp-ink); border-color: rgba(232, 199, 125, 0.5); outline: 1px solid rgba(232, 199, 125, 0.22); outline-offset: 4px; }
body.tpv-dong .tpv-la__detail { border-radius: 8px; background: var(--dp-ink); border-color: rgba(232, 199, 125, 0.5); outline: 1px solid rgba(232, 199, 125, 0.22); outline-offset: 4px; }
body.tpv-dong .tpv-la__avatar img { border-color: var(--dp-red); }
body.tpv-dong .tpv-la__cell { border-radius: 4px; }
body.tpv-dong .tpv-la__cell.is-selected { color: var(--dp-on-gold); }
body.tpv-dong .tpv-la__cell.is-selected span { color: var(--dp-on-gold) !important; }
body.tpv-dong .tpv-la__cell.is-today { box-shadow: inset 0 0 0 2px var(--pg-gold), inset 0 0 0 3px var(--dp-red); }
body.tpv-dong .tpv-la__d-head { background: linear-gradient(120deg, rgba(200, 40, 48, 0.22), transparent 60%); border-bottom: 0; padding-bottom: 24px; background-image: var(--dp-meander), linear-gradient(120deg, rgba(200, 40, 48, 0.22), transparent 60%); background-size: 16px 12px, auto; background-position: left bottom, 0 0; background-repeat: repeat-x, no-repeat; }
body.tpv-dong .tpv-la__d-head.is-bad { background-image: var(--dp-meander), linear-gradient(120deg, rgba(255, 120, 120, 0.14), transparent 60%); }
body.tpv-dong .tpv-la__job-list li.is-great .tpv-la__job-score { color: var(--dp-on-gold); }
body.tpv-dong .tpv-la__tool-row input[type="number"], body.tpv-dong .tpv-la__finder-form select, body.tpv-dong .tpv-la__finder-form input { border-radius: var(--dp-radius); }

/* ---------------------------------------------------------------------
   11. KINH DỊCH (gieo quẻ hỏi việc, xem bói hàng ngày) – mã cũ dùng style inline
   --------------------------------------------------------------------- */
body.tpv-dong #main .col-inner[style*="background-color:rgba(10, 6, 32"], body.tpv-dong #main .col-inner[style*="background-color: rgba(10, 6, 32"],
body.tpv-dong #main .col-inner[style*="background-color:rgb(151, 0, 0)"], body.tpv-dong #main .col-inner[style*="background-color: rgb(151, 0, 0)"] {
  background-color: var(--dp-ink) !important; border: 1px solid rgba(232, 199, 125, 0.5) !important; border-radius: 6px !important;
  outline: 1px solid rgba(232, 199, 125, 0.22); outline-offset: 4px;
  background-image: var(--dp-cloud-top), var(--dp-cloud-bottom); background-size: 24px 12px; background-position: top center, bottom center; background-repeat: repeat-x;
}
body.tpv-dong #section_2016418281 {
  background-color: var(--dp-ink); border: 1px solid rgba(232, 199, 125, 0.55); border-radius: 6px; outline: 1px solid rgba(232, 199, 125, 0.25); outline-offset: 5px;
  background-image: var(--dp-cloud-top), var(--dp-cloud-bottom), radial-gradient(120% 80% at 50% -10%, rgba(200, 40, 48, 0.3), transparent 60%);
  background-size: 24px 12px, 24px 12px, auto; background-position: top center, bottom center, 0 0; background-repeat: repeat-x, repeat-x, no-repeat;
}
body.tpv-dong .col-inner[style*="background-color:rgb(255, 232, 232)"], body.tpv-dong .col-inner[style*="background-color: rgb(255, 232, 232)"] {
  background-color: rgba(255, 214, 170, 0.05) !important; border: 1px solid rgba(232, 199, 125, 0.28); border-radius: 6px;
}
body.tpv-dong .col-inner[style*="background-color:rgba(255, 255, 255, 0.05)"] { border: 1px solid rgba(232, 199, 125, 0.28); border-radius: 6px; outline: 1px solid rgba(232, 199, 125, 0.12); outline-offset: 3px; }
body.tpv-dong .row-box-shadow-1 > .col > .col-inner, body.tpv-dong .row-box-shadow-2 > .col > .col-inner, body.tpv-dong .box-shadow-1, body.tpv-dong .box-shadow-2, body.tpv-dong .box-shadow-3 { border-radius: 6px; }
body.tpv-dong .box-image { background: #1a0505; }
body.tpv-dong form[name="import"] input[type="submit"] { border-radius: var(--dp-radius) !important; }
/* popup hướng dẫn serial tờ tiền (nền trắng cứng) */
body.tpv-dong .modal { background-color: rgba(20, 4, 4, 0.7); }
body.tpv-dong .modal-content { background: linear-gradient(160deg, #3a0c0c, #160404); color: var(--pg-text); border: 1px solid rgba(232, 199, 125, 0.55); border-radius: 6px; outline: 1px solid rgba(232, 199, 125, 0.25); outline-offset: 4px; max-width: 520px; }
body.tpv-dong .modal-content .close, body.tpv-dong .modal-content .close:hover { color: var(--pg-gold); }
body.tpv-dong p[style*="color: red"], body.tpv-dong p[style*="color:red"], body.tpv-dong span[style*="color: red"], body.tpv-dong span[style*="color:red"], body.tpv-dong strong[style*="color: red"] { color: var(--pg-gold) !important; }

/* ---------------------------------------------------------------------
   12. PLUGIN KHÁC trên trang (mục lục, bình luận, popup) – bỏ nền navy
   --------------------------------------------------------------------- */
body.tpv-dong #ftwp-container.ftwp-wrap, body.tpv-dong .ftwp-in-post #ftwp-contents, body.tpv-dong #ftwp-container.ftwp-wrap #ftwp-contents, body.tpv-dong #ftwp-container #ftwp-contents { background: rgba(28, 5, 5, 0.97) !important; border-radius: var(--dp-radius); }
body.tpv-dong #ftwp-container.ftwp-wrap #ftwp-trigger { color: var(--dp-on-gold) !important; }
body.tpv-dong #wpdcom .wpd-comment-text, body.tpv-dong #wpdcom textarea, body.tpv-dong #wpdcom input[type="text"], body.tpv-dong #wpdcom input[type="email"], body.tpv-dong #wpdcom input[type="url"], body.tpv-dong #wpdcom .ql-editor, body.tpv-dong #wpdcom .ql-container, body.tpv-dong #wpdcom .wpd-editor-char-counter, body.tpv-dong #wpdcom .ql-toolbar {
  background-color: var(--dp-ink-soft) !important; border-radius: var(--dp-radius);
}
body.tpv-dong #wpdcom .ql-editor.ql-blank::before, body.tpv-dong #wpdcom input::placeholder { color: rgba(214, 181, 163, 0.55) !important; }
body.tpv-dong #wpdcom .wpd-prim-button, body.tpv-dong #wpdcom .wpdiscuz-subscribe-form-button input, body.tpv-dong #wpdcom .wpd-load-more-submit, body.tpv-dong .comment-form input[type="submit"] { border-radius: var(--dp-radius) !important; color: var(--dp-on-gold) !important; }
body.tpv-dong #wpdcom .wpd-comment-label, body.tpv-dong .box-badge .badge-inner { color: var(--dp-on-gold) !important; }
body.tpv-dong #wpdcom .wpd-avatar img { background: #1a0505 !important; }
body.tpv-dong #wpdcom .wpdiscuz-comment-message, body.tpv-dong #wpdiscuz-comment-message, body.tpv-dong #wpd-bubble-wrapper > #wpd-bubble #wpd-bubble-add-message { background: rgba(28, 5, 5, 0.97) !important; border-radius: var(--dp-radius); }
body.tpv-dong #wpd-post-rating .wpd-rating-wrap .wpd-rating-value { background: var(--dp-ink) !important; }
body.tpv-dong #wpd-bubble-wrapper svg path.wpd-bubble-plus-first, body.tpv-dong #wpd-bubble-wrapper svg path.wpd-bubble-count-first, body.tpv-dong #wpd-bubble-wrapper svg path.wpd-bubble-notification-first { fill: var(--dp-on-gold) !important; }
body.tpv-dong .pum-overlay { background: rgba(20, 4, 4, 0.85) !important; }
body.tpv-dong .pum-container .pum-close, body.tpv-dong .pum-theme-default-theme .pum-container .pum-close { color: var(--dp-on-gold) !important; border-radius: var(--dp-radius) !important; }
body.tpv-dong .nav-pagination li a:hover, body.tpv-dong .nav-pagination li .current, body.tpv-dong .page-numbers .current { color: var(--dp-on-gold) !important; }
body.tpv-dong .social-icons .button.icon:hover { color: var(--dp-on-gold) !important; }
body.tpv-dong .entry-image .badge.post-date .badge-inner { background: var(--dp-ink) !important; }
body.tpv-dong table.bieudo td.bieudo, body.tpv-dong td.bieudo { background: var(--dp-ink-soft); border-radius: 4px; }

/* ---------------------------------------------------------------------
   13. RESPONSIVE & GIẢM CHUYỂN ĐỘNG
   --------------------------------------------------------------------- */
@media (max-width: 849px) {
  body.tpv-dong .header-wrapper::after { display: none; }
  body.tpv-dong .page-title .entry-title::after { top: -10px; right: -26px; width: 24px; height: 24px; font-size: 12px; }
  body.tpv-dong .page-wrapper h1[style*="text-align: center"], body.tpv-dong .page-wrapper h1[style*="text-align:center"] { padding-left: 0; padding-right: 0; }
  body.tpv-dong .page-wrapper h1[style*="text-align: center"]::after, body.tpv-dong .page-wrapper h1[style*="text-align:center"]::after { top: -4px; right: 0; width: 24px; height: 24px; font-size: 12px; }
  body.tpv-dong .page-title .title-wrapper::after { width: min(240px, 80%); }
  body.tpv-dong .tpv-tsh:not(.tpv-tsh--alert) { outline-offset: 3px; }
  body.tpv-dong .tpv-tsh:not(.tpv-tsh--alert)::before, body.tpv-dong .tpv-tsh:not(.tpv-tsh--alert)::after,
  body.tpv-dong .tpv-la__today::before, body.tpv-dong .tpv-la__today::after, body.tpv-dong .tpv-la__finder::before, body.tpv-dong .tpv-la__finder::after,
  body.tpv-dong .tpv-la__month::before, body.tpv-dong .tpv-la__month::after, body.tpv-dong .tpv-xnv-verdict::before, body.tpv-dong .tpv-xnv-verdict::after,
  body.tpv-dong #section_2016418281::before, body.tpv-dong #section_2016418281::after { width: 24px; height: 24px; background-size: 24px 24px; }
  body.tpv-dong .tpv-xnv-verdict { padding: 18px 16px; }
}
@media print {
  body.tpv-dong .page-title .entry-title::after, body.tpv-dong .header-wrapper::after, body.tpv-dong .footer-wrapper::before { display: none; }
}

/* ---------------------------------------------------------------------
   14. TƯƠNG PHẢN TRẠNG THÁI TRÊN NỀN ĐỎ
   Các nhãn/ô "xấu, kỵ" gốc dùng tông hồng-đỏ nhạt (chìm trên nền đỏ) → đổi sang
   nền mực sẫm + viền/chữ hồng sáng; ô "tốt" tăng đậm; ô đang chọn dùng vàng kim.
   --------------------------------------------------------------------- */
body.tpv-dong, body.tpv-dong .tpv-tsh { --dp-bad: #ffc4c4; --dp-bad-line: rgba(255, 175, 175, 0.75); --dp-bad-bg: rgba(18, 3, 3, 0.62); }
body.tpv-dong .tpv-tv, body.tpv-dong .tpv-bt, body.tpv-dong .tpv-la, body.tpv-dong .tpv-tsh { --tv-bad: #ffc4c4; --bt-bad: #ffc4c4; --la-bad: #ffc4c4; --tpv-danger: #ffc4c4; --bt-hoa: #ffab7a; }
body.tpv-dong .tpv-xnv-wrap { --xnv-worst: #ffa8a8; }
body.tpv-dong .tpv-error { color: var(--dp-bad); }
/* nhãn, chip, huy hiệu "xấu" */
body.tpv-dong .tpv-xn-tag.is-xau, body.tpv-dong .tpv-xnv-chip.is-xau, body.tpv-dong .tpv-tv__chip.is-xau, body.tpv-dong .tpv-bt__tt--xau, body.tpv-dong .tpv-bt__badge--xau,
body.tpv-dong .tpv-tv__hoa--hoa_ky, body.tpv-dong .tpv-tv__tt, body.tpv-dong .tpv-la__tuoi.is-bad {
  background: var(--dp-bad-bg); border: 1px solid var(--dp-bad-line); color: var(--dp-bad);
}
body.tpv-dong .tpv-xnv-chip.is-block { background: #ffb4b4; border-color: #fff; color: #4a0a0a; }
body.tpv-dong .tpv-xnv-row.is-block .tpv-xnv-row__ten, body.tpv-dong .tpv-xnv-block strong { color: #ffb4b4; }
/* khối cảnh báo, đại kỵ, kết luận xấu */
body.tpv-dong .tpv-alert, body.tpv-dong .tpv-xnv-block, body.tpv-dong .tpv-xn-verdict.is-xau, body.tpv-dong .tpv-xn-verdict.is-rat_xau {
  background: var(--dp-bad-bg); border: 1px solid var(--dp-bad-line); border-left: 4px solid var(--dp-bad); color: #ffe4e4; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
}
body.tpv-dong .tpv-xn-advice__col.is-kieng, body.tpv-dong .tpv-tv__cc.is-xau { border-color: var(--dp-bad-line); }
body.tpv-dong .tpv-xnv-cap__p.is-xau, body.tpv-dong .tpv-xnv-cap__p.is-block { background: var(--dp-bad-bg); }
/* ô lịch: tốt = vàng/xanh đậm hơn, xấu = nền mực viền hồng */
body.tpv-dong .tpv-la__cell.is-good { background: rgba(232, 199, 125, 0.2); border-color: rgba(232, 199, 125, 0.8); }
body.tpv-dong .tpv-la__cell.is-bad { background: var(--dp-bad-bg); border-color: var(--dp-bad-line); }
body.tpv-dong .tpv-la__cell.is-bad .tpv-la__cell-solar { color: var(--dp-bad); }
body.tpv-dong .tpv-la__dot--bad { background: var(--dp-bad-bg); border-color: var(--dp-bad); }
body.tpv-dong .tpv-la__d-head.is-bad { background-image: var(--dp-meander), linear-gradient(120deg, rgba(18, 3, 3, 0.75), transparent 60%); border-left: 4px solid var(--dp-bad); }
body.tpv-dong .tpv-la__hours.is-bad li { opacity: 1; border-color: rgba(255, 175, 175, 0.4); color: var(--pg-muted); }
body.tpv-dong .tpv-xnv-day.is-rat_tot { background: rgba(255, 215, 106, 0.22); border-color: rgba(255, 215, 106, 0.75); }
body.tpv-dong .tpv-xnv-day.is-tot { background: rgba(159, 227, 181, 0.18); border-color: rgba(159, 227, 181, 0.65); }
body.tpv-dong .tpv-xnv-day.is-kha { background: rgba(143, 217, 208, 0.14); border-color: rgba(143, 217, 208, 0.55); }
body.tpv-dong .tpv-xnv-day.is-xau { background: rgba(18, 3, 3, 0.5); border-color: rgba(255, 178, 122, 0.65); }
body.tpv-dong .tpv-xnv-day.is-rat_xau { background: var(--dp-bad-bg); border-color: var(--dp-bad-line); }
body.tpv-dong .tpv-xnv-day.is-selected { background: rgba(232, 199, 125, 0.3); }
body.tpv-dong .tpv-tv__table tr.is-current td { background: rgba(232, 199, 125, 0.2); }
body.tpv-dong .tpv-bt__daivan td.is-current, body.tpv-dong .tpv-bt__daivan .is-current { background: rgba(232, 199, 125, 0.2); }
/* icon tròn trong thẻ kết luận Tử Vi/Bát Tự, icon "đón dâu", số thứ tự bộ lịch: nền vàng kim để nổi trên nền đỏ */
body.tpv-dong .tpv-tv__kl-ico { border-radius: 6px; background: var(--pg-gold-btn); color: var(--dp-on-gold); box-shadow: 0 0 0 2px #1a0505, 0 0 0 3px rgba(232, 199, 125, 0.45), 0 4px 12px rgba(0, 0, 0, 0.35); }
body.tpv-dong .tpv-xnv-dondau__icon { box-shadow: 0 0 0 2px #1a0505, 0 0 0 3px rgba(232, 199, 125, 0.45); }
body.tpv-dong .tpv-xnv-plan__no { box-shadow: 0 0 0 2px #1a0505, 0 0 0 3px rgba(232, 199, 125, 0.45), 0 4px 12px rgba(0, 0, 0, 0.35); }
body.tpv-dong .tpv-tv__map-no, body.tpv-dong .tpv-tv__cung-no { color: var(--pg-gold); }
