/* *****************************************************
    eBusiness Tools Online - WHMCS Child Theme (Nexus)
    Dark Purple Brand — ProSynServ, Inc. 2026
***************************************************** */

:root {
    --ebto-ink: #0d0a1a;
    --ebto-navy: #1a0f3d;
    --ebto-purple: #7c3aed;
    --ebto-purple-dark: #5b21b6;
    --ebto-purple-deeper: #4c1d95;
    --ebto-purple-lt: #a78bfa;
    --ebto-purple-pale: #c4b5fd;
    --ebto-text: #f6f2ff;
    --ebto-muted: rgba(246,242,255,0.65);
    --ebto-border: rgba(255,255,255,0.10);
    --ebto-card: rgba(5,3,14,0.85);
}

/* ── GLOBAL ── */
body {
    background: radial-gradient(circle at top, #1a0f3d 0%, #0d0a1a 60%, #050810 100%) !important;
    color: var(--ebto-text) !important;
}

*, *::before, *::after { box-sizing: border-box; }
img { max-width: 100%; height: auto; }

/* ── HEADER / NAV ── */
header, .header, #header,
nav.navbar, .navbar {
    background-color: var(--ebto-ink) !important;
    border-bottom: 1px solid var(--ebto-border) !important;
}

.navbar-brand, .logo {
    color: var(--ebto-purple-lt) !important;
    font-weight: 700 !important;
}

.navbar-nav .nav-link,
.nav-item a {
    color: rgba(246,242,255,0.75) !important;
}

.navbar-nav .nav-link:hover { color: var(--ebto-text) !important; }

/* ── BUTTONS ── */
.btn-primary, .btn-success,
a.btn-primary, a.btn-success,
button.btn-primary, button.btn-success {
    background-color: var(--ebto-purple) !important;
    border-color: var(--ebto-purple-dark) !important;
    color: #fff !important;
}

.btn-primary:hover, .btn-success:hover,
.btn-primary:focus, .btn-success:focus {
    background-color: var(--ebto-purple-dark) !important;
    border-color: var(--ebto-purple-deeper) !important;
    color: #fff !important;
}

.btn-secondary, .btn-default, .btn-outline-secondary {
    background-color: transparent !important;
    border: 1px solid var(--ebto-border) !important;
    color: var(--ebto-text) !important;
}

.btn-secondary:hover, .btn-default:hover {
    background-color: rgba(255,255,255,0.08) !important;
    color: var(--ebto-text) !important;
}

.btn { border-radius: 6px !important; }

/* ── JUMBOTRON / HERO ── */
.jumbotron, .hero, #domain-search {
    background: linear-gradient(135deg, #1a0f3d 0%, #0d0a1a 100%) !important;
    color: var(--ebto-text) !important;
}

.jumbotron h1, .jumbotron h2, .jumbotron p,
.jumbotron label, .jumbotron small {
    color: var(--ebto-text) !important;
}

/* ── DOMAIN SEARCH ── */
.domain-search input, .domain-search .form-control,
#inputDomain, input#domain, input#query {
    background: rgba(255,255,255,0.08) !important;
    border: 1px solid rgba(255,255,255,0.18) !important;
    color: var(--ebto-text) !important;
    border-radius: 6px !important;
}

input[name="securimage_code_value"] {
    background: rgba(255,255,255,0.08) !important;
    border: 1px solid rgba(255,255,255,0.18) !important;
    color: var(--ebto-text) !important;
    border-radius: 6px !important;
}

/* ── CARDS ── */
.card, .panel, .panel-default {
    background: var(--ebto-card) !important;
    border: 1px solid var(--ebto-border) !important;
    color: var(--ebto-text) !important;
    border-radius: 10px !important;
}

.card-header, .panel-heading {
    background: rgba(124,58,237,0.15) !important;
    border-bottom: 1px solid var(--ebto-border) !important;
    color: var(--ebto-text) !important;
    font-weight: 600 !important;
}

.card-body, .panel-body { background: transparent !important; }

.card *, .panel *, .card-body *,
.panel-body *, .card-header *, .panel-heading * {
    color: var(--ebto-text) !important;
}

