/* ==========================================================
   DARK MODE — imuabanbds.vn
   Override layer — load AFTER ui-upgrade.css
   Kích hoạt: <html data-theme="dark"> (opt-in, nhớ qua localStorage + cookie)
   Sáng = mặc định (không có attribute). v1: trang công khai cốt lõi.
   Version: 1.0.1
   ========================================================== */

/* ---------- 1. Token redefinition ----------
   ui-upgrade.css dùng var(--color-*) ở ~150 chỗ → định nghĩa lại là lật tự động. */
html[data-theme="dark"] {
  --color-primary:       #4a9de0;   /* brand blue lighten cho contrast trên nền tối */
  --color-primary-dark:  #12283b;   /* navTop giữ xanh sâu */
  --color-primary-light: #16324a;   /* tint surface */
  --color-accent:        #26c281;   /* CTA xanh lá sáng hơn */
  --color-accent-dark:   #1ba36a;

  --color-text:           #e6eaef;  /* near-white, không trắng tinh */
  --color-text-secondary: #9aa7b4;
  --color-text-disabled:  #5b6672;

  --color-bg:     #0f141a;          /* nền trang */
  --color-card:   #1a2027;          /* bề mặt nổi (card/panel) */
  --color-border: #2b3540;

  --color-success: #34d399;
  --color-warning: #fbbf24;
  --color-error:   #ff6b6b;         /* giá + diện tích + lỗi — đỏ dịu trên nền tối */

  /* Shadow trên nền tối: dùng shadow đậm để card NỔI KHỐI như light mode (card sáng hơn nền + đổ bóng) */
  --shadow-sm: 0 1px 3px rgba(0,0,0,0.45);
  --shadow-md: 0 2px 10px rgba(0,0,0,0.55);
  --shadow-lg: 0 10px 30px rgba(0,0,0,0.65);
  --shadow-card: 0 2px 12px rgba(0,0,0,0.55);  /* trước chưa định nghĩa → var(--shadow-card) rơi về fallback .08 vô hình; định nghĩa để mọi card dùng var nổi khối */

  color-scheme: dark;               /* scrollbar + form control native tối */
  background: var(--color-bg);
}

/* ---------- 2. Layout core ---------- */
html[data-theme="dark"] body {
  background: var(--color-bg) !important;
  color: var(--color-text);
}
html[data-theme="dark"] .wrapper,
html[data-theme="dark"] .main-layout,
html[data-theme="dark"] .ColCenter,
html[data-theme="dark"] .ColLeft,
html[data-theme="dark"] .ColRight { background: transparent !important; }

/* Header (logo + banner) — ui-upgrade set #fff !important */
html[data-theme="dark"] .header {
  background: var(--color-card) !important;
  border-bottom: 1px solid var(--color-border);
}
/* navTop giữ nền xanh sâu (đã dùng var), chỉ chắc chắn chữ sáng */
html[data-theme="dark"] .navTop { color: rgba(255,255,255,0.85) !important; }
html[data-theme="dark"] .navTop .address { color: rgba(255,255,255,0.7) !important; }

/* Logo ảnh nền trắng → làm dịu trên nền tối (giữ nhận diện, bớt chói) */
html[data-theme="dark"] .header .logo img { filter: brightness(0.95); }

