/* ═══════════════════════════════════════════════════════════════
   TVHub Dark Theme — Global Override for HostX Child Template
   ═══════════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');

:root {
  --tvh-bg: #0a0e17;
  --tvh-bg-card: #111827;
  --tvh-bg-card-hover: #1a2235;
  --tvh-bg-input: #0f1520;
  --tvh-blue: #3ba3fc;
  --tvh-blue-dark: #2563eb;
  --tvh-red: #ef4444;
  --tvh-green: #22c55e;
  --tvh-amber: #f59e0b;
  --tvh-purple: #a855f7;
  --tvh-pink: #ec4899;
  --tvh-text: #ffffff;
  --tvh-text-dim: #94a3b8;
  --tvh-text-muted: #64748b;
  --tvh-border: rgba(255,255,255,0.06);
  --tvh-border-light: rgba(255,255,255,0.1);
  --tvh-radius: 12px;
  --tvh-radius-lg: 16px;
}

/* ── BASE ── */
html, body, body.primary-bg-color {
  background: var(--tvh-bg) !important;
  background-color: var(--tvh-bg) !important;
  color: var(--tvh-text-dim) !important;
  font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
}

a { color: var(--tvh-blue); }
a:hover { color: #5bb8ff; text-decoration: none; }
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
  color: var(--tvh-text) !important;
  font-family: 'Inter', system-ui, sans-serif !important;
}
p { color: var(--tvh-text-dim); }
hr { border-color: var(--tvh-border); }

/* ── HEADER / NAV — ALL STYLES ── */
.container-custom-header-hostx-wrapper,
.whmcs-client-area-header,
.header.wgs-new-header-top-latest,
.top-mega-menu-latest-cls,
.nav_bar.mega-menu-old,
.nav_bar.simple-drop-down,
.menu-style-4,
header.menu-V4 {
  background: var(--tvh-bg) !important;
  border-bottom: 1px solid var(--tvh-border) !important;
}

.top-mega-menu-latest-cls .main-top-sec,
.top-mega-menu-latest-cls .main-sec {
  background: transparent !important;
}

/* Nav links */
.top-menu-ul-header-latest .top-menu-li-header > a,
.top-menu-ul-header-latest .top-menu-parent > a,
.ddnavbar .nav-link,
.navbar-nav .nav-link,
.navbar-nav-four .nav-4-item > a,
.whmcs-client-area-header .nav-link,
.whmcs-client-area-header .navbar-brand,
.list-menu a {
  color: var(--tvh-text-dim) !important;
  font-family: 'Inter', sans-serif !important;
}
.top-menu-ul-header-latest .top-menu-li-header > a:hover,
.ddnavbar .nav-link:hover,
.navbar-nav .nav-link:hover,
.navbar-nav-four .nav-4-item > a:hover,
.list-menu a:hover {
  color: var(--tvh-text) !important;
}

/* Logo */
.navbar-brand, .logo a, .mega-latest-menu .logo a,
.navbar-brand-4 {
  color: var(--tvh-text) !important;
  font-weight: 800 !important;
}

/* Dropdown menus */
.dropdown-menu, .drop-down-menu, .megamenu,
.dropdown-4-menu, .submenu, .childsubmenu {
  background: var(--tvh-bg-card) !important;
  border: 1px solid var(--tvh-border-light) !important;
  border-radius: var(--tvh-radius) !important;
  box-shadow: 0 16px 48px rgba(0,0,0,0.4) !important;
}
.dropdown-item, .dropdown-menu a, .drop-down-menu a,
.dropdown-4-item-wrapper a {
  color: var(--tvh-text-dim) !important;
}
.dropdown-item:hover, .dropdown-menu a:hover,
.drop-down-menu a:hover, .dropdown-4-item-wrapper a:hover {
  background: var(--tvh-bg-card-hover) !important;
  color: var(--tvh-text) !important;
}
.dropdown-divider { border-color: var(--tvh-border) !important; }