/* ── FORMS ── */
.form-control, input[type="text"],
input[type="email"], input[type="password"],
textarea, select {
    background: rgba(255,255,255,0.08) !important;
    border: 1px solid rgba(255,255,255,0.18) !important;
    color: var(--ebto-text) !important;
    border-radius: 6px !important;
}

.form-control:focus {
    border-color: var(--ebto-purple) !important;
    box-shadow: 0 0 0 3px rgba(124,58,237,0.2) !important;
    background: rgba(255,255,255,0.10) !important;
    color: var(--ebto-text) !important;
}

.form-control::placeholder { color: var(--ebto-muted) !important; }

label, .form-label, .control-label,
.radio label, .checkbox label,
.custom-control-label, .form-check-label {
    color: var(--ebto-text) !important;
}

/* ── TABLES ── */
.table, .table td, .table th {
    color: var(--ebto-text) !important;
    border-color: var(--ebto-border) !important;
    background: transparent !important;
}

.table thead th {
    background: rgba(124,58,237,0.2) !important;
    color: var(--ebto-text) !important;
}

/* ── CART / ORDER FLOW ── */
.cart-container, .order-container,
#cartContents, #cartContents tr,
#cartContents td, #cartContents th,
.cart-summary, .order-summary,
.order-summary *, #orderSummary,
#orderSummary * {
    background: var(--ebto-card) !important;
    color: var(--ebto-text) !important;
    border-color: var(--ebto-border) !important;
}

#cartContents a { color: var(--ebto-purple-pale) !important; }

/* ── RADIO / CHECKBOX OPTIONS ── */
.radio, .radio-inline,
.form-check, .form-check-label,
input[type="radio"] + label,
input[type="radio"] ~ label,
input[type="checkbox"] + label {
    color: var(--ebto-text) !important;
}

/* ── WELLS ── */
.well, .well-sm, .well-lg {
    background: var(--ebto-card) !important;
    border: 1px solid var(--ebto-border) !important;
    color: var(--ebto-text) !important;
}

/* ── ALERTS ── */
.alert-info {
    background: rgba(124,58,237,0.15) !important;
    border-color: var(--ebto-purple) !important;
    color: var(--ebto-purple-pale) !important;
}

.alert-success {
    background: rgba(0,166,62,0.15) !important;
    border-color: #00a63e !important;
    color: #4ade80 !important;
}

.alert-danger, .alert-error {
    background: rgba(231,0,11,0.15) !important;
    border-color: #e7000b !important;
    color: #fca5a5 !important;
}

/* ── TABS ── */
.nav-tabs .nav-link {
    color: var(--ebto-muted) !important;
}

.nav-tabs .nav-link.active {
    background: var(--ebto-card) !important;
    border-color: var(--ebto-purple) var(--ebto-border) var(--ebto-card) !important;
    color: var(--ebto-purple-lt) !important;
}

/* ── DROPDOWNS ── */
.dropdown-menu {
    background: var(--ebto-navy) !important;
    border: 1px solid var(--ebto-border) !important;
}

.dropdown-item { color: var(--ebto-text) !important; }
.dropdown-item:hover {
    background: rgba(124,58,237,0.2) !important;
    color: var(--ebto-text) !important;
}

/* ── LINKS ── */
a { color: var(--ebto-purple-lt) !important; }
a:hover { color: var(--ebto-purple-pale) !important; }
.btn a, nav a, .navbar a, footer a,
.btn a:hover, nav a:hover { color: inherit !important; }

/* ── HEADINGS / TEXT ── */
h1, h2, h3, h4, h5, h6 { color: var(--ebto-text) !important; }
p, span, li, td, th, div { color: var(--ebto-text) !important; }
.text-muted { color: var(--ebto-muted) !important; }

/* ── FOOTER ── */
footer, #footer, .footer {
    background: #050810 !important;
    color: rgba(246,242,255,0.5) !important;
    border-top: 1px solid var(--ebto-border) !important;
}

footer a, #footer a { color: rgba(246,242,255,0.5) !important; }
footer a:hover, #footer a:hover { color: var(--ebto-purple-lt) !important; }