/* Menu chính (thanh nav) */
html[data-theme="dark"] .menu,
html[data-theme="dark"] .menu ul { background: var(--color-primary-dark) !important; }
html[data-theme="dark"] .menu a { color: #e6eaef !important; }
html[data-theme="dark"] .menu .sub-menu,
html[data-theme="dark"] .menu ul ul {
  background: var(--color-card) !important;
  border: 1px solid var(--color-border);
}

/* Footer + menu dưới + hộp link tỉnh */
html[data-theme="dark"] .footer,
html[data-theme="dark"] .menubot,
html[data-theme="dark"] .nhadattt,
html[data-theme="dark"] .footer .wrapper {
  background: var(--color-card) !important;
  color: var(--color-text-secondary) !important;
  border-color: var(--color-border) !important;
}
html[data-theme="dark"] .footer a,
html[data-theme="dark"] .menubot a,
html[data-theme="dark"] .nhadattt a { color: var(--color-text-secondary) !important; }
html[data-theme="dark"] .footer a:hover,
html[data-theme="dark"] .menubot a:hover { color: var(--color-primary) !important; }

/* ---------- 3. Panels / content boxes trắng (theme.min.css) ---------- */
html[data-theme="dark"] .ContentPagePadd,
html[data-theme="dark"] .tabsC,
html[data-theme="dark"] .tabs_content,
html[data-theme="dark"] .borderwhite,
html[data-theme="dark"] .HomeTitle,
html[data-theme="dark"] .HomeTitleFont,
html[data-theme="dark"] .HDuAn,
html[data-theme="dark"] .HTinhot,
html[data-theme="dark"] .DetailC,
html[data-theme="dark"] .box-content,
html[data-theme="dark"] .__box-wrap,
html[data-theme="dark"] .register-card,
html[data-theme="dark"] .ct-card {
  background: var(--color-card) !important;
  color: var(--color-text) !important;
  border-color: var(--color-border) !important;
}
/* Trang sửa tin (.ContentPagePadd--flush đã bỏ viền): container nền tối hơn (--color-bg) để .__box-wrap card (--color-card, sáng hơn) NỔI lên như light mode (card trắng trên nền xám). */
html[data-theme="dark"] .ContentPagePadd.ContentPagePadd--flush { background: var(--color-bg) !important; }
/* Card border-based nổi khối như light mode: thêm shadow (var-cards đã có qua --shadow-card). CPP flush là wrapper nền tối → KHÔNG shadow. */
html[data-theme="dark"] .__box-wrap,
html[data-theme="dark"] .ContentPagePadd:not(.ContentPagePadd--flush),
html[data-theme="dark"] .register-card,
html[data-theme="dark"] .ct-card { box-shadow: var(--shadow-card) !important; }
html[data-theme="dark"] .HomeTitle,
html[data-theme="dark"] .HomeTitle h1,
html[data-theme="dark"] .HomeTitle h2,
html[data-theme="dark"] .HomeTitle a { color: var(--color-text) !important; }

/* ---------- 4. Listing cards (.bdsItem*) ---------- */
html[data-theme="dark"] .bdsItem {
  background: var(--color-card) !important;
  border-color: var(--color-border) !important;
}
html[data-theme="dark"] .bdsItemContent,
html[data-theme="dark"] .bdsItemBody,
html[data-theme="dark"] .bdsCardFooter { background: transparent !important; }
html[data-theme="dark"] .bdsItemTitle,
html[data-theme="dark"] .bdsItemTitle a,
html[data-theme="dark"] .bdsCardPosterNameTxt { color: var(--color-text) !important; }
html[data-theme="dark"] .bdsItemLocation,
html[data-theme="dark"] .bdsCardFooter,
html[data-theme="dark"] .bdsCardTime,
html[data-theme="dark"] .bdsAttrSep { color: var(--color-text-secondary) !important; }
html[data-theme="dark"] .bdsCardFooter { border-top-color: var(--color-border) !important; }

/* Related grid cards */
html[data-theme="dark"] .relatedCard {
  background: var(--color-card) !important;
  border-color: var(--color-border) !important;
}
html[data-theme="dark"] .relatedCardTitle,
html[data-theme="dark"] .relatedCardTitle a { color: var(--color-text) !important; }
html[data-theme="dark"] .relatedCardLoc,
html[data-theme="dark"] .relatedCardMeta { color: var(--color-text-secondary) !important; }

/* Project cards (du-an) */
html[data-theme="dark"] .daCard,
html[data-theme="dark"] .ttCard {
  background: var(--color-card) !important;
  border-color: var(--color-border) !important;
}
html[data-theme="dark"] .daCardTitle a,
html[data-theme="dark"] .ttCardTitle a { color: var(--color-text) !important; }

/* ---------- 5. Sidebar search + preset filter ---------- */
html[data-theme="dark"] .search,
html[data-theme="dark"] .searchBox,
html[data-theme="dark"] .searchItem,
html[data-theme="dark"] .presetFilterBox,
html[data-theme="dark"] .left-box,
html[data-theme="dark"] .sidebar-box {
  background: var(--color-card) !important;
  border-color: var(--color-border) !important;
  color: var(--color-text) !important;
}
html[data-theme="dark"] .presetFilterBox a,
html[data-theme="dark"] .pf-prov,
html[data-theme="dark"] .pf-item { color: var(--color-text-secondary) !important; }
html[data-theme="dark"] .presetFilterBox a:hover,
html[data-theme="dark"] .pf-more-toggle:hover { background: var(--color-primary-light) !important; color: var(--color-primary) !important; }
/* active preset row: light-blue bg (#eef5ff) from light mode → primary bg + white text */
html[data-theme="dark"] .presetFilterBox a.is-active { background: var(--color-primary) !important; color: #fff !important; }
html[data-theme="dark"] .pf-cnt { color: var(--color-text-disabled) !important; }
/* search empty-state secondary button (white in light) */
html[data-theme="dark"] .searchEmptyBtn--ghost { background: var(--color-card) !important; color: var(--color-primary) !important; border-color: var(--color-border) !important; }
/* search-result header: sort bar + filter chips + save button (all light in light mode) */
html[data-theme="dark"] .searchSortBar { background: var(--color-card) !important; border-color: var(--color-border) !important; }
html[data-theme="dark"] .searchResultCount { color: var(--color-text) !important; }
html[data-theme="dark"] .searchSortRight label { color: var(--color-text-secondary) !important; }
html[data-theme="dark"] .searchSortRight select { background: #10161d !important; color: var(--color-text) !important; border-color: var(--color-border) !important; }
html[data-theme="dark"] .filterChip { background: var(--color-primary-light) !important; border-color: var(--color-primary) !important; color: var(--color-primary) !important; }
html[data-theme="dark"] .chipClearAll { background: rgba(255,107,107,.12) !important; border-color: var(--color-error) !important; color: var(--color-error) !important; }
html[data-theme="dark"] .chipClearAll:hover { background: rgba(255,107,107,.2) !important; }
html[data-theme="dark"] .btnSaveSearch { background: var(--color-card) !important; color: var(--color-primary) !important; border-color: var(--color-primary) !important; }
html[data-theme="dark"] .btnSaveSearch:hover { background: var(--color-primary-light) !important; }
html[data-theme="dark"] .btnSaveSearch.saved { background: var(--color-primary) !important; color: #fff !important; }
html[data-theme="dark"] .searchTitle,
html[data-theme="dark"] .presetFilterBox .pf-head { color: var(--color-text) !important; }

/* ---------- 6. Form controls ---------- */
html[data-theme="dark"] input,
html[data-theme="dark"] textarea,
html[data-theme="dark"] select,
html[data-theme="dark"] .refineText,
html[data-theme="dark"] .wpc-input,
html[data-theme="dark"] .cssSelectbox {
  background: #10161d !important;
  color: var(--color-text) !important;
  border-color: var(--color-border) !important;
}
html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder { color: var(--color-text-disabled) !important; }
html[data-theme="dark"] input:focus,
html[data-theme="dark"] textarea:focus,
html[data-theme="dark"] select:focus,
html[data-theme="dark"] .refineText:focus {
  border-color: var(--color-primary) !important;
  outline-color: var(--color-primary) !important;
}
/* Dropdown panel (autocomplete / custom select) */
html[data-theme="dark"] .autocomplete-suggestions,
html[data-theme="dark"] .wpc-list,
html[data-theme="dark"] .select-list,
html[data-theme="dark"] .propsel-panel,
html[data-theme="dark"] ul.ui-autocomplete {
  background: var(--color-card) !important;
  border-color: var(--color-border) !important;
  color: var(--color-text) !important;
}
html[data-theme="dark"] .autocomplete-suggestion:hover,
html[data-theme="dark"] .wpc-list li:hover,
html[data-theme="dark"] .select-list li:hover { background: var(--color-primary-light) !important; }
/* Highlighted/keyboard-active item: light-blue bg from light mode makes light text invisible → force primary bg + white text */
html[data-theme="dark"] .wpc-list li.wpc-active,
html[data-theme="dark"] .autocomplete-suggestion.selected,
html[data-theme="dark"] .select-list li.active,
html[data-theme="dark"] .select-list li.selected {
  background: var(--color-primary) !important;
  color: #fff !important;
}
html[data-theme="dark"] .wpc-list li.wpc-empty { color: var(--color-text-secondary) !important; }

/* ---------- 7. Detail page ---------- */
html[data-theme="dark"] .detail-info-table,
html[data-theme="dark"] .detail-info-table td,
html[data-theme="dark"] .detail-post-meta,
html[data-theme="dark"] .dps-poster,
html[data-theme="dark"] .price-chart-modal,
html[data-theme="dark"] .pcm-panel,
html[data-theme="dark"] .lcm-panel,
html[data-theme="dark"] .loan-calc-modal,
html[data-theme="dark"] .nearby-amenities,
html[data-theme="dark"] .na-summary,
html[data-theme="dark"] .phaply-box {
  background: var(--color-card) !important;
  color: var(--color-text) !important;
  border-color: var(--color-border) !important;
}
html[data-theme="dark"] .detail-info-table th,
html[data-theme="dark"] .detail-info-label,
html[data-theme="dark"] .dps-label { color: var(--color-text-secondary) !important; }
/* Trang chi tiết 2-cột: CPP wrapper TRONG SUỐT (như light — lộ nền tối) để các box info con
   (Thông tin chung / Pháp lý & Liên hệ / Thông tin đất...) NỔI KHỐI (card sáng hơn nền + shadow). */
html[data-theme="dark"] .detail-2col-layout .ContentPagePadd { background: transparent !important; box-shadow: none !important; }
html[data-theme="dark"] .detail-2col-layout .detail-info-table,
html[data-theme="dark"] .detail-2col-layout .detail-post-meta,
html[data-theme="dark"] .detail-2col-layout .nearby-amenities,
html[data-theme="dark"] .detail-2col-layout .phaply-box { box-shadow: 0 2px 8px rgba(0,0,0,0.55) !important; }
/* Phần mô tả chi tiết (.DetailC): nền TRÙNG nền trang (như light — nằm trên background trang, không phải box riêng). */
html[data-theme="dark"] .detail-2col-layout .DetailC { background: transparent !important; box-shadow: none !important; }
html[data-theme="dark"] .detail-info-value,
html[data-theme="dark"] .dps-poster-name { color: var(--color-text) !important; }
/* Gallery letterbox nền xám → tối lại */
html[data-theme="dark"] .dgs-stage { background: #0b0f14 !important; }
html[data-theme="dark"] .dgs-counter { background: rgba(0,0,0,0.7) !important; }
/* Chips (tiện ích/đặc điểm) */
html[data-theme="dark"] .feature-chips span,
html[data-theme="dark"] .bdsChip,
html[data-theme="dark"] .detail-chip {
  background: var(--color-primary-light) !important;
  color: var(--color-text) !important;
  border-color: var(--color-border) !important;
}
/* Price-chart + Loan-calc modals: inner card + form + table + buttons (all white/light in light mode) */
html[data-theme="dark"] .pcm-card,
html[data-theme="dark"] .lcm-card { background: var(--color-card) !important; color: var(--color-text) !important; border-color: var(--color-border) !important; }
html[data-theme="dark"] .pcm-period-btn,
html[data-theme="dark"] .lcm-field input[type=text],
html[data-theme="dark"] .lcm-field select { background: #10161d !important; color: var(--color-text) !important; border-color: var(--color-border) !important; }
html[data-theme="dark"] .pcm-period-btn.is-active { background: var(--color-primary) !important; color: #fff !important; border-color: var(--color-primary) !important; }
html[data-theme="dark"] .pcm-close:hover,
html[data-theme="dark"] .lcm-close:hover { background: var(--color-primary-light) !important; color: var(--color-text) !important; }
html[data-theme="dark"] .pcm-msg,
html[data-theme="dark"] .lcm-err,
html[data-theme="dark"] .lcm-rate-note,
html[data-theme="dark"] .lcm-disclaimer,
html[data-theme="dark"] .lcm-srow span { color: var(--color-text-secondary) !important; }
html[data-theme="dark"] .lcm-summary,
html[data-theme="dark"] .lcm-srow,
html[data-theme="dark"] .lcm-table-scroll { border-color: var(--color-border) !important; }
html[data-theme="dark"] .lcm-srow.lcm-total { background: var(--color-primary-light) !important; }
html[data-theme="dark"] .lcm-table th { background: #10161d !important; color: var(--color-text-secondary) !important; border-color: var(--color-border) !important; }
html[data-theme="dark"] .lcm-table td { border-color: var(--color-border) !important; }
html[data-theme="dark"] .lcm-table tbody tr:nth-child(even) { background: rgba(255,255,255,0.03) !important; }
html[data-theme="dark"] .lcm-table-toggle:hover { background: var(--color-primary-light) !important; }
/* Related "Xem thêm" button */
html[data-theme="dark"] .related-more { background: var(--color-card) !important; color: var(--color-primary) !important; border-color: var(--color-primary) !important; }
html[data-theme="dark"] .related-more:hover { background: var(--color-primary) !important; color: #fff !important; }

/* ---------- 8. Tables ---------- */
html[data-theme="dark"] table { color: var(--color-text); }
html[data-theme="dark"] th,
html[data-theme="dark"] td { border-color: var(--color-border) !important; }
html[data-theme="dark"] tr:nth-child(even) td { background: rgba(255,255,255,0.02) !important; }

/* ---------- 9. Pagination ---------- */
/* Nút trang render dạng <li> TRẦN (số nằm thẳng trong li, không có <a>) — batdongsan-style
   (CLAUDE.md #52). Phải nhắm cả `.pagination li` chứ không chỉ li>a/span. */
html[data-theme="dark"] .pagination li,
html[data-theme="dark"] .pagination li a,
html[data-theme="dark"] .pagination li span {
  background: var(--color-card) !important;
  color: var(--color-text) !important;
  border-color: var(--color-border) !important;
}
html[data-theme="dark"] .pagination li.active,
html[data-theme="dark"] .pagination li.current,
html[data-theme="dark"] .pagination li.active a,
html[data-theme="dark"] .pagination li.active span,
html[data-theme="dark"] .pagination li.current a {
  background: var(--color-primary) !important;
  color: #fff !important;
  border-color: var(--color-primary) !important;
}
html[data-theme="dark"] .pagination li.dots,
html[data-theme="dark"] .pagination .dots {
  background: transparent !important;
  border: 0 !important;
  color: var(--color-text-secondary) !important;
}

/* ---------- 10. Modals / overlays ---------- */
html[data-theme="dark"] .login-modal,
html[data-theme="dark"] .register-card,
html[data-theme="dark"] .price-chart-modal,
html[data-theme="dark"] .loan-calc-modal {
  background: var(--color-card) !important;
  color: var(--color-text) !important;
}
html[data-theme="dark"] .login-field,
html[data-theme="dark"] .register-field {
  background: #10161d !important;
  border-color: var(--color-border) !important;
}

/* ---------- 11. Mobile: bottom nav + search hero ---------- */
html[data-theme="dark"] .bottom-nav-upgrade {
  background: var(--color-card) !important;
  border-top-color: var(--color-border) !important;
}
html[data-theme="dark"] .bni { color: var(--color-text-secondary) !important; }
html[data-theme="dark"] .bni--active,
html[data-theme="dark"] .bni.active { color: var(--color-primary) !important; }
html[data-theme="dark"] .category-drawer,
html[data-theme="dark"] .category-drawer-panel {
  background: var(--color-card) !important;
  color: var(--color-text) !important;
}
html[data-theme="dark"] .msh-input {
  background: #10161d !important;
  color: var(--color-text) !important;
  border-color: var(--color-border) !important;
}
html[data-theme="dark"] .msh-chip {
  background: var(--color-card) !important;
  border-color: var(--color-border) !important;
  color: var(--color-text) !important;
}
html[data-theme="dark"] .msh-chip--active {
  background: var(--color-primary) !important;
  color: #fff !important;
}

/* ---------- 12. SEO description blocks + intro ---------- */
html[data-theme="dark"] .seo-description-top,
html[data-theme="dark"] #seo-description-bottom,
html[data-theme="dark"] #seo-description-bottom .inner-content,
html[data-theme="dark"] .provinceIntro {
  background: var(--color-card) !important;
  color: var(--color-text-secondary) !important;
  border-color: var(--color-border) !important;
}

/* ---------- 13. Theme toggle button (top bar) ---------- */
#themeToggle i { transition: transform var(--transition-fast); }
#themeToggle:hover i { transform: rotate(20deg); }

/* ---------- 14. Generic safety: hairline borders + hr ---------- */
html[data-theme="dark"] hr { border-color: var(--color-border) !important; }
html[data-theme="dark"] .clear { background: transparent !important; }

/* Divider/line phân chia — theme.min.css để màu sáng (#e2e8f0/#f0f0f0) → chói trên nền tối.
   Đổi về màu border card (--color-border #2b3540) đủ để tách thành phần mà không gắt. */
html[data-theme="dark"] #toggleAdvanced,
html[data-theme="dark"] .searchAdvancedToggle,
html[data-theme="dark"] #searchAdvanced,
html[data-theme="dark"] .thitruongbdsItem,
html[data-theme="dark"] .thitruongbdsM,
html[data-theme="dark"] .thitruongbds .view,
html[data-theme="dark"] .httt ul li,
html[data-theme="dark"] .tabs li,
html[data-theme="dark"] .tabtin li,
html[data-theme="dark"] .pf-item,
html[data-theme="dark"] .pf-prov,
html[data-theme="dark"] .pf-more-item,
html[data-theme="dark"] .pf-more-toggle,
html[data-theme="dark"] .dividerLine {
  border-color: var(--color-border) !important;
}

/* ---------- 15. Patch v1.0.1: bề mặt sáng còn sót ---------- */
/* Property-type custom dropdown (.propsel) sidebar search */
html[data-theme="dark"] .propsel,
html[data-theme="dark"] .propsel-label,
html[data-theme="dark"] .propsel-panel,
html[data-theme="dark"] .propsel-panel li {
  background: var(--color-card) !important;
  color: var(--color-text) !important;
  border-color: var(--color-border) !important;
}
html[data-theme="dark"] .propsel-panel li:hover { background: var(--color-primary-light) !important; }

/* Home tab bar (Nhà đất bán / Cho thuê) */
html[data-theme="dark"] .tabs,
html[data-theme="dark"] ul.tabs { background: var(--color-primary-dark) !important; }
html[data-theme="dark"] .tabs li a { color: var(--color-text-secondary) !important; }
html[data-theme="dark"] .tabs li a:hover,
html[data-theme="dark"] .tabs li.active a,
html[data-theme="dark"] .tabs li a.active { color: #fff !important; }

/* AdvanceHiddenDropbox (Diện tích / Mức giá) */
html[data-theme="dark"] .show_text,
html[data-theme="dark"] .dropbox,
html[data-theme="dark"] .select-list,
html[data-theme="dark"] .select-items {
  background: var(--color-card) !important;
  color: var(--color-text) !important;
  border-color: var(--color-border) !important;
}
/* .select-text: keep transparent so the .comboboxs wrapper's bottom border shows (opaque bg was covering it) */
html[data-theme="dark"] .select-text {
  background: transparent !important;
  color: var(--color-text) !important;
}
html[data-theme="dark"] .select-list li:hover { background: var(--color-primary-light) !important; }

/* Category drawer (mobile) — class BEM đúng là __panel */
html[data-theme="dark"] .category-drawer__panel,
html[data-theme="dark"] .category-drawer__overlay,
html[data-theme="dark"] .category-drawer__item {
  background: var(--color-card) !important;
  color: var(--color-text) !important;
  border-color: var(--color-border) !important;
}
html[data-theme="dark"] .category-drawer__item:hover { background: var(--color-primary-light) !important; }

/* Box "Bạn có biết..." (.HTinhot): link tin (trừ tiêu đề đỏ li:first-child) màu #4e4d4d chìm → sáng lên */
html[data-theme="dark"] .HTinhot li:not(:first-child) a { color: #b8c2cc !important; }
html[data-theme="dark"] .HTinhot li:not(:first-child) a:hover { color: var(--color-primary) !important; }

/* Logo box (theme.min.css cho nền trắng) → trong suốt để header tối lộ qua */
html[data-theme="dark"] .header .logo { background: transparent !important; }

/* WOW slider cover (nền trắng DƯỚI ảnh slide) — KHÔNG đụng .ws-title (caption overlay):
   ép .ws-title nền đặc sẽ chặn ảnh phía sau → box caption thành xám đặc, mất opacity như light. */
html[data-theme="dark"] .ws_cover,
html[data-theme="dark"] #wowslider-container1 { background: var(--color-bg) !important; }
/* Ảnh slide fill đầy (object-fit:cover, không letterbox) nhưng ảnh sáng (trời/toà nhà trắng)
   chói trên dark theme → dim ~22% để hòa với nền tối. Chỉ ảnh, không đụng caption/bullet. */
html[data-theme="dark"] #wowslider-container1 .ws_images img,
html[data-theme="dark"] #wowslider-container1 img { filter: brightness(0.78); }
/* SweetAlert box (login-guard "CHƯA ĐĂNG NHẬP" + notice sweetalert còn sót) nền trắng */
html[data-theme="dark"] .sweet-alert {
  background: var(--color-card) !important;
  color: var(--color-text) !important;
  box-shadow: 0 10px 40px rgba(0,0,0,0.5) !important;
}
html[data-theme="dark"] .sweet-alert h2 { color: var(--color-text) !important; }
html[data-theme="dark"] .sweet-alert p,
html[data-theme="dark"] .sweet-alert .lead { color: var(--color-text-secondary) !important; }

/* Nút phụ trang chi tiết (Biến động giá / Tính lãi vay) — nền trắng → card tối, viền + chữ primary */
html[data-theme="dark"] .price-chart-btn,
html[data-theme="dark"] .loan-calc-btn {
  background: var(--color-card) !important;
  border-color: var(--color-primary) !important;
  color: var(--color-primary) !important;
}
/* Ảnh card "BĐS bạn quan tâm" — placeholder nền tối thay vì trắng */
html[data-theme="dark"] .relatedCardImg { background: #0b0f14 !important; }
/* Nút gọi nổi (mobile detail) */
html[data-theme="dark"] .detail-float-cta {
  background: var(--color-card) !important;
  border-top: 1px solid var(--color-border) !important;
}
/* Thẻ người đăng detail (#95 right-detail.php) — class thật .dps-poster + nút Nhắn tin nền trắng.
   Nút "Hiện số" (.dps-btn--phone) giữ nền xanh lá. */
html[data-theme="dark"] .dps-poster { border-color: var(--color-border) !important; }
html[data-theme="dark"] .dps-btn--msg {
  background: transparent !important;
  border-color: var(--color-primary) !important;
  color: var(--color-primary) !important;
}

/* Input trần / mọi input nhập liệu — nâng specificity để thắng rule #fff của theme.min.css */
html[data-theme="dark"] input[type=text],
html[data-theme="dark"] input[type=search],
html[data-theme="dark"] input[type=email],
html[data-theme="dark"] input[type=password],
html[data-theme="dark"] input[type=tel],
html[data-theme="dark"] input[type=number],
html[data-theme="dark"] .search input,
html[data-theme="dark"] form input {
  background: #10161d !important;
  color: var(--color-text) !important;
  border-color: var(--color-border) !important;
}

/* ==========================================================
   DARK v2 — các trang/thành phần còn lại (ngoài core public v1)
   ========================================================== */

/* ----- /dang-tin/ (quan-ly_new) ----- */
/* Section heading trắng ("Vị trí"/"Bản đồ"/"Hồ sơ pháp lý"/...) — giữ accent xanh trái.
   Specificity cao (.__dang-tin-page .__box-wrap .__heading) để thắng rule trắng của style.css. */
html[data-theme="dark"] .__dang-tin-page .__heading,
html[data-theme="dark"] .__box-wrap .__heading,
html[data-theme="dark"] .__dang-tin-page .__box-wrap .__heading {
  background: var(--color-card) !important;
  color: var(--color-text) !important;
  border-bottom-color: var(--color-border) !important;
}
/* Tab kênh (radio + label): inactive dark, active(:checked) dark-green tint */
html[data-theme="dark"] .__danh-muc-tin-wrap label {
  background: #10161d !important;
  color: var(--color-text-secondary) !important;
  border-color: var(--color-border) !important;
}
html[data-theme="dark"] .__danh-muc-tin-wrap input:checked + label {
  background: rgba(38,194,129,0.14) !important;
  color: var(--color-accent) !important;
  border-color: var(--color-accent) !important;
}
/* Rich text editor (Nội dung) */
html[data-theme="dark"] .rte-wrap,
html[data-theme="dark"] .rte-toolbar {
  background: var(--color-card) !important;
  border-color: var(--color-border) !important;
}
html[data-theme="dark"] .rte-toolbar button,
html[data-theme="dark"] .rte-toolbar a,
html[data-theme="dark"] .rte-toolbar i { color: var(--color-text) !important; }
/* Nút "Quay lại" (#btn_back, ID+!important trong ui-upgrade) — cần specificity ≥ để thắng */
html[data-theme="dark"] .__dang-tin-page #btn_back {
  background: var(--color-card) !important;
  color: var(--color-text) !important;
  border-color: var(--color-border) !important;
}
/* Step progress bar: vòng tròn INACTIVE trắng → tối. KHÔNG !important để .is-active/.is-done (xanh) vẫn thắng */
html[data-theme="dark"] .dt-steps__circle { background: #10161d; border-color: var(--color-border); color: var(--color-text-secondary); }
html[data-theme="dark"] .dt-steps__line { background: var(--color-border); }
html[data-theme="dark"] .rte-wrap [contenteditable],
html[data-theme="dark"] .rte-editor {
  background: #10161d !important;
  color: var(--color-text) !important;
}
/* Fine Uploader (Hình ảnh) */
html[data-theme="dark"] .qq-uploader-selector,
html[data-theme="dark"] .qq-upload-button-selector,
html[data-theme="dark"] .qq-upload-button,
html[data-theme="dark"] .qq-upload-drop-area,
html[data-theme="dark"] .qq-upload-list {
  background: #10161d !important;
  border-color: var(--color-border) !important;
  color: var(--color-text) !important;
}
/* AI title chips */
html[data-theme="dark"] .ai-title-chip {
  background: var(--color-primary-light) !important;
  color: var(--color-text) !important;
  border-color: var(--color-border) !important;
}
/* Sidebar tài khoản (divider + avatar border) — các <ul>/<li> không-class trong .ColLeft
   có border #d7d7d7 sáng (ngăn Số dư/KM/Lịch sử + menu Đăng tin/Quản lý...) → về --color-border */
html[data-theme="dark"] .item-sidebar,
html[data-theme="dark"] ._inner-sidebar,
html[data-theme="dark"] .picture_user,
html[data-theme="dark"] .ColLeft ul,
html[data-theme="dark"] .ColLeft ul li { border-color: var(--color-border) !important; }
/* Field label dang-tin còn tối (trừ label.error đỏ) */
html[data-theme="dark"] .__dang-tin-page ._formPostItem > label:not(.error) { color: var(--color-text) !important; }
/* Field label EDIT tin (.__edit-tin-page label { color:#374151 } — xám tối light-mode, contrast 1.59 trên nền tối) → readable */
html[data-theme="dark"] .__edit-tin-page label:not(.error) { color: var(--color-text) !important; }
/* Sub-heading nhóm tiện ích/đặc điểm (#6b7280) + stat label profile (#888) + chart legend (#64748b) → secondary readable */
html[data-theme="dark"] .feature-group-label,
html[data-theme="dark"] .nmg-stat-label,
html[data-theme="dark"] .analytics-legend { color: var(--color-text-secondary) !important; }
/* dt-steps done label (#374151) */
html[data-theme="dark"] .dt-steps__item.is-done .dt-steps__label { color: var(--color-text) !important; }
/* Heading "Click vào đây để cài đặt úp tin/up VIP" (anime.js .text-wrapper/.letter màu #065ea7 brand blue light-mode → contrast 2.47 trên nền tối) → primary sáng */
html[data-theme="dark"] .text-wrapper,
html[data-theme="dark"] .text-wrapper1,
html[data-theme="dark"] .text-wrapper .letter,
html[data-theme="dark"] .text-wrapper1 .letter { color: var(--color-primary) !important; }
/* Note inline color:#000 ("(Số lần trong ngày x Số ngày)" / "(Tổng số lần úp x 1.000 xu)") — inline style ĐEN → cần !important đè */
html[data-theme="dark"] .tong_lan_up i,
html[data-theme="dark"] .tong_tien_up i { color: var(--color-text-secondary) !important; }
/* Date input-group up-tin/up-vip: .input-group-addon (icon lịch) nền sáng #eee + lệch height (addon 32px vs input inline 20px) */
html[data-theme="dark"] .__edit-tin-page .input-group-addon {
  background: #10161d !important;
  border-color: var(--color-border) !important;
  color: var(--color-text) !important;
  vertical-align: middle;
}
/* (height 34px cho date input → ui-upgrade.css để áp cả light+dark, không dark-only) */
/* Heading phụ trang ("Đăng tin bán đất..." — h2 #1f2937 gray-800 tối trong .__title) */
html[data-theme="dark"] .__dang-tin-header h2,
html[data-theme="dark"] .header-infor h2,
html[data-theme="dark"] .__title h2 { color: var(--color-text-secondary) !important; }
/* Cột phải "QUY ĐỊNH ĐĂNG TIN" (._inner-sidebar): list #4b5563 + intro chìm */
html[data-theme="dark"] ._inner-sidebar li,
html[data-theme="dark"] ._inner-sidebar ol,
html[data-theme="dark"] ._inner-sidebar p,
html[data-theme="dark"] ._inner-sidebar strong,
html[data-theme="dark"] ._inner-sidebar b { color: var(--color-text-secondary) !important; }

/* ----- /quan-ly-tin-dang/ (quản lý tin) + /quan-ly-tin-nhan/ dùng chung .__item ----- */
html[data-theme="dark"] .__item {
  background: var(--color-card) !important;
  border-color: var(--color-border) !important;
}
html[data-theme="dark"] .__title,
html[data-theme="dark"] .__title a,
html[data-theme="dark"] .__title span { color: var(--color-text) !important; }
html[data-theme="dark"] .__img { background: #10161d !important; }
/* Action buttons outline (Sửa/Ẩn/Xóa/Úp/Thống kê/Gia hạn) — nền trắng → transparent, giữ viền+chữ màu */
html[data-theme="dark"] .__btn-hide-show,
html[data-theme="dark"] .__btn-delete,
html[data-theme="dark"] .__uptin-act,
html[data-theme="dark"] .__thongke,
html[data-theme="dark"] .giahan,
html[data-theme="dark"] .uptintudong { background: transparent !important; }
/* Nút xanh #1b7cce (Sửa/Ẩn/Xem thống kê/Úp VIP/Úp tự động) gần màu nền → xanh sáng --color-primary
   (giữ Úp tin đỏ .__uptin-act + Xóa tin xám .__btn-delete). "Sửa tin" nền sáng #ebf8f8 → transparent. */
html[data-theme="dark"] .__action a { background: transparent !important; }
html[data-theme="dark"] .__action a:not(.__btn-delete):not(.__uptin-act):not([class*="delete"]),
html[data-theme="dark"] .__thongke,
html[data-theme="dark"] .giahan,
html[data-theme="dark"] .uptintudong,
html[data-theme="dark"] .__btn-hide-show {
  color: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
}
/* Tab bar quản lý (.nav-tabs) — text inactive #9aa7b4 hơi chìm trên nền xanh đậm → sáng hơn */
html[data-theme="dark"] .nav-tabs li a { color: #c3ccd4 !important; }
html[data-theme="dark"] .nav-tabs li.active a { color: #fff !important; }
/* Tab bar quản lý (.menuLeft ul li — Tin đang chạy/Duyệt tin/...) separator sáng + msg inbox divider */
html[data-theme="dark"] .menuLeft,
html[data-theme="dark"] .menuLeft ul { background: transparent !important; }
html[data-theme="dark"] .menuLeft ul li,
html[data-theme="dark"] .msg-inbox-item { border-color: var(--color-border) !important; }
/* Messaging: panel admin broadcast trắng + tab/inbox text chìm */
html[data-theme="dark"] .msg-admin-panel {
  background: var(--color-card) !important;
  border-color: var(--color-border) !important;
}
html[data-theme="dark"] .msg-admin-tab {
  background: #10161d !important;
  color: var(--color-text-secondary) !important;
  border-color: var(--color-border) !important;
}
html[data-theme="dark"] .msg-admin-tab.active,
html[data-theme="dark"] .msg-admin-tab.is-active { background: var(--color-primary) !important; color: #fff !important; }
html[data-theme="dark"] .msg-inbox-name { color: var(--color-text) !important; }
html[data-theme="dark"] .msg-inbox-subject,
html[data-theme="dark"] .msg-inbox-preview,
html[data-theme="dark"] .msg-inbox-time,
html[data-theme="dark"] .msg-inbox-snippet { color: var(--color-text-secondary) !important; }
/* Highlight hover/unread item — nền sáng (#f8fafc/#eff6ff) làm mất tên (chữ sáng) → tint tối */
html[data-theme="dark"] .msg-inbox-item:hover,
html[data-theme="dark"] .msg-inbox-item.msg-unread:hover { background: var(--color-primary-light) !important; }
html[data-theme="dark"] .msg-inbox-item.msg-unread { background: rgba(74,157,224,0.10) !important; }
/* Messaging thread chi tiết (header/banner post/bong bóng theirs/form soạn tin) — nền sáng hardcode */
html[data-theme="dark"] .msg-thread-header {
  background: var(--color-card) !important;
  border-bottom-color: var(--color-border) !important;
}
html[data-theme="dark"] .msg-thread-name { color: var(--color-text) !important; }
html[data-theme="dark"] .msg-thread-post {
  background: #241f10 !important;
  border-bottom-color: #3a3416 !important;
  color: #e6c86a !important;
}
html[data-theme="dark"] .msg-thread-post a { color: #e6c86a !important; }
html[data-theme="dark"] .msg-theirs {
  background: #232b34 !important;
  color: var(--color-text) !important;
}
html[data-theme="dark"] .msg-reply-form {
  background: var(--color-card) !important;
  border-top-color: var(--color-border) !important;
}
html[data-theme="dark"] .msg-reply-input {
  background: #10161d !important;
  color: var(--color-text) !important;
  border-color: var(--color-border) !important;
}

/* ----- /nap-tien/ (quan-ly_nap_tien) + select2 ----- */
html[data-theme="dark"] .methods,
html[data-theme="dark"] .domesticcard,
html[data-theme="dark"] .np-chip,
html[data-theme="dark"] .select2-selection {
  background: var(--color-card) !important;
  color: var(--color-text) !important;
  border-color: var(--color-border) !important;
}
html[data-theme="dark"] .np-amount,
html[data-theme="dark"] .np-amount input { background: #10161d !important; color: var(--color-text) !important; border-color: var(--color-border) !important; }
html[data-theme="dark"] .np-amount-unit { background: var(--color-card) !important; color: var(--color-text-secondary) !important; }
html[data-theme="dark"] .titlelh,
html[data-theme="dark"] .select2-selection__rendered,
html[data-theme="dark"] .np-chip { color: var(--color-text) !important; }
/* Panel header "CHỌN PHƯƠNG THỨC THANH TOÁN" (h1 trong .methods) nền sáng */
html[data-theme="dark"] .methods h1,
html[data-theme="dark"] .paymentdeposit h1 { background: #10161d !important; color: var(--color-primary) !important; border-color: var(--color-border) !important; }
html[data-theme="dark"] .select2-dropdown,
html[data-theme="dark"] .select2-results__option {
  background: var(--color-card) !important; color: var(--color-text) !important; border-color: var(--color-border) !important;
}
html[data-theme="dark"] .select2-results__option--highlighted { background: var(--color-primary) !important; color: #fff !important; }

/* ----- /mua-goi/ (gói VIP) — cũng dùng /bao-gia/ Khối B ----- */
html[data-theme="dark"] .vip-plan-card {
  background: var(--color-card) !important;
  color: var(--color-text) !important;
  border-color: var(--color-border) !important;
}
html[data-theme="dark"] .vip-plan-card--featured { border-color: var(--color-primary) !important; }
html[data-theme="dark"] .vip-plan-save { background: var(--color-primary-light) !important; color: var(--color-text) !important; }

/* ----- /quan-ly-tai-khoan/ (account) + auth register-* ----- */
html[data-theme="dark"] .register-avatar-btn,
html[data-theme="dark"] .register-gender,
html[data-theme="dark"] .verify-section,
html[data-theme="dark"] .verify-pill {
  background: var(--color-card) !important;
  color: var(--color-text) !important;
  border-color: var(--color-border) !important;
}
html[data-theme="dark"] .account-section-label {
  border-color: var(--color-border) !important;
  color: var(--color-text-secondary) !important;
}
/* Verify modal (Xác thực tài khoản): card trắng + ô upload + nút hủy + lỗi */
html[data-theme="dark"] .verify-modal { background: var(--color-card) !important; color: var(--color-text) !important; border-color: var(--color-border) !important; }
html[data-theme="dark"] .verify-doc-input { background: #10161d !important; color: var(--color-text) !important; border-color: var(--color-border) !important; }
html[data-theme="dark"] .verify-cancel-btn { background: var(--color-card) !important; color: var(--color-text) !important; border-color: var(--color-border) !important; }
html[data-theme="dark"] .verify-cancel-btn:hover { background: var(--color-primary-light) !important; }
html[data-theme="dark"] .verify-err { background: rgba(255,107,107,0.12) !important; }
/* Login modal + register form guest — input trắng trong .login-field, divider "Hoặc" span trắng,
   .register-2col container trắng (dải trắng 2 bên), nút Google trắng */
html[data-theme="dark"] .login-field input,
html[data-theme="dark"] .register-field input,
html[data-theme="dark"] #tendangnhap,
html[data-theme="dark"] #matkhau { background: transparent !important; color: var(--color-text) !important; }
html[data-theme="dark"] .login-divider span { background: var(--color-card) !important; color: var(--color-text-secondary) !important; }
html[data-theme="dark"] .login-divider { border-color: var(--color-border) !important; }
html[data-theme="dark"] .register-2col {
  background: var(--color-card) !important;
  /* Light: card trắng #fff trên nền xám #f1f1f1 + shadow → nổi rõ. Dark: card #1a2027 sát nền #0f141a + shadow light vô hình → chìm.
     Thêm shadow đậm + viền để cả khối 2-cột (banner + form) nổi khối như light. */
  box-shadow: 0 8px 32px rgba(0,0,0,0.6) !important;
  border: 1px solid var(--color-border) !important;
}
/* Bỏ box LỒNG thừa: light chỉ có .register-2col là card; site-wide rules lỡ cho .ContentPagePadd (bg+shadow) + .register-card (shadow) box riêng → 3 khối chồng. Trả về như light: CPP trong suốt, register-card không shadow (nó là cột form trong .register-2col). */
html[data-theme="dark"] .register-page-layout .ContentPagePadd { background: transparent !important; box-shadow: none !important; }
html[data-theme="dark"] .register-card { box-shadow: none !important; }
html[data-theme="dark"] .loginBtn--google {
  background: var(--color-card) !important;
  color: var(--color-text) !important;
  border-color: var(--color-border) !important;
}
/* Giới tính: label #555 + option "Nam"/"Nữ" #333 chìm trên nền tối */
html[data-theme="dark"] .register-gender label,
html[data-theme="dark"] .register-gender { color: var(--color-text) !important; }
html[data-theme="dark"] .register-gender-label { color: var(--color-text-secondary) !important; }

/* ----- /lich-su-giao-dich/ (bảng giao dịch) ----- */
html[data-theme="dark"] .txn-table {
  background: var(--color-card) !important;
  color: var(--color-text) !important;
}
html[data-theme="dark"] .txn-table th,
html[data-theme="dark"] .txn-th-date,
html[data-theme="dark"] .txn-table thead { background: #10161d !important; color: var(--color-text) !important; }
html[data-theme="dark"] .txn-table td,
html[data-theme="dark"] .ta-r,
html[data-theme="dark"] .ta-c { border-color: var(--color-border) !important; color: var(--color-text) !important; }
html[data-theme="dark"] .txn-badge--done { background: var(--color-primary-light) !important; color: var(--color-success) !important; }
/* Icon badge giao dịch: light green/red pill → translucent tint (giữ icon màu) */
html[data-theme="dark"] .txn-ic--in { background: rgba(38,194,129,0.14) !important; color: var(--color-accent) !important; }
html[data-theme="dark"] .txn-ic--out { background: rgba(255,107,107,0.14) !important; color: var(--color-error) !important; }
/* Hover row: bg sáng #f8fafc → tint tối, nếu không hover row = nền sáng + chữ sáng = mất chữ */
html[data-theme="dark"] .txn-table tbody tr:hover { background: var(--color-primary-light) !important; }

/* ----- /du-an/ + article filter tabs (.daFilterTab) ----- */
html[data-theme="dark"] .daFilterTab {
  background: var(--color-card) !important;
  color: var(--color-text-secondary) !important;
  border-color: var(--color-border) !important;
}
html[data-theme="dark"] .daFilterTab.active,
html[data-theme="dark"] .daFilterTab:hover { background: var(--color-primary) !important; color: #fff !important; }

/* ----- /tim-kiem/ (search subpage) ----- */
html[data-theme="dark"] .tk-searchbar,
html[data-theme="dark"] .tk-filters,
html[data-theme="dark"] .comboboxs {
  background: var(--color-card) !important;
  color: var(--color-text) !important;
  border-color: var(--color-border) !important;
}
html[data-theme="dark"] .tk-adv-toggle { border-color: var(--color-border) !important; color: var(--color-text) !important; }

/* ----- /bao-gia/ (pricing landing) ----- */
html[data-theme="dark"] .bg-tier-card,
html[data-theme="dark"] .bg-tier-note,
html[data-theme="dark"] .bg-other-card,
html[data-theme="dark"] .bg-compare,
html[data-theme="dark"] .bg-compare th,
html[data-theme="dark"] .bg-compare td {
  background: var(--color-card) !important;
  color: var(--color-text) !important;
  border-color: var(--color-border) !important;
}
html[data-theme="dark"] .bg-tier-card--featured { border-color: var(--color-primary) !important; }
html[data-theme="dark"] .bg-btn--ghost { background: transparent !important; border-color: var(--color-primary) !important; color: var(--color-primary) !important; }
/* Text quyền lợi (li #374151 gray-700 gần đen) + subtitle (#6b7280) chìm trên nền tối */
html[data-theme="dark"] .bg-tier-card li { color: #c3ccd4 !important; }
html[data-theme="dark"] .bg-tier-suit,
html[data-theme="dark"] .bg-tier-card small,
html[data-theme="dark"] .bg-tier-card .bg-tier-price span,
html[data-theme="dark"] .bg-compare td,
html[data-theme="dark"] .bg-other-card p { color: var(--color-text-secondary) !important; }

/* ----- Muted/secondary text hardcode (#555/#666/#6b7280/#797979) chìm trên nền tối -----
   Preview article, labels, chat welcome... → --color-text-secondary (đọc được). */
html[data-theme="dark"] .ttCardExcerpt,
html[data-theme="dark"] .ttCardDate,
html[data-theme="dark"] .ttCardGroup,
html[data-theme="dark"] .ttRelatedDate,
html[data-theme="dark"] .searchFeatureLabel,
html[data-theme="dark"] .scb-welcome-text,
html[data-theme="dark"] .relatedCardMeta,
html[data-theme="dark"] .daCardArea,
html[data-theme="dark"] .provinceIntro { color: var(--color-text-secondary) !important; }
/* Nội dung bài viết/CMS (.DetailC) — body chữ chính → sáng như text (KHÔNG secondary) */
html[data-theme="dark"] .DetailC,
html[data-theme="dark"] .DetailC p,
html[data-theme="dark"] .DetailC li,
html[data-theme="dark"] .DetailC span,
html[data-theme="dark"] .DetailC div { color: var(--color-text) !important; }

/* ----- /lien-he/ (contact) + Leaflet popup/controls (mọi map) ----- */
html[data-theme="dark"] .lienhe-info-card,
html[data-theme="dark"] .lienhe-form-card,
html[data-theme="dark"] .lienhe-map-card {
  background: var(--color-card) !important;
  color: var(--color-text) !important;
  border-color: var(--color-border) !important;
}
/* Map container bg (shows during tile load / at gaps) — dark instead of default light grey. Tiles themselves NOT inverted. */
html[data-theme="dark"] .leaflet-container { background: var(--color-bg) !important; }
html[data-theme="dark"] .leaflet-popup-content-wrapper,
html[data-theme="dark"] .leaflet-popup-tip {
  background: var(--color-card) !important;
  color: var(--color-text) !important;
}
html[data-theme="dark"] .leaflet-control-attribution {
  background: rgba(26,32,39,0.85) !important;
  color: var(--color-text-secondary) !important;
}
html[data-theme="dark"] .leaflet-bar a {
  background: var(--color-card) !important;
  color: var(--color-text) !important;
  border-color: var(--color-border) !important;
}

/* ----- /users/{id}/ (public profile) ----- */
html[data-theme="dark"] .nmg-sidebar,
html[data-theme="dark"] .nmg-stats,
html[data-theme="dark"] .nmg-stat,
html[data-theme="dark"] .nmg-review-item,
html[data-theme="dark"] .nmg-btn-share {
  background: var(--color-card) !important;
  color: var(--color-text) !important;
  border-color: var(--color-border) !important;
}
/* follow / outline buttons: white bg → card, keep their variant border+text colour (msg/following/primary have own bg, untouched) */
html[data-theme="dark"] .nmg-btn-follow,
html[data-theme="dark"] .nmg-btn-outline { background: var(--color-card) !important; }
html[data-theme="dark"] .nmg-btn:hover { background: var(--color-primary-light) !important; }
/* Box "Viết đánh giá" (.nmg-review-form) nền #fafafa + title/counter/login/star trống chìm */
html[data-theme="dark"] .nmg-review-form {
  background: var(--color-card) !important;
  border-color: var(--color-border) !important;
}
html[data-theme="dark"] .nmg-review-form h3 { color: var(--color-text) !important; }
html[data-theme="dark"] .nmg-review-form textarea { border-color: var(--color-border) !important; }
html[data-theme="dark"] .nmg-review-counter,
html[data-theme="dark"] .nmg-review-login { color: var(--color-text-secondary) !important; }
html[data-theme="dark"] .nmg-star-picker i { color: var(--color-text-disabled) !important; }
html[data-theme="dark"] .nmg-star-picker i.fa-star,
html[data-theme="dark"] .nmg-star-picker i:hover { color: #f5a623 !important; }

/* ----- /cong-ty/* (trang tĩnh CMS) — chữ nội dung còn tối ----- */
html[data-theme="dark"] .ct-content,
html[data-theme="dark"] .ct-content p,
html[data-theme="dark"] .ct-content li,
html[data-theme="dark"] .ct-content td,
html[data-theme="dark"] .ct-content span,
html[data-theme="dark"] .ct-content div { color: var(--color-text) !important; }
html[data-theme="dark"] .ct-content table,
html[data-theme="dark"] .ct-content td,
html[data-theme="dark"] .ct-content th { border-color: var(--color-border) !important; }

/* magic-login feedback box (light-green in light mode) */
html[data-theme="dark"] .login-magic-msg { background: rgba(38,194,129,0.10) !important; border-color: var(--color-accent) !important; color: var(--color-accent) !important; }

/* ----- Notice + 404 pages (#100) — white card + ghost button ----- */
html[data-theme="dark"] .notice-page { background: var(--color-card) !important; border-color: var(--color-border) !important; }
html[data-theme="dark"] .err404-btn--ghost { background: var(--color-card) !important; color: var(--color-primary) !important; border-color: var(--color-primary) !important; }
html[data-theme="dark"] .err404-btn--ghost:hover { background: var(--color-primary) !important; color: #fff !important; }

/* ----- Support chat widget (.scb-*) — hộp trắng + welcome gradient sáng + bong bóng admin trắng (inputs đã dark qua rule global → lẫn lộn) ----- */
html[data-theme="dark"] .support-chat-box {
  background: var(--color-card) !important;
  border: 1px solid var(--color-border) !important;
  /* shadow đen mặc định vô hình trên nền tối → shadow sâu + viền sáng mảnh để nổi khối, tách nền trùng màu */
  box-shadow: 0 16px 48px rgba(0,0,0,0.6), 0 0 0 1px rgba(255,255,255,0.05) !important;
}
html[data-theme="dark"] .scb-welcome {
  background: linear-gradient(180deg, #12202e 0%, var(--color-card) 100%) !important;
}
html[data-theme="dark"] .scb-msg-admin .scb-msg-body {
  background: #232b34 !important;
  color: var(--color-text) !important;
  border-color: var(--color-border) !important;
}
html[data-theme="dark"] .scb-messages { background: var(--color-bg) !important; }
html[data-theme="dark"] .scb-input { background: var(--color-card) !important; border-top-color: var(--color-border) !important; }
html[data-theme="dark"] .scb-msg-system { color: var(--color-text-secondary) !important; }

/* ----- Fancybox inline popup (Báo lỗi #feedback, Nhắn tin #messagePopup) — nền trắng mặc định fancybox.
   Scope .fancybox-slide--html → CHỈ popup HTML, KHÔNG đụng ảnh lightbox (.fancybox-slide--image). ----- */
html[data-theme="dark"] .fancybox-slide--html .fancybox-content {
  background: var(--color-card) !important;
  color: var(--color-text) !important;
}
html[data-theme="dark"] .fancybox-slide--html .fancybox-content label,
html[data-theme="dark"] .fancybox-slide--html .fancybox-content .form-group label,
html[data-theme="dark"] .fancybox-slide--html .fancybox-content #bl_captcha_label { color: var(--color-text) !important; }
html[data-theme="dark"] .fancybox-slide--html .fancybox-content .btn-default {
  background: #10161d !important;
  color: var(--color-text) !important;
  border-color: var(--color-border) !important;
}

/* ----- Modal Thống kê tin đăng (#thongketin/.form-popup-thongke) — cards .tk-item + sub-box trắng từ theme.min.css.
   Scope .form-popup-thongke → KHÔNG đụng .__title/.__content của dang-tin. Box-shadow nổi khối giống box chat. ----- */
html[data-theme="dark"] .form-popup-thongke .tk-item {
  background: var(--color-card) !important;
  border-color: var(--color-border) !important;
  color: var(--color-text) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.45), 0 0 0 1px rgba(255,255,255,0.05) !important;
}
html[data-theme="dark"] .form-popup-thongke .tk-item .__title,
html[data-theme="dark"] .form-popup-thongke .tk-item .__title span,
html[data-theme="dark"] .form-popup-thongke .tk-item label { color: var(--color-text) !important; }
/* Sub-box trắng bên trong (Lượt xem/Lượt tương tác) + bảng lịch sử dịch vụ */
html[data-theme="dark"] .form-popup-thongke .luot-xem,
html[data-theme="dark"] .form-popup-thongke .luot-tuong-tac,
html[data-theme="dark"] .form-popup-thongke .dich-vu-content,
html[data-theme="dark"] .form-popup-thongke #up-tu-dong-infor,
html[data-theme="dark"] .form-popup-thongke #up-vip-infor,
html[data-theme="dark"] .form-popup-thongke table {
  background: var(--color-bg) !important;
  border-color: var(--color-border) !important;
  color: var(--color-text) !important;
}
html[data-theme="dark"] .form-popup-thongke td,
html[data-theme="dark"] .form-popup-thongke th { border-color: var(--color-border) !important; color: var(--color-text) !important; }

/* ----- Modal Úp tin tự động (#uptintudong) — plugin daterangepicker (panel lịch trắng) + dual-listbox (nút giữa trắng) ----- */
/* daterangepicker: dropdown lịch nền trắng mặc định plugin */
html[data-theme="dark"] .daterangepicker {
  background: var(--color-card) !important;
  border-color: var(--color-border) !important;
  color: var(--color-text) !important;
  box-shadow: 0 10px 30px rgba(0,0,0,0.5), 0 0 0 1px rgba(255,255,255,0.05) !important;
}
/* ⚠️ plugin BẢN CŨ dùng .calendar-date (background:#fff) làm wrapper bảng — KHÔNG phải .calendar-table (v3). Cover cả 2 bản. */
html[data-theme="dark"] .daterangepicker .drp-calendar,
html[data-theme="dark"] .daterangepicker .calendar,
html[data-theme="dark"] .daterangepicker .calendar-table,
html[data-theme="dark"] .daterangepicker .calendar-date { background: var(--color-card) !important; border-color: var(--color-border) !important; }
/* Arrow tip: bản cũ .opensleft/right:after border-bottom #fff → nền card; :before #ccc → border */
html[data-theme="dark"] .daterangepicker.opensleft:after,
html[data-theme="dark"] .daterangepicker.opensright:after { border-bottom-color: var(--color-card) !important; }
html[data-theme="dark"] .daterangepicker.opensleft:before,
html[data-theme="dark"] .daterangepicker.opensright:before { border-bottom-color: var(--color-border) !important; }
/* Ranges list (nếu hiện) + label */
html[data-theme="dark"] .daterangepicker .ranges li { background: #10161d !important; border-color: var(--color-border) !important; color: var(--color-primary) !important; }
html[data-theme="dark"] .daterangepicker .ranges li.active,
html[data-theme="dark"] .daterangepicker .ranges li:hover { background: var(--color-primary) !important; border-color: var(--color-primary) !important; color: #fff !important; }
html[data-theme="dark"] .daterangepicker .ranges label { color: var(--color-text) !important; }
html[data-theme="dark"] .daterangepicker td.week,
html[data-theme="dark"] .daterangepicker th.week { color: var(--color-text-disabled) !important; }
/* MỌI ô trong suốt → đồng nền panel (chống patchwork off opaque vs available transparent); chỉ tô các state đặc biệt */
html[data-theme="dark"] .daterangepicker table,
html[data-theme="dark"] .daterangepicker td,
html[data-theme="dark"] .daterangepicker th { background-color: transparent !important; color: var(--color-text) !important; }
html[data-theme="dark"] .daterangepicker td.off,
html[data-theme="dark"] .daterangepicker td.off.in-range,
html[data-theme="dark"] .daterangepicker td.off.start-date,
html[data-theme="dark"] .daterangepicker td.off.end-date,
html[data-theme="dark"] .daterangepicker td.disabled { color: var(--color-text-disabled) !important; }
html[data-theme="dark"] .daterangepicker td.available:hover,
html[data-theme="dark"] .daterangepicker th.available:hover { background-color: var(--color-primary-light) !important; }
html[data-theme="dark"] .daterangepicker td.in-range { background-color: rgba(74,157,224,0.15) !important; color: var(--color-text) !important; }
html[data-theme="dark"] .daterangepicker td.active,
html[data-theme="dark"] .daterangepicker td.active:hover { background-color: var(--color-primary) !important; color: #fff !important; }
html[data-theme="dark"] .daterangepicker:before { border-bottom-color: var(--color-border) !important; }
html[data-theme="dark"] .daterangepicker:after { border-bottom-color: var(--color-card) !important; }
html[data-theme="dark"] .daterangepicker .drp-buttons { border-top-color: var(--color-border) !important; }
html[data-theme="dark"] .daterangepicker .drp-selected { color: var(--color-text) !important; }
html[data-theme="dark"] .daterangepicker select { background: #10161d !important; color: var(--color-text) !important; border-color: var(--color-border) !important; }
html[data-theme="dark"] .daterangepicker .cancelBtn { background: #10161d !important; color: var(--color-text) !important; border-color: var(--color-border) !important; }
/* dual-listbox (chọn giờ úp): panels + nút giữa (thêm/xoá) trắng */
html[data-theme="dark"] .dual-listbox__available,
html[data-theme="dark"] .dual-listbox__selected {
  background: var(--color-bg) !important;
  border-color: var(--color-border) !important;
  color: var(--color-text) !important;
  box-shadow: 0 4px 14px rgba(0,0,0,0.4) !important;
}
html[data-theme="dark"] .dual-listbox__title { color: var(--color-text) !important; }
html[data-theme="dark"] .dual-listbox__item { color: var(--color-text) !important; }
html[data-theme="dark"] .dual-listbox__item:hover { background: var(--color-primary-light) !important; }
html[data-theme="dark"] .dual-listbox__item--selected { background: var(--color-primary) !important; color: #fff !important; }
html[data-theme="dark"] .dual-listbox__button {
  background: #10161d !important;
  color: var(--color-text) !important;
  border-color: var(--color-border) !important;
}
html[data-theme="dark"] .dual-listbox__button:hover { background: var(--color-primary-light) !important; }

/* ----- Audit plugin/element còn sót (rà soát 2026-07-20) ----- */
/* Kẻ ngăn 1px trắng (divider trang) + separator toolbar RTE */
html[data-theme="dark"] .borderwhitepage { background: var(--color-border) !important; }
html[data-theme="dark"] .rte-sep { background: var(--color-border) !important; }
/* Loading overlay dang-tin (.loaded = rgba(255,255,255,.66) phủ form khi tải) → tint tối */
html[data-theme="dark"] .loaded { background: rgba(15,20,26,0.66) !important; }
/* lien-he: wrapper bản đồ .lienhe-map nền placeholder #eef2f5 (không phải leaflet-container) */
html[data-theme="dark"] .lienhe-map { background: var(--color-bg) !important; }
/* Form SỬA tin (.__edit-tin-page): select disabled (pointer-events:none → #f3f4f6 bởi rule specificity cao) + nút Upload ảnh sổ (.btn-labeled/.btn-yellow #f5f5f5) */
html[data-theme="dark"] .__edit-tin-page .__content select[style*="pointer-events"] { background: #10161d !important; color: var(--color-text-disabled) !important; }
html[data-theme="dark"] .__edit-tin-page .btn-labeled,
html[data-theme="dark"] .__edit-tin-page .btn-yellow {
  background: #10161d !important;
  color: var(--color-text) !important;
  border-color: var(--color-border) !important;
}
