/* =====================================================================
   THẦY PHONG VŨ – Giao diện toàn site
   Tông màu: tím – đen – vàng ánh kim (chiêm tinh, bói toán, tâm linh)
   Nạp sau Flatsome (flatsome-main) cho mọi trang, bài viết, danh mục.
   ===================================================================== */
:root, body {
  --pg-bg0: #05030f;
  --pg-bg1: #120a2e;
  --pg-bg2: #22134f;
  --pg-card: rgba(255, 255, 255, 0.04);
  --pg-card-2: rgba(255, 255, 255, 0.07);
  --pg-line: rgba(232, 199, 125, 0.28);
  --pg-line-soft: rgba(255, 255, 255, 0.11);
  --pg-gold: #e8c77d;
  --pg-gold-2: #f8e6b4;
  --pg-gold-deep: #b8932f;
  --pg-violet: #b48cff;
  --pg-violet-2: #d7c3ff;
  --pg-purple: #7c3aed;
  --pg-text: #ece6fb;
  --pg-muted: #b3a7d6;
  --pg-serif: "Playfair Display", "Times New Roman", Georgia, serif;
  --pg-metal: linear-gradient(100deg, #b8932f 0%, #f8e6b4 28%, #e8c77d 50%, #fff3cf 66%, #c9a24a 100%);
  --pg-gold-btn: linear-gradient(135deg, #f8e6b4 0%, #e8c77d 45%, #b8932f 100%);

  /* Biến màu của Flatsome */
  --primary-color: #b48cff;
  --fs-color-primary: #b48cff;
  --fs-color-secondary: #e8c77d;
  --fs-color-alert: #e8c77d;
  --fs-color-success: #9fe3b5;
  --fs-experimental-link-color: #e8c77d;
  --fs-experimental-link-color-hover: #f8e6b4;
}

/* =====================================================================
   NỀN & CHỮ CƠ BẢN
   ===================================================================== */
html { background: var(--pg-bg0); }
body, #wrapper, #main, .page-wrapper, .content-area, .blog-wrapper { background-color: transparent; color: var(--pg-text); }
#wrapper {
  background:
    radial-gradient(70% 40% at 15% 0%, rgba(124, 58, 237, 0.30), 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(124, 58, 237, 0.18), transparent 60%),
    linear-gradient(180deg, var(--pg-bg1) 0%, var(--pg-bg0) 45%, #0a0620 100%);
  background-attachment: scroll;
}
#main { position: relative; }
#main::before {
  content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 0; opacity: .45;
  background-image:
    radial-gradient(1.4px 1.4px at 8% 12%, #fff 60%, transparent 61%),
    radial-gradient(1px 1px at 22% 48%, #fff 60%, transparent 61%),
    radial-gradient(1.8px 1.8px at 37% 22%, #fff 60%, transparent 61%),
    radial-gradient(1px 1px at 58% 66%, #fff 60%, transparent 61%),
    radial-gradient(1.5px 1.5px at 74% 14%, #fff 60%, transparent 61%),
    radial-gradient(1.2px 1.2px at 88% 52%, #fff 60%, transparent 61%),
    radial-gradient(1px 1px at 12% 82%, #fff 60%, transparent 61%),
    radial-gradient(1.4px 1.4px at 47% 90%, #fff 60%, transparent 61%),
    radial-gradient(1px 1px at 93% 86%, #fff 60%, transparent 61%),
    radial-gradient(1.2px 1.2px at 66% 38%, rgba(232,199,125,.95) 60%, transparent 61%),
    radial-gradient(1px 1px at 30% 70%, rgba(232,199,125,.95) 60%, transparent 61%),
    radial-gradient(1.3px 1.3px at 80% 74%, rgba(180,140,255,.95) 60%, transparent 61%);
  background-size: 900px 900px;
}
#main > * { position: relative; z-index: 1; }
::selection { background: var(--pg-gold); color: #1d1400; }

body, p, li, td, th, dd, dt, .entry-content, .entry-summary { color: var(--pg-text); }
h1, h2, h3, h4, h5, h6, .heading-font { font-family: var(--pg-serif); color: var(--pg-gold-2); text-transform: none; letter-spacing: .01em; }
strong, b { color: var(--pg-gold-2); }
a { color: var(--pg-gold); }
a:hover { color: var(--pg-gold-2); }
hr, .is-divider { background-color: var(--pg-gold); }
.is-divider { background: linear-gradient(90deg, var(--pg-gold), transparent); }
.is-divider.small, .entry-divider.small { background: linear-gradient(90deg, var(--pg-gold), rgba(232,199,125,.1)); }
blockquote { color: var(--pg-violet-2); border-left: 3px solid var(--pg-gold); background: var(--pg-card); padding: 14px 18px; border-radius: 0 12px 12px 0; font-family: var(--pg-serif); font-style: italic; }
code, pre { background: rgba(6,3,22,.7); color: var(--pg-gold-2); border: 1px solid var(--pg-line-soft); }
.uppercase, .is-xsmall, .is-small { letter-spacing: .05em; }
.badge-outline .badge-inner { border-color: var(--pg-gold); color: var(--pg-gold-2); }
.badge-inner { background: rgba(6,3,22,.8); }

/* Chữ vàng ánh kim */
.tpv-metal,
.page-title .entry-title, .archive-page-header .page-title, .entry-header .entry-title,
.section-title-main, .post-title, .widget-title, .footer-widgets .widget-title,
.entry-content h2:not(.tpv-card__title):not(.ftwp-heading-target), .page-wrapper > .row-main > .col > h2,
.wp-block-heading, .yarpp-related h3, .tpv-tarot .tpv-title {
  background: var(--pg-metal);
  -webkit-background-clip: text; background-clip: text;
  color: transparent !important; -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 1px 0 rgba(0,0,0,.35));
}
.entry-content h2.ftwp-heading, .entry-content h2.dau-muc-chi-so { background: var(--pg-metal); -webkit-background-clip: text; background-clip: text; color: transparent !important; -webkit-text-fill-color: transparent; }

/* =====================================================================
   HEADER & MENU
   ===================================================================== */
.header, .header-wrapper, .header-main, .header-bottom, .header-bg-color, .header-bg-container, .stuck .header-main, .header.show-on-scroll {
  background-color: rgba(7, 4, 22, 0.94) !important;
}
.header-wrapper { border-bottom: 1px solid var(--pg-line); box-shadow: 0 10px 40px rgba(0,0,0,.45); } /* bỏ backdrop-filter: nền đã 94% đặc, blur chỉ tốn GPU khi cuộn */
.header-wrapper.stuck { border-bottom-color: rgba(232,199,125,.45); }
.header-main .top-divider { border-top: 0; }
.header-bottom { border-top: 1px solid var(--pg-line-soft); }
#logo img, .header_logo { filter: drop-shadow(0 0 12px rgba(232,199,125,.25)); }
#logo { width: auto !important; max-width: 320px; }
#logo img { max-height: 64px !important; width: auto; }
.stuck #logo img { max-height: 52px !important; }
.header-nav-main.nav > li > a, .header-nav .nav-top-link, .nav > li > a, .header-button .button, .nav-dropdown > li > a, .nav-sidebar > li > a {
  color: var(--pg-gold-2) !important; font-family: var(--pg-serif); font-weight: 600; letter-spacing: .04em; text-transform: none; font-size: 1rem;
}
.nav-uppercase > li > a { text-transform: none; }
.nav > li > a:hover, .nav > li.active > a, .nav > li.current-menu-item > a, .nav > li.current_page_parent > a, .nav-dropdown > li > a:hover { color: #fff !important; }
.nav-line-bottom > li > a:before, .nav-line-grow > li > a:before, .nav-line > li > a:before, .nav-box > li > a:hover, .nav-pills > li > a:hover, .nav-box > li.active > a, .nav-pills > li.active > a { background-color: var(--pg-gold) !important; }
.nav > li.current-menu-item > a::after, .header-nav-main.nav > li.active > a::after {
  content: ""; display: block; height: 2px; margin-top: 2px; background: var(--pg-metal); border-radius: 2px;
}
.nav-dropdown { background: rgba(10, 6, 32, 0.98) !important; border: 1px solid var(--pg-line) !important; border-radius: 12px; box-shadow: 0 20px 50px rgba(0,0,0,.6); padding: 10px 0; }
.nav-dropdown li a, .nav-dropdown .nav-column li a, .nav-dropdown > li > a { color: var(--pg-text) !important; border-color: var(--pg-line-soft) !important; font-size: .95rem; }
.nav-dropdown li a:hover { color: var(--pg-gold-2) !important; background: rgba(232,199,125,.08); }
.nav-dropdown .nav-dropdown-col > a, .nav-dropdown li.nav-dropdown-col > a { color: var(--pg-gold) !important; }
.nav-dropdown-has-arrow .nav-dropdown:before { border-bottom-color: rgba(10,6,32,.98) !important; }
.nav-dropdown-has-arrow .nav-dropdown:after { border-bottom-color: var(--pg-line) !important; }
.header .icon-menu, .header .icon-search, .header .icon-user, .header .icon-shopping-cart, .header .icon-shopping-basket, .header .icon-shopping-bag, .header .icon-angle-down, .header .header-button .icon-menu, .header .nav > li > a > i { color: var(--pg-gold-2) !important; }
.header .cart-icon strong { border-color: var(--pg-gold); color: var(--pg-gold-2); }
.header .cart-icon strong:after { border-color: var(--pg-gold); }
.header-divider { border-color: var(--pg-line-soft) !important; }
.header .nav-divider { border-color: var(--pg-line-soft); }
.header-search-form-wrapper, .header .searchform-wrapper { color: var(--pg-text); }

/* Ô tìm kiếm */
.searchform .flex-col input[type="search"], .searchform input.search-field, .searchform-wrapper input, input[type="search"] {
  background: rgba(6,3,22,.6) !important; color: var(--pg-text) !important; border: 1px solid var(--pg-line-soft) !important; border-radius: 999px 0 0 999px; box-shadow: none;
}
.searchform .ux-search-submit, .searchform .submit-button, .searchform button.icon { background: var(--pg-gold-btn) !important; color: #2a1d05 !important; border: 0 !important; border-radius: 0 999px 999px 0; }
.searchform .ux-search-submit i { color: #2a1d05 !important; }
.live-search-results, .autocomplete-suggestions { background: rgba(10,6,32,.98) !important; border: 1px solid var(--pg-line) !important; color: var(--pg-text); border-radius: 12px; }
.autocomplete-suggestion { color: var(--pg-text); border-color: var(--pg-line-soft) !important; }
.autocomplete-suggestion:hover, .autocomplete-selected { background: rgba(232,199,125,.1) !important; }

/* Menu di động (off-canvas) */
.mobile-sidebar, .off-canvas-left .mfp-content, .off-canvas-right .mfp-content, .off-canvas-center .mfp-content, .off-canvas:not(.off-canvas-center) .mfp-content, .off-canvas .mfp-content.mfp-with-anim {
  background: linear-gradient(180deg, #120a2e, #05030f) !important; color: var(--pg-text) !important; box-shadow: 0 0 60px rgba(0,0,0,.6);
}
.off-canvas .mfp-close, .mfp-close { color: var(--pg-gold-2) !important; }
.nav-sidebar > li, .nav-sidebar > li > ul > li, .nav-vertical > li, .nav-vertical > li + li, .nav-vertical-fly-out > li + li { border-color: var(--pg-line-soft) !important; }
.nav-sidebar li a, .nav-sidebar > li > a, .nav-vertical > li > a, .nav-vertical li li a, .mobile-sidebar .nav > li > a { color: var(--pg-gold-2) !important; }
.nav-sidebar li a:hover, .nav-vertical li.active > a { color: #fff !important; background: rgba(232,199,125,.08); }
.nav-sidebar li.active > a, .nav-vertical > li.active > a { color: var(--pg-gold) !important; }
.sidebar-menu .social-icons a { color: var(--pg-gold-2); border-color: var(--pg-line) !important; }
.mobile-sidebar .searchform-wrapper input { border-radius: 999px 0 0 999px; }
.toggle { color: var(--pg-gold) !important; }

/* =====================================================================
   FOOTER
   ===================================================================== */
.footer-wrapper { background: #04020d; border-top: 1px solid var(--pg-line); }
.footer-widgets, .footer-widgets.dark, .footer-1, .footer-2, .footer-widgets .row.dark { background: linear-gradient(180deg, #0a0620 0%, #04020d 100%) !important; color: var(--pg-text) !important; border: 0; }
.footer-widgets .widget-title, .footer-widgets .widget .widget-title, .footer-widgets h3 { font-family: var(--pg-serif); text-transform: none; letter-spacing: .02em; font-size: 1.1rem; }
.footer-widgets .widget, .footer-widgets .widget p, .footer-widgets .widget li, .footer-widgets .textwidget { color: var(--pg-muted) !important; }
.footer-widgets a, .footer-widgets .widget a, .dark .widget a { color: var(--pg-gold) !important; }
.footer-widgets a:hover { color: var(--pg-gold-2) !important; }
.footer-widgets .is-divider { background: linear-gradient(90deg, var(--pg-gold), transparent) !important; }
.absolute-footer, .absolute-footer.dark { background: #04020d !important; color: var(--pg-muted) !important; border-top: 1px solid var(--pg-line-soft); }
.absolute-footer a, .footer-nav a, .copyright-footer, .footer-text { color: var(--pg-muted) !important; }
.absolute-footer a:hover, .footer-nav a:hover { color: var(--pg-gold-2) !important; }
.copyright-footer strong { color: var(--pg-gold) !important; }
.footer-nav.links > li > a { text-transform: none; }
.footer-wrapper .img-inner.dark, .footer-wrapper .img-inner { background: transparent; }
.footer-wrapper .stack .img img { opacity: .9; border-radius: 10px; }
.back-to-top { background: var(--pg-gold-btn) !important; color: #2a1d05 !important; border: 0 !important; box-shadow: 0 8px 24px rgba(232,199,125,.3); }
.back-to-top i { color: #2a1d05 !important; }

/* =====================================================================
   NÚT & FORM (toàn site)
   ===================================================================== */
.button, button, input[type="submit"], input[type="button"], .wp-block-button__link {
  font-family: var(--pg-serif); text-transform: none; letter-spacing: .02em; font-weight: 700;
}
.button.primary, .button.alert, .button.secondary, .button.success, .button:not(.is-outline):not(.is-link):not(.is-underline):not(.tpv-btn):not(.tpv-veil__skip):not(.plain):not(.icon),
input[type="submit"]:not(.tpv-btn), .wp-block-button__link, .wpcf7-submit, .tpv-tarot .tpv-btn-primary {
  background: var(--pg-gold-btn) !important; color: #2a1d05 !important; border: 0 !important; border-radius: 999px !important;
  box-shadow: 0 10px 30px rgba(232,199,125,.22), inset 0 1px 0 rgba(255,255,255,.5);
  transition: transform .25s ease, box-shadow .25s ease;
}
.button.primary:hover, .button.alert:hover, .button.secondary:hover, input[type="submit"]:not(.tpv-btn):hover, .wp-block-button__link:hover {
  transform: translateY(-2px); box-shadow: 0 16px 40px rgba(232,199,125,.36), inset 0 1px 0 rgba(255,255,255,.6); color: #1d1400 !important;
}
.button.is-outline { border: 1px solid var(--pg-gold) !important; color: var(--pg-gold-2) !important; background: rgba(255,255,255,.03) !important; border-radius: 999px !important; }
.button.is-outline:hover { background: rgba(232,199,125,.12) !important; color: #fff !important; }
/* 2026-09-16: nút lớn (size large/xlarge) chữ dài xuống dòng → bo 14px thay viên thuốc, kẻo thành hình bầu dục (CTA cuối bài block 313).
   Cần #wrapper để thắng chuỗi :not() phía trên. */
#wrapper .button.is-large, #wrapper .button.is-xlarge { border-radius: 14px !important; line-height: 1.3 !important; padding-top: .55em !important; padding-bottom: .55em !important; white-space: normal; }
#wrapper .button.is-xlarge { font-size: 1.2em; } /* Flatsome mặc định 1.8em – trong cột 1/3 chữ vỡ 3–4 dòng */
.button.is-link, .button.is-underline { color: var(--pg-gold) !important; }
.button.icon, .button.icon.circle { border-color: var(--pg-gold) !important; color: var(--pg-gold-2) !important; background: transparent !important; }
.header .button { box-shadow: none; }

input[type="text"]:not(.tpv-input), input[type="email"]:not(.tpv-input), input[type="tel"]:not(.tpv-input), input[type="number"]:not(.tpv-input),
input[type="password"], input[type="url"], input[type="date"], select:not(.tpv-input), textarea, .select2-container .select2-choice, .select2-container .select2-selection {
  background-color: rgba(6, 3, 22, 0.6) !important; color: var(--pg-text) !important; border: 1px solid var(--pg-line-soft) !important; border-radius: 10px; box-shadow: none !important;
  transition: border-color .25s, box-shadow .25s;
}
input:not(.tpv-input):focus, select:not(.tpv-input):focus, textarea:focus { border-color: var(--pg-gold) !important; box-shadow: 0 0 0 4px rgba(232,199,125,.16) !important; outline: none; }
input::placeholder, textarea::placeholder { color: rgba(179,167,214,.55) !important; }
select:not(.tpv-input) {
  color-scheme: dark; -webkit-appearance: none; appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'><path d='M1 1l6 6 6-6' fill='none' stroke='%23e8c77d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>") !important;
  background-repeat: no-repeat !important; background-position: right 14px center !important; background-size: 14px 9px !important; padding-right: 36px;
}
select:not(.tpv-input) option { color: #1a1233; background: #fff; }
label, legend { color: var(--pg-gold-2); font-family: var(--pg-serif); font-weight: 600; }
fieldset { border-color: var(--pg-line-soft); }
input[type="checkbox"], input[type="radio"] { accent-color: var(--pg-gold); }

/* Nền hồng/trắng cứng trong form kinh dịch, xem bói hàng ngày, tình duyên */
.col-inner[style*="background-color:rgb(255, 232, 232)"], .col-inner[style*="background-color: rgb(255, 232, 232)"] {
  background-color: var(--pg-card) !important; border: 1px solid var(--pg-line-soft); border-radius: 16px;
}
p[style*="color: red"], p[style*="color:red"], span[style*="color: red"], span[style*="color:red"], strong[style*="color: red"] { color: var(--pg-gold) !important; font-family: var(--pg-serif); }
h1[style*="color:#f00"], h1[style*="color: #f00"] { color: #ff9a9a !important; font-size: 1.2rem; }
.row-box-shadow-1 > .col > .col-inner, .row-box-shadow-2 > .col > .col-inner, .row-box-shadow-3 > .col > .col-inner, .box-shadow-1, .box-shadow-2, .box-shadow-3 {
  background: var(--pg-card) !important; border: 1px solid var(--pg-line-soft); border-radius: 16px; box-shadow: 0 14px 40px rgba(0,0,0,.35) !important;
}
.col-inner[style*="background-color:rgba(10, 6, 32"], .col-inner[style*="background-color: rgba(10, 6, 32"] { border: 1px solid var(--pg-line); border-radius: 18px; }

/* =====================================================================
   SECTION / TIÊU ĐỀ (Flatsome UX Builder)
   ===================================================================== */
.section-title { margin-bottom: .6em; flex-wrap: nowrap; gap: 14px; }
/* 2026-09-16: tiêu đề dài → 2 vạch <b> co lại thay vì rơi xuống hàng riêng thành gạch ngang trên/dưới chữ */
.section-title b { border-color: var(--pg-line) !important; opacity: 1; flex: 1 1 20px; min-width: 20px; }
.section-title .section-title-main { flex: 0 1 auto; }
/* Chú thích ảnh lặp: nội dung cũ bọc [caption] trong <figure class="wp-caption"> đã có figcaption → ẩn chú thích ngoài */
.wp-caption > .wp-caption ~ .wp-caption-text { display: none; }
figure.wp-caption > figure.wp-caption { margin-left: auto; margin-right: auto; }
.section-title-main { font-family: var(--pg-serif); font-size: clamp(1.3rem, 2.8vw, 1.75rem); font-weight: 700; text-transform: none; letter-spacing: .01em; }
.section-title-normal { border-bottom: 1px solid var(--pg-line-soft); }
.section-title-normal span { border-bottom-color: var(--pg-gold) !important; }
.section-title-container + p { color: var(--pg-muted); }
.section-bg-overlay { display: none; }
.dark, .dark p, .dark li, .dark .section-title-main, .dark h2, .dark h3 { color: var(--pg-text); }
.gap-element { opacity: 0; }

/* Tiêu đề trang (page_header) & lưu trữ */
.page-title { background: transparent; border-bottom: 1px solid var(--pg-line); }
.page-title-inner { padding-top: 34px; padding-bottom: 26px; }
.page-title .entry-title, .archive-page-header .page-title {
  font-family: var(--pg-serif); font-weight: 700; font-size: clamp(1.7rem, 4vw, 2.7rem); letter-spacing: .01em; line-height: 1.2; display: inline-block; padding: 0 .35em; text-transform: none;
}
.page-title .title-wrapper, .archive-page-header .col { position: relative; }
.page-title .title-wrapper::before, .archive-page-header .col::before {
  content: "✦"; display: block; color: var(--pg-gold); font-size: 1rem; letter-spacing: .5em; margin-bottom: 6px; text-shadow: 0 0 12px rgba(232,199,125,.7);
}
.page-title .title-wrapper::after, .archive-page-header .col::after {
  content: ""; display: block; width: min(320px, 60%); height: 1px; margin: 14px auto 0; background: linear-gradient(90deg, transparent, var(--pg-gold), transparent);
}
.page-title .title-breadcrumbs, .page-title .breadcrumbs { color: var(--pg-muted); }
.archive-page-header { border-bottom: 1px solid var(--pg-line); margin-bottom: 20px; padding-bottom: 10px; }
.archive-page-header .taxonomy-description { color: var(--pg-muted); }
.page-title.dark .entry-title, .page-title.light .entry-title { -webkit-text-fill-color: transparent; }

/* =====================================================================
   NỘI DUNG BÀI VIẾT / TRANG
   ===================================================================== */
.entry-content, .page-wrapper > .row-main > .col { font-size: 1.02rem; line-height: 1.8; }
.entry-content h2, .page-wrapper > .row-main > .col > h2 { font-size: clamp(1.4rem, 3vw, 1.9rem); font-weight: 700; margin: 2em 0 .8em; padding-left: 18px; position: relative; line-height: 1.3; }
.entry-content h2::before, .page-wrapper > .row-main > .col > h2::before { content: ""; position: absolute; left: 0; top: .2em; bottom: .2em; width: 3px; border-radius: 3px; background: var(--pg-metal); }
.entry-content h3, .page-wrapper > .row-main > .col > h3 { color: var(--pg-violet-2); font-size: 1.22rem; margin: 1.5em 0 .6em; }
.entry-content h4 { color: var(--pg-gold); font-size: 1.05rem; text-transform: uppercase; letter-spacing: .06em; }
.entry-content ul:not([class]) li::marker, .page-wrapper > .row-main > .col > ul li::marker { color: var(--pg-gold); content: "✦  "; }
.entry-content ol:not([class]) li::marker { color: var(--pg-gold); font-weight: 700; }
.entry-content ul:not([class]), .entry-content ol:not([class]) { padding-left: 1.4em; margin-left: 0; }
.entry-content ul:not([class]) li, .entry-content ol:not([class]) li { margin-bottom: .6em; }
.entry-content img, .entry-image img, .wp-block-image img { border-radius: 14px; }
.entry-content figure figcaption, .wp-caption-text { color: var(--pg-muted); font-style: italic; }
.entry-content table, .entry-content table td, .entry-content table th { border-color: var(--pg-line-soft); color: var(--pg-text); }
.entry-content table th { background: rgba(232,199,125,.1); color: var(--pg-gold-2); }
.entry-content table tr:nth-child(even) td { background: rgba(255,255,255,.02); }
/* Bảng biểu đồ thần số học trong bài viết */
table.bieudo { margin: 1em auto; border-collapse: separate !important; border-spacing: 4px !important; background: rgba(232,199,125,.14); border: 1px solid var(--pg-line) !important; border-radius: 14px; padding: 4px; }
table.bieudo td.bieudo, td.bieudo { background: rgba(8,5,26,.75); border: 0 !important; border-radius: 9px; height: 64px; min-width: 64px; text-align: center !important; font-family: var(--pg-serif); font-size: 1.35rem; font-weight: 700; color: var(--pg-gold-2) !important; text-shadow: 0 0 12px rgba(232,199,125,.5); }
td.bieudo strong { color: var(--pg-gold-2); }
.entry-content .dau-muc-chi-so { margin-top: 1.6em; }

/* Bài đơn: header, meta, tác giả, chia sẻ, điều hướng */
.entry-header .entry-category a, .entry-meta, .entry-meta a, .posted-on, .byline, .post-meta, .entry-date { color: var(--pg-muted) !important; }
.entry-meta a:hover { color: var(--pg-gold-2) !important; }
.entry-category a { color: var(--pg-gold) !important; letter-spacing: .12em; }
.entry-header .entry-title { font-size: clamp(1.6rem, 3.6vw, 2.4rem); }
.entry-image .badge.post-date .badge-inner { background: rgba(6,3,22,.85) !important; border: 1px solid var(--pg-gold) !important; color: var(--pg-gold-2); }
footer.entry-meta { color: var(--pg-muted); border-top: 1px solid var(--pg-line-soft); border-bottom: 0; padding-top: 14px; }
.author-box, .entry-author { background: var(--pg-card); border: 1px solid var(--pg-line-soft); border-radius: 16px; padding: 18px; }
.author-box .blog-author-image img, .avatar { border-radius: 50%; border: 2px solid var(--pg-gold); }
.author-box .author-name, .entry-author h5, .entry-author h4, .author-box h5 { color: var(--pg-gold-2); font-family: var(--pg-serif); }
.blog-share .is-divider { background: linear-gradient(90deg, transparent, var(--pg-gold), transparent); }
.social-icons .button.icon, .share-icons .button.icon { border-color: var(--pg-line) !important; color: var(--pg-gold-2) !important; background: var(--pg-card) !important; }
.social-icons .button.icon:hover { background: var(--pg-gold-btn) !important; color: #2a1d05 !important; border-color: transparent !important; }
.next-prev-nav, .flex-row.next-prev-nav.bt.bb, .bt, .bb { border-color: var(--pg-line-soft) !important; }
.next-prev-nav a, .navigation-post a { color: var(--pg-gold) !important; }
.next-prev-nav .hide-for-small { color: var(--pg-muted); }
.next-prev-nav .flex-col a:hover { color: var(--pg-gold-2) !important; }
.entry-content .wp-block-quote, .entry-content .has-background { background: var(--pg-card) !important; color: var(--pg-text) !important; }

/* Bài liên quan (YARPP) */
.yarpp-related { margin-top: 30px; padding: 20px; border: 1px solid var(--pg-line-soft); border-radius: 16px; background: var(--pg-card); }
.yarpp-related h3 { font-family: var(--pg-serif); font-size: 1.25rem; margin-bottom: 12px; }
.yarpp-related ol, .yarpp-related ul { margin: 0; padding-left: 1.2em; }
.yarpp-related li { margin-bottom: .5em; color: var(--pg-muted); }
.yarpp-related li::marker { color: var(--pg-gold); }
.yarpp-related a { color: var(--pg-gold-2); text-decoration: none; }
.yarpp-related a:hover { color: #fff; }
.yarpp-thumbnail { background: var(--pg-card) !important; border: 1px solid var(--pg-line-soft) !important; border-radius: 12px; }
.yarpp-thumbnail-title { color: var(--pg-gold-2) !important; }

/* Danh mục / lưu trữ: danh sách bài */
.blog-archive article.post, .post-list article { background: var(--pg-card); border: 1px solid var(--pg-line-soft); border-radius: 18px; padding: 22px; margin-bottom: 26px; transition: border-color .3s, transform .3s; }
.blog-archive article.post:hover { border-color: var(--pg-line); transform: translateY(-2px); }
.blog-archive article .entry-title { font-size: 1.45rem; }
.blog-archive article .entry-title a { color: inherit; }
.entry-summary p { color: var(--pg-muted); }
.more-link, .entry-summary .button { margin-top: 8px; }
.row-divided > .col + .col:not(.large-12), .row-divided > .col-fit + .col { border-left: 1px solid var(--pg-line-soft); }
.blog-wrapper.blog-archive .archive-page-header .page-title.uppercase { text-transform: none; }

/* Phân trang */
.nav-pagination li a, .nav-pagination li span, .page-numbers li a, .page-numbers li span, .wpdiscuz-comment-pagination a { border-color: var(--pg-line) !important; color: var(--pg-gold-2) !important; background: var(--pg-card); border-radius: 999px !important; }
.nav-pagination li a:hover, .nav-pagination li .current, .page-numbers .current { background: var(--pg-gold-btn) !important; color: #2a1d05 !important; border-color: transparent !important; }

/* =====================================================================
   THẺ BÀI VIẾT (blog_posts / box)
   ===================================================================== */
.has-shadow { box-shadow: none; }
.has-shadow > .col > .col-inner, .has-shadow .box:not(.box-overlay):not(.box-shade), .has-shadow.box:not(.box-overlay):not(.box-shade), .dark .has-shadow.box:not(.box-overlay):not(.box-shade), .box-shadow-1, .box-shadow-2, .box-shadow-3 { background-color: var(--pg-card) !important; }
.has-shadow > .col > .col-inner { border: 1px solid var(--pg-line-soft); border-radius: 16px; overflow: hidden; transition: border-color .3s, transform .3s, box-shadow .3s; }
.has-shadow > .col:hover > .col-inner { border-color: var(--pg-line); transform: translateY(-3px); box-shadow: 0 18px 40px rgba(0,0,0,.45), 0 0 30px rgba(232,199,125,.08); }
.box-blog-post .box-text, .box-badge .box-text, .box-normal .box-text, .box-bounce .box-text, .box-push .box-text, .box-vertical .box-text { background-color: transparent !important; color: var(--pg-text); }
.box-image { background: #0a0620; }
.box-blog-post .box-image img { opacity: .92; transition: opacity .3s, transform .5s; }
.box-blog-post:hover .box-image img { opacity: 1; }
.post-title { font-family: var(--pg-serif); font-weight: 700; font-size: 1.02em; line-height: 1.35; text-transform: none !important; }
.box-text .is-divider { height: 2px; margin: .6em 0; }
.box-text .from_the_blog_excerpt, .box-text .post-meta, .box-text p { color: var(--pg-muted); font-size: .92em; }
.box-badge .badge-inner { background: var(--pg-gold) !important; color: #2a1d05 !important; border: 0; }
.box-badge .badge-inner .post-date-day, .box-badge .badge-inner .post-date-month { color: #2a1d05; }
.box-text .post-title a { color: inherit; }
.box-badge .box-text .post-title, .box-text .post-title.is-xsmall { color: var(--pg-gold-2); background: none; -webkit-text-fill-color: initial; }
.box-overlay .box-text, .box-shade .box-text { color: #fff !important; }
.box-overlay .box-text .post-title { color: #fff !important; background: none; -webkit-text-fill-color: initial; }
.box-image .image-cover { border-radius: 0; }
.is-selected .box, .box.has-hover:hover .box-text { background-color: transparent !important; }

/* =====================================================================
   SIDEBAR & WIDGET
   ===================================================================== */
.widget { margin-bottom: 28px; padding: 18px; background: var(--pg-card); border: 1px solid var(--pg-line-soft); border-radius: 16px; }
.widget-title, .widget .widget-title, .widget .wp-block-heading { font-family: var(--pg-serif); text-transform: none; letter-spacing: .02em; font-size: 1.1rem; }
.widget .is-divider { background: linear-gradient(90deg, var(--pg-gold), transparent); height: 2px; }
.widget ul li, .widget_recent_entries li, .wp-block-latest-posts li { border-color: var(--pg-line-soft) !important; color: var(--pg-muted); }
.widget a, .widget li a, .wp-block-latest-posts__post-title, .recent-blog-posts a { color: var(--pg-gold-2) !important; }
.widget a:hover, .wp-block-latest-posts__post-title:hover { color: #fff !important; }
.recent-blog-posts { border-color: var(--pg-line-soft) !important; }
.recent-blog-posts-li + .recent-blog-posts-li .recent-blog-posts { border-top: 1px dashed var(--pg-line-soft); }
.recent-blog-posts .post-date .badge-inner { border: 1px solid var(--pg-gold) !important; border-radius: 12px; }
.recent-blog-posts .post-date-day, .recent-blog-posts .post-date-month { color: #fff; }
.widget_search .searchform input { border-radius: 999px 0 0 999px; }
.widget_categories li a, .widget_tag_cloud a { color: var(--pg-gold-2) !important; }
.tagcloud a, .widget_tag_cloud a { background: var(--pg-card); border: 1px solid var(--pg-line-soft); border-radius: 999px; padding: 4px 12px; margin: 0 6px 6px 0; display: inline-block; font-size: .85rem !important; }
.widget_calendar table, .widget_calendar caption { color: var(--pg-text); }
.widget select { width: 100%; }
.post-sidebar .widget:last-child { margin-bottom: 0; }

/* =====================================================================
   MỤC LỤC (Fixed TOC)
   ===================================================================== */
#ftwp-container, .ftwp-in-post #ftwp-container, .ftwp-widget, #ftwp-container-outer .ftwp-wrap {
  background: rgba(10,6,32,.96) !important; color: var(--pg-text) !important; border: 1px solid var(--pg-line) !important; border-radius: 14px; box-shadow: 0 16px 40px rgba(0,0,0,.5) !important;
}
#ftwp-header, .ftwp-header, #ftwp-header-title, .ftwp-header-title { background: rgba(232,199,125,.1) !important; color: var(--pg-gold-2) !important; font-family: var(--pg-serif); border-radius: 14px 14px 0 0; }
#ftwp-contents a, .ftwp-list a, .ftwp-anchor { color: var(--pg-text) !important; }
#ftwp-contents a:hover, .ftwp-anchor:hover, .ftwp-active > .ftwp-anchor, .ftwp-anchor.ftwp-active { color: var(--pg-gold-2) !important; }
.ftwp-list, .ftwp-list-nest { color: var(--pg-muted) !important; }
.ftwp-list .ftwp-item::marker, .ftwp-list li::marker { color: var(--pg-gold); }
#ftwp-header-control, .ftwp-header-control, .ftwp-colexp { color: var(--pg-gold) !important; }
#ftwp-container .ftwp-icon-number { color: var(--pg-gold) !important; }

/* =====================================================================
   BÌNH LUẬN wpDiscuz
   ===================================================================== */
#wpdcom, #wpdcom .wpd-comment-text, #wpdcom .wpd-comment-text p, #wpdcom .wpd-thread-info, #wpdcom .wpd-form-head .wpd-auth, #wpdcom .wpd-login,
#wpdcom .wpd-thread-filter .wpd-filter, #wpdcom .wpd-vote-result, #wpdcom .wpd-reply-button, #wpdcom .wpd-form-foot label, #wpdcom .wpdiscuz-subscribe-form-intro,
#wpdcom .wpdiscuz-subscribe-form-option, #wpdcom .wpd-sbs-toggle, #wpdcom .wpd-load-more-submit, #wpdcom .wpd-comment-date, #wpdcom .wpd-thread-info::before, #wpdcom .wpd-form-foot .wpd-form-row .wpd-form-col-right { color: var(--pg-text); }
#wpdcom .wpd-comment-date, #wpdcom .wpd-vote-result, #wpdcom .wpd-thread-info { color: var(--pg-muted); }
#wpdcom .wpd-comment-author, #wpdcom .wpd-comment-author a, #wpdcom .wpd-thread-info.wpd-active, #wpdcom .wpd-filter.wpd-active, #wpdcom .wpd-sbs-toggle i { color: var(--pg-gold-2) !important; }
#wpdcom .wpd-blog-guest .wpd-comment-author, #wpdcom .wpd-blog-guest .wpd-comment-author a { color: var(--pg-gold-2) !important; }
#wpdcom .wpd-form-head { border-bottom: 1px solid var(--pg-line); }
#wpdcom .wpd-thread-head { border-bottom: 1px solid var(--pg-line-soft); }
#wpdcom .wpd-thread-info.wpd-active { border-bottom-color: var(--pg-gold); }
#wpdcom .wpd-form-wrap, #wpdcom .wpd-comment-wrap { background: var(--pg-card); border: 1px solid var(--pg-line-soft); border-radius: 16px; padding: 16px 18px; margin-bottom: 14px; }
#wpdcom.wpd-layout-2 .wpd-comment .wpd-comment-wrap { border-left: 1px solid var(--pg-line-soft); }
#wpdcom.wpd-layout-2 .wpd-comment .wpd-comment-right { border-left: 0; }
#wpdcom .wpd-comment-header { border-bottom: 0; }
#wpdcom .wpd-avatar img { border-color: var(--pg-gold) !important; border-radius: 50%; }
#wpdcom .wpd-comment-footer { border-top: 1px dashed var(--pg-line-soft); }
#wpdcom .wpd-vote-up, #wpdcom .wpd-vote-down, #wpdcom .wpd-reply-button i, #wpdcom .wpd-comment-share i { color: var(--pg-muted); }
#wpdcom .wpd-vote-up:hover, #wpdcom .wpd-reply-button:hover { color: var(--pg-gold-2); }
#wpdcom .wpd-editor-wraper, #wpdcom .wpd-textarea-wrap, #wpdcom .ql-editor, #wpdcom .ql-container, #wpdcom .wpdiscuz-item input, #wpdcom .wpd-form-row input, #wpdcom .wpdiscuz-subscribe-form-email input {
  background-color: rgba(6, 3, 22, 0.6) !important; color: var(--pg-text) !important; border-color: var(--pg-line-soft) !important; border-radius: 10px;
}
#wpdcom .ql-editor.ql-blank::before, #wpdcom input::placeholder { color: rgba(179,167,214,.55) !important; }
#wpdcom .wpd-editor-toolbar, #wpdcom .ql-toolbar { background: rgba(255,255,255,.04) !important; border-color: var(--pg-line-soft) !important; }
#wpdcom .ql-toolbar .ql-stroke { stroke: var(--pg-muted); }
#wpdcom .ql-toolbar .ql-fill { fill: var(--pg-muted); }
#wpdcom .wpd-field-icon, #wpdcom .wpd-editor-char-counter { color: var(--pg-muted); }
#wpdcom .wpd-prim-button, #wpdcom .wpdiscuz-subscribe-form-button input, #wpdcom .wpd-load-more-submit { background: var(--pg-gold-btn) !important; color: #2a1d05 !important; border: 0 !important; border-radius: 999px !important; font-weight: 700; }
#wpdcom .wpd-secondary-button, #wpdcom .wpd-thread-filter .wpd-filter { background: transparent; }
#wpdcom .wpd-secondary-button { border: 1px solid var(--pg-line) !important; color: var(--pg-gold-2) !important; border-radius: 999px !important; }
#wpdcom .wpd-comment-label { background: var(--pg-gold) !important; color: #2a1d05 !important; }
#wpdcom .wpd-blog-administrator .wpd-comment-author, #wpdcom .wpd-blog-administrator .wpd-comment-author a { color: var(--pg-gold) !important; }
#wpdcom .wpd-comment-text a { color: var(--pg-gold); }
#wpdcom .wpd-social-login, #wpdcom .wc_social_plugin_wrapper { color: var(--pg-muted); }
.wpdiscuz_top_clearing { height: 10px; }
#comments .comment-reply-title, #comments .comments-title, .comment-form label { color: var(--pg-gold-2); }
.comment-form input[type="submit"] { background: var(--pg-gold-btn) !important; color: #2a1d05 !important; }

/* =====================================================================
   POPUP MAKER, THÔNG BÁO, KHÁC
   ===================================================================== */
.pum-container, .pum-theme-default-theme .pum-container, .pum-theme-lightbox .pum-container, .pum-theme-enterprise-blue .pum-container, .pum-theme-hello-box .pum-container, .pum-theme-cutting-edge .pum-container, .pum-theme-framed-border .pum-container, .pum-theme-floating-bar .pum-container {
  background: linear-gradient(180deg, #160d3a, #07051a) !important; color: var(--pg-text) !important; border: 1px solid var(--pg-line) !important; border-radius: 18px !important; box-shadow: 0 30px 80px rgba(0,0,0,.6) !important;
}
.pum-container .pum-title, .pum-container h1, .pum-container h2, .pum-container h3 { color: var(--pg-gold-2) !important; font-family: var(--pg-serif); }
.pum-container .pum-content, .pum-container .pum-content p, .pum-container .pum-content li { color: var(--pg-text) !important; }
.pum-container .pum-content a { color: var(--pg-gold) !important; }
.pum-container .pum-close, .pum-theme-default-theme .pum-container .pum-close { background: var(--pg-gold-btn) !important; color: #2a1d05 !important; border: 0 !important; border-radius: 999px !important; }
.pum-overlay { background: rgba(5, 3, 15, 0.85) !important; }

/* Ad Inserter / quảng cáo: giữ nguyên, chỉ bo góc khối */
.code-block { background: transparent; }

/* Alert trong plugin tra cứu (giữ đồng bộ) */
.tpv-alert { padding: 16px 20px; border-radius: 14px; border: 1px solid rgba(255,154,154,.45); background: rgba(255,120,120,.12); color: #ffe1e1; }

/* Không đè lên các tiêu đề nhỏ trong báo cáo thần số học (tsh-ui.css) */
.tpv-tsh .tpv-prose h2, .tpv-tsh .tpv-prose h3, .tpv-tsh .tpv-prose h4 {
  font-size: 1.02rem; margin: 1.4em 0 .6em; padding-left: 12px; letter-spacing: .06em; text-transform: uppercase; background: none; -webkit-text-fill-color: initial; color: var(--pg-gold) !important; filter: none;
}
.tpv-tsh .tpv-prose h3 { color: var(--pg-violet-2) !important; font-size: .95rem; }
.tpv-tsh .tpv-prose h2::before, .tpv-tsh .tpv-prose h3::before { display: none; }
.tpv-tsh .tpv-sub { font-size: 1.12rem; margin: 1.5em 0 .6em; color: var(--pg-gold-2); }
.tpv-tsh .tpv-sub.is-now { color: #fff; }
.tpv-tsh p, .tpv-tsh li { font-size: 1rem; line-height: 1.7; }
.tpv-tsh .tpv-btn--primary { border-radius: 999px !important; }
.tpv-tsh .tpv-label, .tpv-tsh legend.tpv-label { color: var(--pg-gold-2); }
/* Trang Tarot: giữ nguyên giao diện riêng của tarot.css (không đè nền lá bài / nút) */
.tpv-tarot .tpv-q-input { border-radius: 999px !important; }
.tpv-tarot .tpv-again { color: #1a1138 !important; }
.tpv-tarot .tpv-back, .tpv-tarot .tpv-spread { font-family: inherit; }

/* =====================================================================
   MÀU CỨNG CÒN SÓT TRONG NỘI DUNG (soạn từ thời nền trắng)
   ===================================================================== */
#main [style*="color: #000000"], #main [style*="color:#000000"], #main [style*="color: #000;"], #main [style*="color:#000;"],
#main [style*="color: #282828"], #main [style*="color: #555555"], #main [style*="color: #525252"], #main [style*="color: #333333"], #main [style*="color: #333;"],
#main [style*="color: #222222"], #main [style*="color: #444444"], #main [style*="color: #666666"], #main [style*="color: #777777"], #main [style*="color: black"] { color: var(--pg-text) !important; }
#main a[style*="color: #000000"], #main a[style*="color:#000000"], #main a[style*="color: #333"] { color: var(--pg-gold) !important; }
#main [style*="color: #ff0000"], #main [style*="color:#ff0000"], #main [style*="color: #f00"], #main [style*="color:#f00"], #main [style*="color: #ed1c24"],
#main [style*="color: #c00"], #main [style*="color: #cc0000"], #main [style*="color: #e00"] { color: var(--pg-gold) !important; }
#main [style*="color: #0000ff"], #main [style*="color: #5858ff"], #main [style*="color: blue"], #main [style*="color: #3366ff"] { color: var(--pg-violet-2) !important; }
#main [style*="color: #339966"], #main [style*="color: green"], #main [style*="color: #008000"] { color: #9fe3b5 !important; }
#main [style*="background-color: #fff"], #main [style*="background-color:#fff"], #main [style*="background: #fff"], #main [style*="background:#fff"],
#main [style*="background-color: white"], #main [style*="background-color: #ffffff"], #main [style*="background-color:#ffffff"], #main [style*="background-color: #f5f5f5"], #main [style*="background-color: #fafafa"], #main [style*="background-color: #eee"],
#main .col-inner[style*="background-color:rgb(236, 247, 255)"], #main .col-inner[style*="background-color:rgb(255 214 214)"], #main .col-inner[style*="background-color:rgb(235, 235, 235)"],
#main .col-inner[style*="background-color:rgba(255, 255, 255, 0.663)"], #main .col-inner[style*="background-color:rgba(255, 199, 199"], #main .col-inner[style*="background-color:rgba(255, 255, 255, 0.5"] {
  background-color: var(--pg-card) !important; border: 1px solid var(--pg-line-soft); border-radius: 16px; color: var(--pg-text);
}
#main .col-inner[style*="background-color:rgb(151, 0, 0)"], #main .col-inner[style*="background-color: rgb(151, 0, 0)"], #main .col-inner[style*="background-color:rgba(10, 6, 32"] { background-color: rgba(10, 6, 32, 0.72) !important; border: 1px solid var(--pg-line); border-radius: 18px; }
#main .col-inner.dark[style*="background-color"] h2, #main .col-inner.dark[style*="background-color"] h3 { color: var(--pg-gold-2); }
#main .text[style*="color: #f8e6b4"] > * { color: var(--pg-gold-2) !important; }
#main form[name="import"] label, #main form[name="import"] .col-inner > p:first-child { color: var(--pg-gold-2); font-family: var(--pg-serif); font-weight: 600; }
#main form[name="import"] input[type="radio"] + span, #main form[name="import"] label span { color: var(--pg-text); font-family: inherit; font-weight: 400; }
#main form[name="import"] input[type="submit"] { border-radius: 999px !important; }

/* Bảng rộng cuộn ngang thay vì tràn màn hình */
#main .entry-content table:not(.bieudo), #main .page-wrapper table:not(.bieudo) { max-width: 100%; }
#main table:not(.bieudo) th, #main table:not(.bieudo) td { border-color: var(--pg-line-soft); }
#main table:not(.bieudo) th { background: rgba(232,199,125,.1); color: var(--pg-gold-2); }

/* =====================================================================
   MỤC LỤC (Fixed TOC) - đè màu sáng cài trong plugin
   ===================================================================== */
#ftwp-container.ftwp-wrap #ftwp-contents, #ftwp-container.ftwp-wrap #ftwp-list, #ftwp-container.ftwp-wrap #ftwp-contents:hover #ftwp-list {
  background: rgba(10, 6, 32, 0.97) !important; color: var(--pg-text) !important; border-color: var(--pg-line) !important;
}
#ftwp-container.ftwp-wrap #ftwp-header, #ftwp-container.ftwp-wrap #ftwp-contents:hover #ftwp-header {
  background: rgba(232, 199, 125, 0.12) !important; color: var(--pg-gold-2) !important; font-family: var(--pg-serif) !important; border-bottom: 1px solid var(--pg-line-soft);
}
#ftwp-container.ftwp-wrap #ftwp-header-title, #ftwp-container.ftwp-wrap #ftwp-header-control, #ftwp-container.ftwp-wrap #ftwp-header-control i { color: var(--pg-gold-2) !important; }
#ftwp-container.ftwp-wrap #ftwp-list .ftwp-anchor, #ftwp-container.ftwp-wrap #ftwp-list .ftwp-text, #ftwp-container.ftwp-wrap #ftwp-list .ftwp-anchor::before { color: var(--pg-text) !important; }
#ftwp-container.ftwp-wrap #ftwp-list .ftwp-anchor:hover, #ftwp-container.ftwp-wrap #ftwp-list .ftwp-anchor:hover .ftwp-text, #ftwp-container.ftwp-wrap #ftwp-list .ftwp-active,
#ftwp-container.ftwp-wrap #ftwp-list .ftwp-active .ftwp-text, #ftwp-container.ftwp-wrap #ftwp-list .ftwp-active:hover, #ftwp-container.ftwp-wrap #ftwp-list .ftwp-anchor:focus { color: var(--pg-gold-2) !important; }
#ftwp-container.ftwp-wrap #ftwp-list .ftwp-text::before, .ftwp-heading-target::before { background: var(--pg-gold) !important; }
#ftwp-container.ftwp-wrap #ftwp-trigger { color: #2a1d05 !important; background: var(--pg-gold-btn) !important; border-color: var(--pg-gold-deep) !important; box-shadow: 0 8px 24px rgba(232,199,125,.3); }
.ftwp-in-post#ftwp-container-outer #ftwp-contents { border-radius: 14px; overflow: hidden; max-width: 100%; }
#ftwp-container.ftwp-wrap #ftwp-list, #ftwp-container.ftwp-wrap #ftwp-header { font-family: inherit; }

/* =====================================================================
   BÌNH LUẬN wpDiscuz - phần bổ sung (trả lời, đánh giá, bong bóng)
   ===================================================================== */
#wpdcom.wpd-layout-2 .wpd-comment.wpd-reply .wpd-comment-wrap { background: rgba(255, 255, 255, 0.035) !important; border-left: 3px solid var(--pg-gold-deep) !important; border-radius: 0 14px 14px 0; }
#wpdcom.wpd-layout-2 .wpd-comment.wpd-reply .wpd-comment-wrap .wpd-comment-right, #wpdcom.wpd-layout-2 .wpd-comment.wpd-reply .wpd-comment-wrap .wpd-comment-header { background: transparent !important; }
#wpdcom .wpd-new-loaded-comment > .wpd-comment-wrap, #wpdcom .wpd-new-loaded-comment > .wpd-comment-wrap > .wpd-comment-right { background: rgba(232, 199, 125, 0.10) !important; }
#wpdcom .wpd-comment-text, #wpdcom .wpd-comment-text p, #wpdcom .wpd-comment-text li { color: var(--pg-text) !important; }
#wpdcom .wpd-comment-author, #wpdcom .wpd-comment-author a, #wpdcom .wpd-comment .wpd-comment-wrap .wpd-comment-author span.wpd-user-nicename { color: var(--pg-gold-2) !important; font-family: inherit; }
#wpdcom .wpd-reply-to, #wpdcom .wpd-reply-to a, #wpdcom .wpd-reply-to i { color: var(--pg-muted) !important; }
#wpdcom .wpd-reply-to a:hover { color: var(--pg-gold-2) !important; }
#wpdcom .wpd-comment-status, #wpdcom .wpd-comment-last-edited, #wpdcom .wpd-comment-last-edited i, #wpdcom .wpd-unapproved-comment .wpd-comment-status span { color: var(--pg-muted) !important; }
#wpdcom .wpd-vote-result { color: var(--pg-gold) !important; }
#wpdcom .wpd-vote-result.wpd-up { color: #9fe3b5 !important; }
#wpdcom .wpd-vote-result.wpd-down { color: #ff9a9a !important; }
#wpdcom .wpd-avatar img { background: #1a1138 !important; border: 2px solid var(--pg-gold) !important; border-radius: 50% !important; }
#wpdcom.wpd-layout-2 .wpd-comment .wpd-avatar img { border-bottom-color: var(--pg-gold) !important; }
#wpdcom .wpd-form-head .wpd-auth .wpd-login a, #wpdcom .wpd-form-foot .wpd-form-row .wpd-form-col-left, #wpdcom .wpd-sbs-toggle, #wpdcom .wpd-load-more-submit, #wpdcom .wpd-thread-filter .wpdf-active, #wpdcom .wpd-thread-head .wpdiscuz-user-settings { color: var(--pg-text) !important; }
#wpdcom .wpd-thread-head .wpd-thread-info { border-bottom-color: var(--pg-gold) !important; }
#wpdcom .wpd-thread-filter .wpd-filter { color: var(--pg-muted); }
#wpdcom .wpd-thread-filter .wpd-filter.wpdf-active, #wpdcom .wpd-thread-filter .wpd-filter:hover { color: var(--pg-gold-2) !important; }
#wpdcom .wpd-thread-filter .wpd-filter.wpdf-active { border-bottom-color: var(--pg-gold) !important; }
#wpdcom .wpd-prim-button { box-shadow: 0 8px 22px rgba(232, 199, 125, 0.25); }
#wpdcom .wpd-comment-label { background: var(--pg-gold) !important; color: #2a1d05 !important; }
#wpdcom.wpd-layout-2 .wpd-comment.wpd-reply .wpd-comment-wrap.wpd-blog-administrator, #wpdcom.wpd-layout-2 .wpd-comment.wpd-reply .wpd-comment-wrap.wpd-blog-author { border-left-color: var(--pg-gold) !important; }
#wpdcom .ql-editor { min-height: 90px; }
#wpdcom .wpd-form-row .wpdiscuz-item input[type="text"], #wpdcom .wpd-form-row .wpdiscuz-item input[type="email"], #wpdcom .wpd-form-row .wpdiscuz-item input[type="url"] { color: var(--pg-text) !important; }
#wpdcom .wpdiscuz-comment-message, #wpdiscuz-comment-message { background: rgba(10, 6, 32, 0.97) !important; color: var(--pg-text) !important; border: 1px solid var(--pg-line) !important; border-radius: 12px; }
#wpdcom .wpd-thread-list .wpd-load-comments, #wpdcom .wpd-load-more-submit { color: var(--pg-gold-2) !important; }
/* Đánh giá bài viết (sao) */
#wpd-post-rating .wpd-rating-wrap { width: min(100%, 320px); }
#wpd-post-rating .wpd-rating-wrap .wpd-rating-value { background: rgba(6, 3, 22, 0.9) !important; border: 1px solid var(--pg-gold) !important; box-shadow: 0 0 22px rgba(232, 199, 125, 0.25); font-family: var(--pg-serif) !important; }
#wpd-post-rating .wpd-rating-wrap .wpd-rating-value span { color: var(--pg-gold-2) !important; }
#wpd-post-rating .wpd-rating-wrap .wpd-rating-left, #wpd-post-rating .wpd-rating-wrap .wpd-rating-right { border-bottom-color: var(--pg-line) !important; }
#wpd-post-rating .wpd-rating-wrap .wpd-rating-title { color: var(--pg-muted) !important; }
/* Bong bóng bình luận nổi: chuyển sang góc phải dưới, màu vàng kim, không đè lên chữ */
#wpd-bubble-wrapper { left: auto !important; right: 14px !important; bottom: 88px !important; top: auto !important; opacity: 1; }
#wpd-bubble-wrapper > div { background: var(--pg-gold-btn) !important; border: 1px solid rgba(255,255,255,.35) !important; box-shadow: 0 8px 24px rgba(0,0,0,.45), 0 0 18px rgba(232,199,125,.35) !important; width: 52px !important; height: 52px !important; }
#wpd-bubble-wrapper { width: 52px; }
#wpd-bubble-wrapper svg path.wpd-bubble-plus-first, #wpd-bubble-wrapper svg path.wpd-bubble-count-first, #wpd-bubble-wrapper svg path.wpd-bubble-notification-first { fill: #2a1d05 !important; }
#wpd-bubble-wrapper svg path.wpd-bubble-plus-second, #wpd-bubble-wrapper svg path.wpd-bubble-count-second, #wpd-bubble-wrapper svg path.wpd-bubble-notification-second { fill: none !important; }
#wpd-bubble-wrapper #wpd-bubble-count .wpd-new-comments-count { background: #ff9a9a; color: #2a1d05; }
#wpd-bubble-wrapper #wpd-bubble-all-comments-count { color: var(--pg-gold-2) !important; text-shadow: 0 1px 4px #000; }
#wpd-bubble-wrapper > #wpd-bubble #wpd-bubble-add-message { background: rgba(10, 6, 32, 0.97) !important; color: var(--pg-text) !important; border: 1px solid var(--pg-line); max-width: calc(100vw - 100px); }
#wpd-bubble-wrapper > #wpd-bubble #wpd-bubble-add-message::before { border-left-color: var(--pg-line) !important; border-right-color: var(--pg-line) !important; }

/* Điều hướng bài trước/sau: vạch chia mờ, bỏ hẳn khi thiếu 1 bên */
.next-prev-nav .flex-col + .flex-col { border-left-color: var(--pg-line-soft) !important; }
.next-prev-nav .flex-col + .flex-col:not(:has(a)) { border-left: 0 !important; }

/* =====================================================================
   CÂU THƠ TRIẾT LÝ TRANG CHỦ (.tpv-motto) – bức hoành phi cổ phong
   HTML nằm trong nội dung page 33 (trang chủ).
   ===================================================================== */
.tpv-motto {
  position: relative;
  max-width: 820px;
  margin: 4px auto 38px;
  padding: 7px;
  border: 1px solid rgba(232, 199, 125, 0.6);
  border-radius: 4px;
  background:
    radial-gradient(ellipse 70% 80% at 50% 45%, rgba(124, 58, 237, 0.32) 0%, rgba(124, 58, 237, 0) 70%),
    linear-gradient(180deg, rgba(34, 19, 79, 0.82) 0%, rgba(5, 3, 15, 0.9) 100%);
  box-shadow: 0 0 0 1px rgba(5, 3, 15, 0.7), 0 20px 55px rgba(0, 0, 0, 0.5), inset 0 0 48px rgba(232, 199, 125, 0.07);
  overflow: hidden;
  isolation: isolate;
}
.tpv-motto__inner {
  position: relative;
  padding: 28px 36px 30px;
  border: 1px solid rgba(232, 199, 125, 0.4);
  border-radius: 2px;
  text-align: center;
  /* Vân mây (scallop) chạy dọc mép trên và mép dưới */
  background-image:
    radial-gradient(circle at 50% 0, rgba(232, 199, 125, 0.13) 0 7px, transparent 8px),
    radial-gradient(circle at 50% 100%, rgba(232, 199, 125, 0.13) 0 7px, transparent 8px);
  background-size: 24px 12px, 24px 12px;
  background-position: top center, bottom center;
  background-repeat: repeat-x, repeat-x;
}
/* Bốn góc hoa văn */
.tpv-motto::before, .tpv-motto::after,
.tpv-motto__inner::before, .tpv-motto__inner::after {
  content: "";
  position: absolute;
  width: 24px; height: 24px;
  border: 2px solid var(--pg-gold);
  pointer-events: none;
  z-index: 3;
  filter: drop-shadow(0 0 4px rgba(232, 199, 125, 0.55));
}
.tpv-motto::before { top: 6px; left: 6px; border-right: 0; border-bottom: 0; }
.tpv-motto::after  { top: 6px; right: 6px; border-left: 0; border-bottom: 0; }
.tpv-motto__inner::before { bottom: -1px; left: -1px; border-right: 0; border-top: 0; }
.tpv-motto__inner::after  { bottom: -1px; right: -1px; border-left: 0; border-top: 0; }
/* Vòng bát quái mờ xoay chậm phía sau */
.tpv-motto__ring {
  position: absolute;
  top: 50%; left: 50%;
  width: 300px; height: 300px;
  margin: -150px 0 0 -150px;
  border: 1px dashed rgba(232, 199, 125, 0.22);
  border-radius: 50%;
  box-shadow: inset 0 0 0 18px rgba(0, 0, 0, 0), inset 0 0 0 19px rgba(232, 199, 125, 0.12), 0 0 60px rgba(180, 140, 255, 0.12);
  pointer-events: none;
  z-index: 0;
  animation: tpv-motto-spin 120s linear infinite;
}
.tpv-motto__ring::before {
  content: "";
  position: absolute;
  inset: 40px;
  border: 1px solid rgba(232, 199, 125, 0.16);
  border-radius: 50%;
  background:
    conic-gradient(from 0deg, rgba(232, 199, 125, 0.12) 0 45deg, transparent 45deg 90deg, rgba(232, 199, 125, 0.12) 90deg 135deg, transparent 135deg 180deg,
      rgba(232, 199, 125, 0.12) 180deg 225deg, transparent 225deg 270deg, rgba(232, 199, 125, 0.12) 270deg 315deg, transparent 315deg 360deg);
  -webkit-mask: radial-gradient(circle, transparent 62%, #000 63%);
  mask: radial-gradient(circle, transparent 62%, #000 63%);
  animation: tpv-motto-spin 80s linear infinite reverse;
}
/* Hàng hoa văn ☯ với hai đường kẻ mờ dần */
.tpv-motto__orn {
  position: relative; z-index: 2;
  display: flex; align-items: center; justify-content: center; gap: 12px;
  margin: 0 0 14px;
  color: var(--pg-gold);
  line-height: 1;
}
.tpv-motto__orn::before, .tpv-motto__orn::after {
  content: "";
  flex: 0 1 140px; height: 1px;
  background: linear-gradient(90deg, rgba(232, 199, 125, 0), var(--pg-gold));
}
.tpv-motto__orn::after { background: linear-gradient(90deg, var(--pg-gold), rgba(232, 199, 125, 0)); }
.tpv-motto__dot { font-size: 9px; opacity: 0.85; }
.tpv-motto__sym {
  font-size: 30px;
  filter: drop-shadow(0 0 7px rgba(232, 199, 125, 0.65));
  animation: tpv-motto-spin 40s linear infinite;
}
/* Câu thơ: chữ serif nghiêng, ánh kim */
.tpv-motto .tpv-motto__text {
  position: relative; z-index: 2;
  margin: 0;
  font-family: var(--pg-serif);
  font-style: italic;
  font-weight: 600;
  font-size: clamp(20px, 2.9vw, 29px);
  line-height: 1.65;
  letter-spacing: 0.4px;
  background: var(--pg-metal);
  -webkit-background-clip: text; background-clip: text;
  color: var(--pg-gold);
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 2px 12px rgba(232, 199, 125, 0.28));
}
/* Ấn triện đỏ nhỏ ký tên */
.tpv-motto__seal {
  position: relative; z-index: 2;
  display: inline-flex; align-items: center; justify-content: center;
  width: 46px; height: 46px;
  margin: 18px auto 0;
  border: 2px solid #d0323a;
  border-radius: 4px;
  box-shadow: inset 0 0 0 2px rgba(5, 3, 15, 0.85), inset 0 0 0 3px #d0323a, 0 4px 14px rgba(0, 0, 0, 0.45);
  background: #a8161e;
  color: #f8e6b4;
  font: 700 9px/1.2 var(--pg-serif);
  text-transform: uppercase;
  letter-spacing: 0.6px;
  transform: rotate(-4deg);
  opacity: 0.94;
}
@keyframes tpv-motto-spin { to { transform: rotate(360deg); } }
@media (max-width: 549px) {
  .tpv-motto { margin-bottom: 28px; }
  .tpv-motto__inner { padding: 22px 10px 24px; }
  .tpv-motto .tpv-motto__text { font-size: 17px; letter-spacing: 0.1px; line-height: 1.75; }
  .tpv-motto__ring { width: 230px; height: 230px; margin: -115px 0 0 -115px; }
  .tpv-motto__orn::before, .tpv-motto__orn::after { flex-basis: 70px; }
  .tpv-motto__sym { font-size: 26px; }
}
@media (prefers-reduced-motion: reduce) {
  .tpv-motto__ring, .tpv-motto__ring::before, .tpv-motto__sym { animation: none; }
}

/* =====================================================================
   RESPONSIVE
   ===================================================================== */
@media (max-width: 849px) {
  .page-title-inner { padding-top: 22px; padding-bottom: 16px; }
  .blog-archive article.post { padding: 16px; }
  .widget { padding: 14px; }
  #logo { max-width: 220px; }
  #logo img { max-height: 48px !important; }
  /* Khối form nhúng ở trang chủ (tra cứu TSH, tình duyên) có padding 37px 2 bên -> quá hẹp trên di động */
  #main .row > .col > .col-inner[style*="background-color:rgba(10, 6, 32"] { padding-left: 10px !important; padding-right: 10px !important; }
  #main .row.row-small > .col > .col-inner[style*="background-color:rgba(10, 6, 32"] { padding: 14px 8px !important; }
  #main .tpv-tsh .tpv-card, #main .tpv-tsh--form { margin-left: 0; margin-right: 0; }
  #main .col-inner:has(> .tpv-tsh), #main .col-inner:has(> .tpv-tsh--form) { padding-left: 6px !important; padding-right: 6px !important; }
  #main section.section:has(.tpv-tsh--form) { padding-left: 0 !important; padding-right: 0 !important; }
  #main .tpv-tsh--form { padding: 16px 12px; }
  #main .tpv-tsh--form .tpv-form--duo .tpv-fieldset { padding: 12px 10px; }
  /* Bảng trong bài dài hơn màn hình: cuộn ngang trong khung */
  #main table:not(.bieudo) { display: block; width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--pg-line-soft); border-radius: 12px; }
  #main table:not(.bieudo) td, #main table:not(.bieudo) th { min-width: 120px; }
  table.bieudo { transform: scale(.92); transform-origin: center top; }
  /* Mục lục trong bài chiếm hết chiều ngang */
  .ftwp-in-post#ftwp-container-outer.ftwp-float-none #ftwp-contents, #ftwp-container.ftwp-wrap #ftwp-contents { width: 100% !important; }
  /* Tiêu đề & nội dung */
  .entry-content, .page-wrapper > .row-main > .col { font-size: 1rem; line-height: 1.75; }
  .entry-content h2, .page-wrapper > .row-main > .col > h2 { font-size: 1.3rem; margin-top: 1.5em; }
  .entry-header .entry-title { font-size: 1.45rem; }
  blockquote { padding: 12px 14px; }
  .blog-archive article .entry-title { font-size: 1.25rem; }
  .yarpp-related { padding: 16px; }
  /* Form gieo quẻ / xem bói hàng ngày: ô chọn đủ rộng, chữ dễ đọc */
  #main form[name="import"] .row-collapse > .col { padding-bottom: 8px; }
  #main form[name="import"] select { font-size: 15px; }
  /* Bình luận: gọn lề, nút bấm đủ lớn */
  #wpdcom .wpd-form-wrap, #wpdcom .wpd-comment-wrap { padding: 12px; }
  #wpdcom .wpd-prim-button, #wpdcom .wpd-secondary-button { width: 100%; text-align: center; padding: 12px 16px; }
  #wpdcom .wpd-form-foot .wpd-form-row .wpd-form-col-right { text-align: center; width: 100%; }
  #wpd-bubble-wrapper { bottom: 72px !important; }
  .back-to-top { bottom: 14px !important; right: 14px !important; }
  /* Trang Tarot: quạt bài vừa màn hình, lá to đủ chạm */
  .tpv-tarot { padding-left: 12px; padding-right: 12px; }
  .tpv-tarot .tpv-back { width: 60px; height: 98px; margin: 5px -8px; }
  .tpv-tarot .tpv-spreads { gap: 12px; }
  .tpv-tarot .tpv-spread { flex: 1 1 140px; padding: 16px 12px; }
}
@media (min-width: 850px) and (max-width: 1099px) {
  /* Tablet: giữ 2 cột nhưng lề gọn hơn */
  .post-sidebar .widget { padding: 14px; }
  .blog-single .row-divided > .col + .col { padding-left: 20px; }
  #main .row > .col > .col-inner[style*="background-color:rgba(10, 6, 32"] { padding-left: 18px !important; padding-right: 18px !important; }
  .tpv-tarot .tpv-back { width: 76px; height: 124px; margin: 6px -12px; }
}
@media (hover: none) {
  /* Thiết bị cảm ứng: hover trên lá bài không nhảy lên gây rung */
  .tpv-tarot .tpv-back:hover { transform: none; }
  .tpv-tarot .tpv-back.is-picked { transform: translateY(-12px) scale(1.05); }
  .has-shadow > .col:hover > .col-inner { transform: none; }
}

/* =====================================================================
   IN ẤN
   ===================================================================== */
@media print {
  html, body, #wrapper, #main { background: #fff !important; color: #000 !important; }
  #main::before { display: none; }
  .header-wrapper, .footer-wrapper, .widget, #wpdcom { display: none !important; }
  p, li, td { color: #000 !important; }
  h1, h2, h3 { color: #000 !important; background: none !important; -webkit-text-fill-color: initial !important; }
}

/* =====================================================================
   CHẾ ĐỘ NHẸ html.tpv-lite (2026-09-16) – máy yếu / prefers-reduced-motion / fps thấp
   Script nhận diện in ở <head> (functions.php). Tắt mọi animation, transition, blur, will-change
   của các thành phần tpv-* và header. Xem thêm khối HIỆU NĂNG trong tsh-ui.css.
   ===================================================================== */
html.tpv-lite [class*="tpv-"], html.tpv-lite [class*="tpv-"]::before, html.tpv-lite [class*="tpv-"]::after,
html.tpv-lite .header-wrapper, html.tpv-lite .tpv-motto::before, html.tpv-lite .tpv-motto::after {
  animation: none !important; transition: none !important;
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
  filter: none !important; will-change: auto !important;
}
@media (prefers-reduced-motion: reduce) {
  .tpv-motto, .tpv-motto *, .tpv-motto::before, .tpv-motto::after, .tpv-motto *::before, .tpv-motto *::after { animation: none !important; transition: none !important; }
}

/* =====================================================================
   THẺ CÔNG CỤ TRANG CHỦ (2026-09-16) – 3 trường phái, lưới 2 cột cao bằng nhau
   HTML trong page 33: .tpv-tools > .tpv-tools__group(--tsh|--dong|--tarot) > .tpv-tools__head + .tpv-tools__grid > .tpv-tool
   Cả thẻ bấm được (link .tpv-tool__cta phủ ::after lên toàn thẻ). Icon SVG inline stroke currentColor.
   ===================================================================== */
.tpv-tools { max-width: 1040px; margin: 0 auto; padding: 4px 0 6px; }
.tpv-tools__group { margin: 0 0 56px; }
.tpv-tools__group:last-child { margin-bottom: 12px; }

/* Đầu nhóm */
.tpv-tools__head { text-align: center; max-width: 660px; margin: 0 auto 28px; }
.tpv-tools__label { display: inline-block; font-size: 12px; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--tg-label); margin: 0 0 10px; }
.tpv-tools__head h3 { font-size: 30px; line-height: 1.2; margin: 0 0 10px; color: var(--pg-gold-2); }
.tpv-tools__head p { margin: 0; color: var(--pg-muted); font-size: 16px; line-height: 1.6; }
.tpv-tools__orn { display: flex; align-items: center; justify-content: center; gap: 14px; margin: 0 0 16px; color: var(--tg-label); font-size: 15px; line-height: 1; }
.tpv-tools__orn::before, .tpv-tools__orn::after { content: ""; width: 72px; height: 1px; background: linear-gradient(90deg, transparent, var(--tg-line-strong)); }
.tpv-tools__orn::after { background: linear-gradient(90deg, var(--tg-line-strong), transparent); }

/* Lưới */
.tpv-tools__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }

/* Thẻ */
.tpv-tool { position: relative; isolation: isolate; display: flex; flex-direction: column; min-height: 100%; padding: 30px 28px 26px;
  border-radius: 16px; border: 1px solid var(--tg-line); background: var(--tg-bg); box-shadow: 0 10px 30px rgba(0,0,0,.28);
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease; overflow: hidden; }
.tpv-tool::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: var(--tg-accent-h, 3px); background: var(--tg-accent); z-index: 1; }
.tpv-tool:hover { transform: translateY(-5px); border-color: var(--tg-line-strong); box-shadow: 0 22px 46px rgba(0,0,0,.5), 0 0 0 1px var(--tg-line); }
.tpv-tool__head { display: flex; align-items: center; gap: 18px; margin: 0 0 14px; }
.tpv-tool__icon { flex: 0 0 auto; width: 62px; height: 62px; display: flex; align-items: center; justify-content: center; color: var(--tg-icon);
  background: var(--tg-icon-bg); border: 1px solid var(--tg-line-strong); border-radius: var(--tg-icon-r, 50%); box-shadow: inset 0 0 18px rgba(0,0,0,.25); transition: transform .28s ease; }
.tpv-tool__icon svg { width: 32px; height: 32px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.tpv-tool__icon svg .f { fill: currentColor; stroke: none; }
.tpv-tool:hover .tpv-tool__icon { transform: scale(1.06); }
#main .tpv-tool__title { font-size: 21px; line-height: 1.25; margin: 0; color: var(--pg-gold-2); }
#main .tpv-tool__desc { flex: 1 1 auto; margin: 0 0 22px; color: var(--pg-muted); font-size: 15px; line-height: 1.62; }
.tpv-tool__foot { margin-top: auto; }
.tpv-tool__cta { display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; padding: 10px 20px; border-radius: 999px;
  font-size: 14px; font-weight: 600; letter-spacing: .02em; text-decoration: none; color: var(--tg-cta-fg); background: var(--tg-cta-bg); border: 1px solid var(--tg-cta-line); transition: background .25s, color .25s; }
.tpv-tool__cta::after { content: ""; position: absolute; inset: 0; z-index: 2; }
.tpv-tool__cta i { font-style: normal; transition: transform .25s ease; }
.tpv-tool:hover .tpv-tool__cta { background: var(--tg-cta-bg-hover); color: var(--tg-cta-fg-hover); }
.tpv-tool:hover .tpv-tool__cta i { transform: translateX(4px); }
.tpv-tool:hover .tpv-tool__cta, .tpv-tool:hover .tpv-tool__cta:hover { color: var(--tg-cta-fg-hover); }

/* --- Thần số học (Pythagoras): tím – tử đinh hương, vòng tròn, lưới chấm số --- */
.tpv-tools__group--tsh { --tg-label: var(--pg-violet); --tg-line: rgba(180,140,255,.26); --tg-line-strong: rgba(180,140,255,.55);
  --tg-bg: linear-gradient(160deg, #221457 0%, #130a30 100%); --tg-accent: linear-gradient(90deg, #7c3aed 0%, #b48cff 55%, #e8c77d 100%);
  --tg-icon: #e3d6ff; --tg-icon-bg: radial-gradient(circle at 35% 30%, rgba(124,58,237,.55), rgba(124,58,237,.15) 70%); --tg-icon-r: 50%;
  --tg-cta-fg: var(--pg-violet-2); --tg-cta-bg: rgba(124,58,237,.18); --tg-cta-line: rgba(180,140,255,.4); --tg-cta-bg-hover: #b48cff; --tg-cta-fg-hover: #1b0f3f; }
.tpv-tools__group--tsh .tpv-tool::after { content: ""; position: absolute; right: -30px; top: -30px; width: 190px; height: 190px; pointer-events: none;
  background: radial-gradient(rgba(215,195,255,.32) 1px, transparent 1.4px) 0 0 / 14px 14px; -webkit-mask: radial-gradient(circle at 70% 30%, #000 0%, transparent 70%); mask: radial-gradient(circle at 70% 30%, #000 0%, transparent 70%); }
.tpv-tools__group--tsh .tpv-tool__icon { outline: 1px solid rgba(180,140,255,.22); outline-offset: 4px; }

/* --- Huyền học phương Đông: đỏ son – vàng kim, khung kép, dải hồi văn --- */
.tpv-tools__group--dong { --tg-label: #f0a97a; --tg-line: rgba(232,199,125,.34); --tg-line-strong: rgba(232,199,125,.62);
  --tg-bg: linear-gradient(160deg, #3d0d0d 0%, #1c0606 100%); --tg-accent-h: 7px;
  --tg-accent: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='7' viewBox='0 0 28 7'%3E%3Cpath d='M0 6.5h9.5v-5h-6v2.5h3M14 .5v6h9.5v-5h-6v2.5h3' fill='none' stroke='%23e8c77d' stroke-opacity='.85'/%3E%3C/svg%3E") repeat-x left top / 28px 7px, rgba(120,20,20,.6);
  --tg-icon: #f8e6b4; --tg-icon-bg: radial-gradient(circle at 35% 30%, rgba(190,40,40,.7), rgba(120,20,20,.25) 70%); --tg-icon-r: 8px;
  --tg-cta-fg: #f8e6b4; --tg-cta-bg: rgba(170,30,30,.38); --tg-cta-line: rgba(232,199,125,.5); --tg-cta-bg-hover: var(--pg-gold); --tg-cta-fg-hover: #3a0d0d; }
.tpv-tools__group--dong .tpv-tool { border-radius: 8px; }
.tpv-tools__group--dong .tpv-tool::after { content: ""; position: absolute; inset: 12px 7px 7px; border: 1px solid rgba(232,199,125,.2); border-radius: 4px; pointer-events: none; }
.tpv-tools__group--dong .tpv-tool__icon { outline: 1px solid rgba(232,199,125,.35); outline-offset: 3px; }
.tpv-tools__group--dong .tpv-tool__cta { border-radius: 6px; }
.tpv-tools__group--dong .tpv-tools__head h3 { position: relative; display: inline-block; padding: 0 18px; }
.tpv-tools__group--dong .tpv-tools__head h3::before, .tpv-tools__group--dong .tpv-tools__head h3::after { content: ""; position: absolute; top: 50%; width: 8px; height: 8px; background: #c0392b; transform: translateY(-50%) rotate(45deg); box-shadow: 0 0 0 1px rgba(232,199,125,.5); }
.tpv-tools__group--dong .tpv-tools__head h3::before { left: 0; } .tpv-tools__group--dong .tpv-tools__head h3::after { right: 0; }

/* --- Tarot & dự đoán: xanh chàm đêm sao, khung lá bài vòm --- */
.tpv-tools__group--tarot { --tg-label: #9bb0ff; --tg-line: rgba(232,199,125,.28); --tg-line-strong: rgba(232,199,125,.6);
  --tg-bg: radial-gradient(circle at 18% 18%, rgba(255,255,255,.55) 1px, transparent 1.6px), radial-gradient(circle at 72% 28%, rgba(255,255,255,.4) 1px, transparent 1.5px), radial-gradient(circle at 88% 70%, rgba(255,255,255,.45) 1px, transparent 1.5px), radial-gradient(circle at 40% 82%, rgba(255,255,255,.35) 1px, transparent 1.4px), radial-gradient(circle at 60% 55%, rgba(255,255,255,.3) .8px, transparent 1.3px), linear-gradient(160deg, #182052 0%, #0a0b2c 100%);
  --tg-accent: linear-gradient(90deg, transparent 0%, #f8e6b4 30%, #e8c77d 50%, #f8e6b4 70%, transparent 100%);
  --tg-icon: #f8e6b4; --tg-icon-bg: radial-gradient(circle at 50% 30%, rgba(124,58,237,.5), rgba(30,30,90,.3) 75%); --tg-icon-r: 30px 30px 9px 9px;
  --tg-cta-fg: var(--pg-gold-2); --tg-cta-bg: rgba(232,199,125,.1); --tg-cta-line: rgba(232,199,125,.4); --tg-cta-bg-hover: var(--pg-gold); --tg-cta-fg-hover: #14123a; }
.tpv-tools__group--tarot .tpv-tool__icon { width: 56px; height: 64px; }
.tpv-tools__group--tarot .tpv-tool::after { content: "✦"; position: absolute; right: 22px; top: 22px; color: rgba(248,230,180,.45); font-size: 14px; line-height: 1; pointer-events: none; }

@media (max-width: 849px) {
  /* Di động: thẻ tràn gần hết bề ngang màn hình, chừa 16px mỗi bên (thoát khỏi padding của col/section) */
  .tpv-tools { margin-left: calc(50% - 50vw + 16px); margin-right: calc(50% - 50vw + 16px); }
  /* Tiêu đề section canh giữa trên di động: bỏ 2 vạch để chữ được trọn bề ngang */
  .section-title-center b { display: none; }
  .tpv-tools__grid { grid-template-columns: 1fr; gap: 16px; }
  .tpv-tools__group { margin-bottom: 44px; }
  .tpv-tool__head { gap: 14px; }
  .tpv-tools__head h3 { font-size: 24px; }
  .tpv-tool { padding: 24px 20px 22px; }
  .tpv-tool__icon { width: 54px; height: 54px; }
  .tpv-tool__icon svg { width: 28px; height: 28px; }
  .tpv-tools__group--tarot .tpv-tool__icon { width: 50px; height: 58px; }
  #main .tpv-tool__title { font-size: 18px; }
  #main .tpv-tool__desc { font-size: 14.5px; }
}