/* ── HIDE POWERED BY WHMCS ── */
a[href*="whmcs.com"], .powered-by, .poweredby { display: none !important; }

/* ── BREADCRUMB ── */
.breadcrumb { background: transparent !important; }
.breadcrumb-item a { color: var(--ebto-purple-lt) !important; }
.breadcrumb-item.active { color: var(--ebto-muted) !important; }

/* ── MOBILE ── */
@media (max-width: 767px) {
    h1 { font-size: 1.6rem !important; }
    h2 { font-size: 1.3rem !important; }
    .btn { font-size: 16px !important; padding: 10px 18px !important; min-height: 44px !important; }
}

/* ── NEXUS SPECIFIC FIXES ── */

/* Header */
header#header.header {
    background-color: #0d0a1a !important;
}

div.navbar.navbar-light {
    background-color: #0d0a1a !important;
}

div.navbar.navbar-expand-xl.main-navbar-wrapper {
    background-color: #1a0f3d !important;
}

/* Domain search jumbotron area */
.home-jumbotron,
.jumbotron,
section.jumbotron,
div.jumbotron {
    background: linear-gradient(135deg, #1a0f3d 0%, #0d0a1a 100%) !important;
    color: #f6f2ff !important;
}

/* All cards */
.card {
    background: rgba(5,3,14,0.85) !important;
    border: 1px solid rgba(255,255,255,0.10) !important;
    color: #f6f2ff !important;
}

.card-body {
    background: transparent !important;
    color: #f6f2ff !important;
}

.card-title,
.card h3,
.card h4,
.card p,
.card span,
.card a.btn {
    color: #f6f2ff !important;
}

/* Card accent colors — override with purple */
a.card-accent-teal,
a.card-accent-pomegranate,
a.card-accent-sun-flower,
a.card-accent-asbestos,
a.card-accent-green,
a.card-accent-midnight-blue {
    background: rgba(5,3,14,0.85) !important;
    border: 1px solid rgba(255,255,255,0.10) !important;
    color: #f6f2ff !important;
    border-radius: 10px !important;
}

a.card-accent-teal:hover,
a.card-accent-pomegranate:hover,
a.card-accent-sun-flower:hover,
a.card-accent-asbestos:hover,
a.card-accent-green:hover,
a.card-accent-midnight-blue:hover {
    background: rgba(124,58,237,0.2) !important;
    border-color: rgba(124,58,237,0.4) !important;
}

/* Card columns */
.card-columns.home {
    background: transparent !important;
}

/* Domain input */
.home-jumbotron input,
.jumbotron input,
.jumbotron .form-control {
    background: rgba(255,255,255,0.08) !important;
    border: 1px solid rgba(255,255,255,0.18) !important;
    color: #f6f2ff !important;
}

/* Section headings */
.section-header,
.section-heading {
    color: #f6f2ff !important;
}

/* ── DOMAIN SEARCH AREA ── */
.home-domain-search,
.home-domain-search.bg-white {
    background: linear-gradient(135deg, #1a0f3d 0%, #0d0a1a 100%) !important;
    color: #f6f2ff !important;
}

.home-domain-search h2,
.home-domain-search p,
.home-domain-search label,
.home-domain-search small {
    color: #f6f2ff !important;
}

.home-domain-search .form-control,
.home-domain-search input[type="text"] {
    background: rgba(255,255,255,0.08) !important;
    border: 1px solid rgba(255,255,255,0.18) !important;
    color: #f6f2ff !important;
}

.home-domain-search .form-control::placeholder {
    color: rgba(196,181,253,0.65) !important;
}

/* ── DOMAIN SEARCH INPUT TEXT ── */
.home-domain-search input.form-control,
.home-domain-search input[type="text"],
input[name="domain"] {
    color: #5b21b6 !important;
    font-weight: 700 !important;
}

.home-domain-search input.form-control::placeholder,
input[name="domain"]::placeholder {
    color: rgba(91,33,182,0.5) !important;
    font-weight: 400 !important;
}

/* ── DOMAIN SEARCH INPUT BOLD PURPLE ── */
.home-domain-search input.form-control,
.home-domain-search input[type="text"],
input[name="domain"] {
    color: #5b21b6 !important;
    font-weight: 700 !important;
    font-style: normal !important;
}

.home-domain-search input.form-control::placeholder,
input[name="domain"]::placeholder {
    color: #5b21b6 !important;
    font-weight: 700 !important;
    font-style: italic !important;
    opacity: 1 !important;
}

/* ── LOGO ── */
.navbar-brand {
    background-image: url('https://ebusinesstoolsonline.com/assets/img/logo.png') !important;
    background-repeat: no-repeat !important;
    background-size: 40px 40px !important;
    background-position: left center !important;
    padding-left: 52px !important;
    color: #f6f2ff !important;
    font-weight: 700 !important;
    display: flex !important;
    align-items: center !important;
    min-height: 50px !important;
}

/* ── LOGO BIGGER ── */
.navbar-brand {
    background-size: 56px 56px !important;
    padding-left: 68px !important;
    min-height: 64px !important;
    font-size: 1.05rem !important;
}

/* ── HOSTING PRODUCT CARDS ── */
.product-list .card,
.product-list .card-body,
.product-list .card *,
.store-product .card,
.store-product .card-body {
    background: rgba(5,3,14,0.85) !important;
    color: #f6f2ff !important;
}

.product-list .card-body p,
.product-list .card-body span,
.product-list .card-body div {
    color: #f6f2ff !important;
}

/* ── PRODUCT CARD BODY PURPLE ── */
.card-columns .card .card-body,
.products .card .card-body,
.card.mb-3 .card-body,
.card.mb-3 .card-body *,
.card-body.p-lg-4,
.card-body.p-xl-5 {
    background: #5b21b6 !important;
    color: #ffffff !important;
}

.card-body.p-lg-4 p,
.card-body.p-xl-5 p,
.card-body.p-lg-4 span,
.card-body.p-xl-5 span,
.card-body.p-lg-4 div,
.card-body.p-xl-5 div,
.card-body.p-lg-4 small,
.card-body.p-xl-5 small {
    color: #ffffff !important;
}

/* ── PRODUCT CARDS EXACT SELECTORS ── */
.price-table {
    background: #1a0f3d !important;
    border: 1px solid rgba(255,255,255,0.15) !important;
    color: #ffffff !important;
}

.product-body {
    background: #1a0f3d !important;
    color: #ffffff !important;
}

.product-body ul,
.product-body li,
.product-body p {
    color: #ffffff !important;
}

.price-area {
    background: #0d0a1a !important;
    color: #c4b5fd !important;
}

.price-area .price,
.price-area .price-label {
    color: #c4b5fd !important;
}

.btn-order-now .order-now {
    background: #7c3aed !important;
    color: #ffffff !important;
    border-radius: 6px !important;
    padding: 10px 20px !important;
}

.btn-order-now .order-now:hover {
    background: #5b21b6 !important;
}

/* ── PRODUCT BODY FORCE DARK ── */
div.product-body,
div.product-body ul,
div.product-body li,
div.product-body * {
    background-color: #1a0f3d !important;
    color: #ffffff !important;
}

li[id*="description"],
ul[id*="description"] {
    background-color: #1a0f3d !important;
    color: #ffffff !important;
    list-style: none !important;
    padding: 16px !important;
}

/* ── WIDEN PRODUCT CARDS ── */
.price-table {
    min-width: 220px !important;
    width: 100% !important;
}

#product-list,
.product-list,
ul.product-list {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 20px !important;
    list-style: none !important;
    padding: 0 !important;
}

#product-list li,
.product-list li {
    flex: 1 1 250px !important;
    max-width: 320px !important;
}

/* ── DOMAIN REGISTRATION PAGE ── */

/* Kill the yellow NameSpinning widget */
.domain-search-widget,
.namespinning-widget,
[class*="namespinning"],
[id*="namespinning"],
.domain-lookup-widget {
    background: rgba(13,10,26,0.90) !important;
    border: 1px solid rgba(255,255,255,0.12) !important;
    color: #f6f2ff !important;
}

/* Yellow background override */
[style*="background: #f5a623"],
[style*="background:#f5a623"],
[style*="background: orange"],
[style*="background: yellow"],
.bg-warning, .bg-yellow {
    background: rgba(13,10,26,0.90) !important;
}

/* TLD pricing boxes */
.tld-box, .tld-card,
.domain-pricing-box,
.extension-box {
    background: rgba(5,3,14,0.85) !important;
    border: 1px solid rgba(255,255,255,0.10) !important;
    color: #f6f2ff !important;
}

.tld-box *, .tld-card *,
.domain-pricing-box *,
.extension-box * {
    color: #f6f2ff !important;
}

/* ── DOMAIN PAGE BOTTOM CARDS ── */
.domain-promo-boxes,
.domain-promo-boxes .card,
.domain-promo-boxes .card-body,
.domain-register-promo,
.domain-transfer-promo {
    background: rgba(5,3,14,0.85) !important;
    border: 1px solid rgba(255,255,255,0.10) !important;
    color: #f6f2ff !important;
}

.domain-promo-boxes *,
.domain-register-promo *,
.domain-transfer-promo * {
    color: #f6f2ff !important;
}

/* Yellow Explore button override */
.btn-warning,
a.btn-warning,
button.btn-warning {
    background: #7c3aed !important;
    border-color: #5b21b6 !important;
    color: #ffffff !important;
}

.btn-warning:hover {
    background: #5b21b6 !important;
}

/* ============================================
   DOMAIN PAGE - ADDITIONAL TARGETED FIXES
   Applied: 2026-05-12
   ============================================ */

/* Main domain search results area - force dark background */
#domain-search-results,
#domainresults,
.domain-results-container,
.domain-checker-container,
.domain-search-results {
    background-color: var(--ebto-navy) !important;
    color: var(--ebto-text) !important;
}

/* Domain pricing table main container */
.pricing-table-container,
.domain-pricing-container,
section.domain-pricing {
    background-color: var(--ebto-ink) !important;
    color: var(--ebto-text) !important;
}

/* Extension browser category pills */
.nav-pills .nav-link {
    background-color: rgba(255,255,255,0.08) !important;
    border: 1px solid var(--ebto-border) !important;
    color: var(--ebto-text) !important;
}

.nav-pills .nav-link.active,
.nav-pills .nav-link:hover {
    background-color: var(--ebto-purple) !important;
    border-color: var(--ebto-purple-dark) !important;
    color: #ffffff !important;
}

/* CRITICAL: Bottom promo cards section */
.container-fluid > .row {
    background-color: transparent !important;
}

.container-fluid .col-md-6 .card,
.container-fluid .col-sm-6 .card,
.container-fluid .col-lg-6 .card {
    background: var(--ebto-card) !important;
    border: 1px solid var(--ebto-border) !important;
    color: var(--ebto-text) !important;
}

.container-fluid .col-md-6 .card-body,
.container-fluid .col-sm-6 .card-body,
.container-fluid .col-lg-6 .card-body {
    background: transparent !important;
    color: var(--ebto-text) !important;
}

.container-fluid .col-md-6 .card *,
.container-fluid .col-sm-6 .card *,
.container-fluid .col-lg-6 .card * {
    color: var(--ebto-text) !important;
}

/* Override any .bg-white classes on domain page */
.bg-white,
div.bg-white,
section.bg-white {
    background-color: var(--ebto-navy) !important;
}

/* Domain page specific section backgrounds */
body[class*="domain"] .bg-white,
body[class*="cart"] section.bg-white {
    background-color: var(--ebto-navy) !important;
}

/* Text muted color fix for promo cards */
.card .text-muted,
.card-body .text-muted {
    color: var(--ebto-muted) !important;
}

/* Buttons in cards - ensure proper styling */
.card .btn-primary,
.card-body .btn-primary {
    background-color: var(--ebto-purple) !important;
    border-color: var(--ebto-purple-dark) !important;
    color: #ffffff !important;
}

/* Panel group styling (if WHMCS uses Bootstrap panels) */
.panel-group .panel,
.panel-group .panel-default {
    background: var(--ebto-card) !important;
    border-color: var(--ebto-border) !important;
}

.panel-group .panel-heading {
    background: rgba(124,58,237,0.15) !important;
    color: var(--ebto-text) !important;
}

.panel-group .panel-body {
    background: transparent !important;
    color: var(--ebto-text) !important;
}

/* Domain lookup widget input styling */
.domain-lookup input,
.domain-lookup .input-group,
.domain-lookup .input-group-addon {
    background-color: rgba(255,255,255,0.08) !important;
    border-color: rgba(255,255,255,0.18) !important;
    color: var(--ebto-text) !important;
}

/* TLD selection dropdown */
.domain-lookup select,
.tld-selector,
.extension-selector {
    background-color: rgba(255,255,255,0.08) !important;
    border-color: rgba(255,255,255,0.18) !important;
    color: var(--ebto-text) !important;
}

/* Any remaining white containers */
.container .bg-light,
.container-fluid .bg-light {
    background-color: var(--ebto-navy) !important;
}


/* ============================================
   DOMAIN PAGE PROMO CARDS - NUCLEAR OPTION
   Applied: 2026-05-12 - Round 2
   ============================================ */

/* Target the promo cards by position and structure */
.row > div > .card,
.row > div > div.card,
.row .col-md-6 > .card,
.row .col-sm-6 > .card {
    background-color: var(--ebto-card) !important;
    border: 1px solid var(--ebto-border) !important;
}

/* Target cards with specific padding classes */
.card.p-4,
.card.p-5,
div[class*="card p-"],
div[class*="card mb-"] {
    background-color: var(--ebto-card) !important;
    border: 1px solid var(--ebto-border) !important;
}

/* Card headers in promo boxes */
.card h3,
.card h4,
.card .card-title {
    color: var(--ebto-text) !important;
}

/* Card text content */
.card p,
.card span:not(.btn),
.card div:not(.btn) {
    color: var(--ebto-text) !important;
}

/* Override inline styles if present */
div[style*="background: white"],
div[style*="background: #fff"],
div[style*="background-color: white"],
div[style*="background-color: #fff"] {
    background-color: var(--ebto-card) !important;
}

/* White search bar at top */
.domain-search-container,
.domain-input-container,
div[class*="search"] input {
    background-color: rgba(255,255,255,0.08) !important;
    border-color: rgba(255,255,255,0.18) !important;
    color: var(--ebto-text) !important;
}

/* Any section with white/light background */
section[class*="bg-"],
div[class*="bg-light"],
div[class*="bg-white"] {
    background-color: var(--ebto-navy) !important;
}


/* DOMAIN PROMO BOX FIX - override Nexus parent specificity */
body #order-standard_cart .domain-promo-box {
    background: var(--ebto-card) !important;
    border: 1px solid var(--ebto-border) !important;
    color: var(--ebto-text) !important;
}

body #order-standard_cart .domain-promo-box h3,
body #order-standard_cart .domain-promo-box p,
body #order-standard_cart .domain-promo-box i {
    color: var(--ebto-text) !important;
}

body #order-standard_cart .domain-promo-box .text-warning {
    color: var(--ebto-purple-lt) !important;
}

body #order-standard_cart .domain-promo-box .text-primary {
    color: var(--ebto-purple-pale) !important;
}

body #order-standard_cart .domain-promo-box .btn-warning {
    background: var(--ebto-purple) !important;
    border-color: var(--ebto-purple-dark) !important;
    color: #ffffff !important;
}


/* TLD PRICING HEADER FIX - override Nexus white backgrounds */
body #order-standard_cart .domain-pricing .tld-pricing-header div,
body #order-standard_cart .domain-pricing .tld-pricing-header .tld-column,
body #order-standard_cart .domain-pricing .tld-pricing-header .col-md-8,
body #order-standard_cart .domain-pricing .tld-pricing-header:has(~ .filtered-row) div,
body #order-standard_cart .domain-pricing .tld-pricing-header:has(~ .filtered-row) .tld-column {
    background: var(--ebto-navy) !important;
    background-color: var(--ebto-navy) !important;
    color: var(--ebto-text) !important;
    border-color: var(--ebto-border) !important;
}