/* Cart & notification badges */
.badge, .badge-primary, .badge-info {
  background: var(--tvh-blue) !important;
  color: #fff !important;
}

/* Top bar / phone / language */
.right_navi, .telephoneanchor, .languageDiv,
.country-list-menu-btn, .language-currency-section-area {
  color: var(--tvh-text-dim) !important;
}
.flag_drop { background: var(--tvh-bg-card) !important; }

/* Mobile menu */
.mobile-menu-global-hostx,
.mobile-menu-scrollable-area,
.mobile-menu-below-section-area {
  background: var(--tvh-bg) !important;
}
.mobile-menu-global-hostx a,
.mobile-menu-global-hostx .nav__link {
  color: var(--tvh-text-dim) !important;
  border-color: var(--tvh-border) !important;
}
.mobile-menu-global-hostx a:hover,
.mobile-menu-global-hostx .nav__link:hover {
  color: var(--tvh-text) !important;
}
.domain-search-section-mobile {
  background: var(--tvh-bg-card) !important;
}

/* Sticky header */
.header-is-sticky .container-custom-header-hostx-wrapper.is-sticky,
.header-is-sticky .whmcs-client-area-header.is-sticky {
  background: rgba(10,14,23,0.97) !important;
  backdrop-filter: blur(20px);
}

/* ── BREADCRUMB ── */
.master-breadcrumb, .hostx-bread-crumb-data,
.breadcrumb, .whmcs-client-area-pages-section .breadcrumb-wrapper {
  background: transparent !important;
}
.breadcrumb-item, .breadcrumb-item a { color: var(--tvh-text-muted) !important; }
.breadcrumb-item.active { color: var(--tvh-text-dim) !important; }
.breadcrumb-item + .breadcrumb-item::before { color: var(--tvh-text-muted) !important; }

/* ── SIDEBAR ── */
.hostx-child-side-bar-custom,
.header-side-bar,
.inner-area-user-details {
  background: var(--tvh-bg-card) !important;
  border-color: var(--tvh-border) !important;
}
.hostx-child-side-bar-custom a,
.header-side-bar a {
  color: var(--tvh-text-dim) !important;
}
.hostx-child-side-bar-custom a:hover,
.hostx-child-side-bar-custom a.active {
  color: var(--tvh-blue) !important;
  background: rgba(59,163,252,0.08) !important;
}

/* ── MAIN CONTENT AREA ── */
.whmcs-client-area-pages-section,
section#main-body,
.hostx-pages-sections {
  background: transparent !important;
}
.container { color: var(--tvh-text-dim); }

/* ── CARDS ── */
.card, .panel, .well {
  background: var(--tvh-bg-card) !important;
  border: 1px solid var(--tvh-border) !important;
  border-radius: var(--tvh-radius-lg) !important;
  color: var(--tvh-text-dim) !important;
}
.card-header {
  background: rgba(255,255,255,0.02) !important;
  border-bottom: 1px solid var(--tvh-border) !important;
  color: var(--tvh-text) !important;
}
.card-title, .card-header h3, .card-header .card-title {
  color: var(--tvh-text) !important;
}
.card-body { background: transparent !important; color: var(--tvh-text-dim) !important; }
.card-footer {
  background: rgba(255,255,255,0.02) !important;
  border-top: 1px solid var(--tvh-border) !important;
}
.card-accent-blue { border-top-color: var(--tvh-blue) !important; }
.card-accent-green { border-top-color: var(--tvh-green) !important; }
.card-accent-red { border-top-color: var(--tvh-red) !important; }
.card-accent-gold, .card-accent-warning { border-top-color: var(--tvh-amber) !important; }

/* ── TILES (Client Dashboard) ── */
.tiles .tile {
  background: var(--tvh-bg-card) !important;
  border: 1px solid var(--tvh-border) !important;
  border-radius: var(--tvh-radius) !important;
}
.tile .stat { color: var(--tvh-text) !important; }
.tile .title { color: var(--tvh-text-muted) !important; }
.tile i { color: var(--tvh-text-muted) !important; }
.highlight.bg-color-blue { background: var(--tvh-blue) !important; }
.highlight.bg-color-green { background: var(--tvh-green) !important; }
.highlight.bg-color-red { background: var(--tvh-red) !important; }
.highlight.bg-color-gold { background: var(--tvh-amber) !important; }

/* ── TABLES ── */
.table, table {
  color: var(--tvh-text-dim) !important;
}
.table thead th, .table-striped thead th {
  background: rgba(255,255,255,0.03) !important;
  border-color: var(--tvh-border) !important;
  color: var(--tvh-text) !important;
  font-weight: 600;
}
.table td, .table th {
  border-color: var(--tvh-border) !important;
}
.table-striped tbody tr:nth-of-type(odd) {
  background: rgba(255,255,255,0.02) !important;
}
.table-striped tbody tr:nth-of-type(even) {
  background: transparent !important;
}
.table-hover tbody tr:hover {
  background: var(--tvh-bg-card-hover) !important;
}

/* ── LIST GROUPS ── */
.list-group-item, .list-group-item-action {
  background: var(--tvh-bg-card) !important;
  border-color: var(--tvh-border) !important;
  color: var(--tvh-text-dim) !important;
}
.list-group-item-action:hover {
  background: var(--tvh-bg-card-hover) !important;
  color: var(--tvh-text) !important;
}

/* ── FORMS ── */
.form-control, input[type="text"], input[type="email"],
input[type="password"], input[type="number"], input[type="tel"],
input[type="url"], input[type="search"], select, textarea {
  background: var(--tvh-bg-input) !important;
  border: 1px solid var(--tvh-border-light) !important;
  color: var(--tvh-text) !important;
  border-radius: var(--tvh-radius) !important;
  font-family: 'Inter', sans-serif !important;
}
.form-control:focus, input:focus, select:focus, textarea:focus {
  border-color: var(--tvh-blue) !important;
  box-shadow: 0 0 0 3px rgba(59,163,252,0.15) !important;
  background: var(--tvh-bg-input) !important;
  color: var(--tvh-text) !important;
}
.form-control::placeholder { color: var(--tvh-text-muted) !important; }
label, .control-label { color: var(--tvh-text-dim) !important; }
.input-group-text, .input-group-prepend .btn,
.input-group-append .btn {
  background: var(--tvh-bg-card) !important;
  border-color: var(--tvh-border-light) !important;
  color: var(--tvh-text-dim) !important;
}
.custom-select {
  background-color: var(--tvh-bg-input) !important;
  border-color: var(--tvh-border-light) !important;
  color: var(--tvh-text) !important;
}

/* ── BUTTONS ── */
.btn-primary, .hx-primary-btn, .button-style.hx-primary-btn {
  background: var(--tvh-blue) !important;
  border-color: var(--tvh-blue) !important;
  color: #fff !important;
  border-radius: var(--tvh-radius) !important;
  font-weight: 600 !important;
  font-family: 'Inter', sans-serif !important;
}
.btn-primary:hover, .hx-primary-btn:hover {
  background: var(--tvh-blue-dark) !important;
  border-color: var(--tvh-blue-dark) !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 16px rgba(59,163,252,0.25) !important;
}
.btn-default, .btn-secondary, .btn-outline-primary {
  background: transparent !important;
  border: 1px solid var(--tvh-border-light) !important;
  color: var(--tvh-text-dim) !important;
  border-radius: var(--tvh-radius) !important;
}
.btn-default:hover, .btn-secondary:hover, .btn-outline-primary:hover {
  background: var(--tvh-bg-card) !important;
  color: var(--tvh-text) !important;
  border-color: var(--tvh-blue) !important;
}
.btn-success { background: var(--tvh-green) !important; border-color: var(--tvh-green) !important; }
.btn-danger { background: var(--tvh-red) !important; border-color: var(--tvh-red) !important; }
.btn-warning { background: var(--tvh-amber) !important; border-color: var(--tvh-amber) !important; }
.btn-info { background: var(--tvh-blue) !important; border-color: var(--tvh-blue) !important; }
.btn-link { color: var(--tvh-blue) !important; }

/* ── ALERTS ── */
.alert { border-radius: var(--tvh-radius) !important; }
.alert-info {
  background: rgba(59,163,252,0.08) !important;
  border-color: rgba(59,163,252,0.15) !important;
  color: var(--tvh-blue) !important;
}
.alert-success {
  background: rgba(34,197,94,0.08) !important;
  border-color: rgba(34,197,94,0.15) !important;
  color: var(--tvh-green) !important;
}
.alert-danger, .alert-error {
  background: rgba(239,68,68,0.08) !important;
  border-color: rgba(239,68,68,0.15) !important;
  color: var(--tvh-red) !important;
}
.alert-warning {
  background: rgba(245,158,11,0.08) !important;
  border-color: rgba(245,158,11,0.15) !important;
  color: var(--tvh-amber) !important;
}

/* ── PAGINATION ── */
.pagination .page-item .page-link {
  background: var(--tvh-bg-card) !important;
  border-color: var(--tvh-border) !important;
  color: var(--tvh-text-dim) !important;
  border-radius: 8px !important;
}
.pagination .page-item.active .page-link {
  background: var(--tvh-blue) !important;
  border-color: var(--tvh-blue) !important;
  color: #fff !important;
}
.pagination .page-item .page-link:hover {
  background: var(--tvh-bg-card-hover) !important;
  color: var(--tvh-text) !important;
}

/* ── MODALS ── */
.modal-content {
  background: var(--tvh-bg-card) !important;
  border: 1px solid var(--tvh-border-light) !important;
  border-radius: var(--tvh-radius-lg) !important;
  color: var(--tvh-text-dim) !important;
}
.modal-header {
  border-bottom-color: var(--tvh-border) !important;
}
.modal-footer {
  border-top-color: var(--tvh-border) !important;
}
.modal-title { color: var(--tvh-text) !important; }
.close, .modal .close { color: var(--tvh-text-muted) !important; }
.modal-backdrop { background: rgba(0,0,0,0.7) !important; }

/* ── TABS / NAV TABS ── */
.nav-tabs {
  border-bottom-color: var(--tvh-border) !important;
}
.nav-tabs .nav-link {
  color: var(--tvh-text-muted) !important;
  border-color: transparent !important;
}
.nav-tabs .nav-link:hover {
  border-color: var(--tvh-border) !important;
  color: var(--tvh-text) !important;
}
.nav-tabs .nav-link.active {
  background: var(--tvh-bg-card) !important;
  border-color: var(--tvh-border) var(--tvh-border) var(--tvh-bg-card) !important;
  color: var(--tvh-blue) !important;
}
.tab-content { background: transparent !important; }

/* ── INVOICES / QUOTES ── */
.invoice-container, .quote-container {
  background: var(--tvh-bg-card) !important;
  color: var(--tvh-text-dim) !important;
}

/* ── DOMAIN SEARCH ── */
.home-domain-search, .domain-search-area,
.domainchecker-homepage-captcha {
  background: var(--tvh-bg-card) !important;
}
.domain-search-area input {
  background: var(--tvh-bg-input) !important;
  color: var(--tvh-text) !important;
}

/* ── LOGIN / REGISTER PAGES ── */
.logincontainer, .registercontainer,
.whmcs-templatefile-login .main-content,
.whmcs-templatefile-clientregister .main-content {
  background: var(--tvh-bg) !important;
}
.panel-default { border-color: var(--tvh-border) !important; }
.panel-heading {
  background: var(--tvh-bg-card) !important;
  border-color: var(--tvh-border) !important;
  color: var(--tvh-text) !important;
}
.panel-body {
  background: var(--tvh-bg-card) !important;
  color: var(--tvh-text-dim) !important;
}

/* HostX login layouts */
.hostx-latest-login-register-page,
.hostx-default-login-register-page {
  background: var(--tvh-bg) !important;
}
.hostx-latest-login-register-page .login-card,
.hostx-latest-login-register-page .register-card,
.hostx-default-login-register-page .card {
  background: var(--tvh-bg-card) !important;
  border-color: var(--tvh-border) !important;
}

/* ── FOOTER ── */
footer, footer#mainfooterhostx,
footer.footer-block-latest,
.footer-main-section, .copyright-section,
.copyright, .footer-part-client-area-page,
.p-vertical {
  background: #060912 !important;
  border-top: 1px solid var(--tvh-border) !important;
  color: var(--tvh-text-muted) !important;
}
footer a, .copyright a, .footer-part-client-area-page a {
  color: var(--tvh-text-dim) !important;
}
footer a:hover, .copyright a:hover {
  color: var(--tvh-blue) !important;
}
footer h4, footer h5, footer .footer-heading {
  color: var(--tvh-text-muted) !important;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 0.75rem !important;
}
.scroll-to-top {
  background: var(--tvh-bg-card) !important;
  border: 1px solid var(--tvh-border) !important;
  color: var(--tvh-blue) !important;
}

/* ── KNOWLEDGEBASE ── */
.article-title a { color: var(--tvh-text) !important; }
.article-title a:hover { color: var(--tvh-blue) !important; }

/* ── SUPPORT TICKETS ── */
.ticket-reply, .client-reply, .staff-reply {
  background: var(--tvh-bg-card) !important;
  border: 1px solid var(--tvh-border) !important;
  border-radius: var(--tvh-radius) !important;
}

/* ── SHOPPING CART ── */
.order-summary, .cart-body, .summary-container,
.store-product-card {
  background: var(--tvh-bg-card) !important;
  border: 1px solid var(--tvh-border) !important;
  border-radius: var(--tvh-radius-lg) !important;
}
.order-summary .total-due-today {
  border-top-color: var(--tvh-border) !important;
  color: var(--tvh-text) !important;
}

/* ── STATUS LABELS ── */
.label-success, .badge-success, .status-active { color: var(--tvh-green) !important; }
.label-danger, .badge-danger, .status-overdue { color: var(--tvh-red) !important; }
.label-warning, .badge-warning, .status-pending { color: var(--tvh-amber) !important; }
.label-info, .badge-info { color: #fff !important; background: var(--tvh-blue) !important; }

/* ── ANNOUNCEMENTS ── */
.announcement-single {
  background: var(--tvh-bg-card) !important;
  border: 1px solid var(--tvh-border) !important;
  border-radius: var(--tvh-radius-lg) !important;
}

/* ── MISC ── */
.well { background: var(--tvh-bg-card) !important; }
.bg-light, .bg-white { background: var(--tvh-bg-card) !important; }
.text-muted { color: var(--tvh-text-muted) !important; }
.text-dark { color: var(--tvh-text) !important; }
.border, .border-top, .border-bottom {
  border-color: var(--tvh-border) !important;
}
::selection { background: var(--tvh-blue); color: #fff; }

/* Scrollbar */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: var(--tvh-bg); }
::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,0.1);
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover { background: rgba(255,255,255,0.2); }

/* ── HostX Block Sections (store pages etc) ── */
.hostx-section, .hostx-block-section,
[class*="hostx-block-"] {
  background: transparent !important;
  color: var(--tvh-text-dim) !important;
}

/* ── STORE PAGES ── */
.product-group .products .product {
  background: var(--tvh-bg-card) !important;
  border: 1px solid var(--tvh-border) !important;
  border-radius: var(--tvh-radius-lg) !important;
}
.product-group .products .product:hover {
  border-color: var(--tvh-border-light) !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 32px rgba(0,0,0,0.3) !important;
}
.product .product-title { color: var(--tvh-text) !important; }
.product .product-desc { color: var(--tvh-text-dim) !important; }
.product .price { color: var(--tvh-blue) !important; }

/* ── HostX Color Scheme Override ── */
.hostx-child-orange-mode { --primary-color: #3ba3fc; }
