/* ============================================================
   MEDHACLOUD DARK PROFESSIONAL — WHMCS Client Area Theme
   Soft dark with navy undertone — premium, readable, branded
   ============================================================ */

/* ---- COLOR TOKENS ----
   --mc-bg-base:    #121218   (body)
   --mc-bg-nav:     #0e0e14   (nav bar)
   --mc-bg-section: #15151d   (sections, card headers)
   --mc-bg-card:    #1a1a22   (cards, panels, tables)
   --mc-bg-input:   #15151d   (form inputs)
   --mc-border:     #2a2a35   (all borders)
   --mc-border-lt:  #32323e   (lighter border for hover)
   --mc-text:       #d4d4dc   (body text)
   --mc-text-muted: #8888a0   (muted labels)
   --mc-text-dead:  #55556a   (timestamps, footnotes)
   --mc-red:        #E8000D   (accent)
   --mc-red-hover:  #CC0000   (accent hover)
   --mc-green:      #22c55e   (success)
   --mc-yellow:     #E5A00D   (warning)
   ---- */

/* ---- RESET & BASE ---- */
/* Modern SaaS: subtle rounding on cards, buttons, inputs */

body {
    background: #121218 !important;
    color: #d4d4dc;
    font-family: 'Roboto Condensed', sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 1.6;
}

a { color: #d4d4dc; transition: color .15s; }
a:hover { color: #E8000D; text-decoration: none; }

::selection { background: #E8000D; color: #fff; }
::-moz-selection { background: #E8000D; color: #fff; }

/* scrollbar */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: #121218; }
::-webkit-scrollbar-thumb { background: #3a3a48; }
::-webkit-scrollbar-thumb:hover { background: #E8000D; }

/* ---- TYPOGRAPHY ---- */
h1, h2, h3, .h1, .h2, .h3 {
    font-family: 'Anton', sans-serif;
    text-transform: uppercase;
    color: #FFFFFF;
    letter-spacing: 0.02em;
}
h4, h5, h6, .h4, .h5, .h6 {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #FFFFFF;
}

/* ============================================================
   RED TOP BAR
   ============================================================ */
.mc-topbar {
    background: #E8000D;
    height: 36px;
    display: flex;
    align-items: center;
    padding: 0 20px;
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #fff;
    z-index: 1100;
}
.mc-topbar a { color: #fff; }
.mc-topbar a:hover { color: #fff; opacity: .85; }
.mc-topbar-left { margin-right: auto; }
.mc-topbar-right {
    display: flex;
    align-items: center;
    gap: 20px;
    font-size: 12px;
}
.mc-topbar-right .phone-numbers {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
}

/* ============================================================
   MAIN NAVBAR
   ============================================================ */
#header, .header {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* Logged-in topbar override */
.header .topbar {
    background: #E8000D !important;
    border: none !important;
    padding: 4px 0;
}
.header .topbar .btn,
.header .topbar .input-group-text,
.header .topbar a {
    color: #fff !important;
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    background: transparent !important;
    border: none !important;
}
.header .topbar .btn:hover { opacity: .85; }
.header .topbar .badge { background: #fff !important; color: #E8000D !important; }

.header .navbar {
    background: #0e0e14 !important;
    border-bottom: 1px solid #2a2a35 !important;
    padding: 0 !important;
    min-height: 54px;
}
.header .navbar .container {
    display: flex;
    align-items: center;
    min-height: 54px;
}

/* Logo */
.header .navbar-brand {
    padding: 0 !important;
    margin: 0 !important;
}
.header .navbar-brand img,
.header .navbar-brand .logo-img {
    height: 54px !important;
    width: auto !important;
    max-height: 54px !important;
}

/* Nav links */
.header .main-navbar-wrapper {
    background: #0e0e14 !important;
    border-bottom: 1px solid #2a2a35 !important;
}
#nav .nav-link,
.navbar-nav .nav-link {
    font-family: 'Barlow Condensed', sans-serif !important;
    font-weight: 700 !important;
    font-size: 11px !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: #8888a0 !important;
    padding: 16px 14px !important;
    transition: color .15s;
}
#nav .nav-link:hover,
.navbar-nav .nav-link:hover,
#nav .nav-item.active > .nav-link,
.navbar-nav .nav-item.active > .nav-link {
    color: #fff !important;
}

/* Search bar */
.header .search .form-control {
    background: #1a1a22 !important;
    border: 1px solid #2a2a35 !important;
    color: #d4d4dc !important;
    font-family: 'Roboto Condensed', sans-serif;
    font-size: 13px;
}
.header .search .form-control::placeholder { color: #55556a; }
.header .search .btn { background: #1a1a22 !important; border: 1px solid #2a2a35 !important; color: #8888a0 !important; }

/* Cart icon */
.cart-btn { color: #8888a0 !important; }
.cart-btn:hover { color: #fff !important; }
.cart-btn .badge { background: #E8000D !important; color: #fff !important; }

/* Navbar toggler */
.header .navbar .btn[data-toggle="collapse"] { color: #8888a0 !important; }
.header .navbar .btn[data-toggle="collapse"]:hover { color: #fff !important; }

/* Dropdown */
.dropdown-menu {
    background: #15151d !important;
    border: 1px solid #2a2a35 !important;
    box-shadow: none !important;
}
.dropdown-item {
    color: #d4d4dc !important;
    font-family: 'Roboto Condensed', sans-serif;
    font-size: 13px;
}
.dropdown-item:hover, .dropdown-item:focus {
    background: #1a1a22 !important;
    color: #fff !important;
}
.dropdown-divider { border-color: #2a2a35 !important; }

/* ============================================================
   BREADCRUMB
   ============================================================ */
.master-breadcrumb {
    background: #121218 !important;
    border: none !important;
    padding: 10px 0 !important;
}
.breadcrumb {
    background: transparent !important;
    margin: 0;
    padding: 0;
}
.breadcrumb-item,
.breadcrumb-item a {
    color: #55556a !important;
    font-family: 'Roboto Condensed', sans-serif;
    font-size: 12px;
}
.breadcrumb-item.active { color: #fff !important; }
.breadcrumb-item + .breadcrumb-item::before { color: #55556a !important; content: "/" !important; }

/* ============================================================
   MAIN BODY
   ============================================================ */
#main-body {
    background: #121218;
    padding: 30px 0;
    min-height: 60vh;
}
.primary-bg-color { background: #121218 !important; }

/* ============================================================
   SIDEBAR
   ============================================================ */
.sidebar .list-group {
    background: transparent;
    border: none;
}
.sidebar .list-group-item {
    background: #1a1a22 !important;
    border: 1px solid #2a2a35 !important;
    color: #d4d4dc;
    font-family: 'Roboto Condensed', sans-serif;
    font-size: 13px;
    margin-bottom: -1px;
    padding: 10px 16px;
    transition: all .15s;
}
.sidebar .list-group-item:hover {
    background: #2a2a35 !important;
    border-left: 2px solid #E8000D !important;
    color: #fff;
}
.sidebar .list-group-item.active,
.sidebar .list-group-item.active:hover {
    background: #2a2a35 !important;
    border-left: 2px solid #E8000D !important;
    color: #fff !important;
}
.sidebar .list-group-item .badge {
    background: #E8000D !important;
    color: #fff !important;
}
.sidebar .panel-heading,
.sidebar .card-header {
    background: #15151d !important;
    border-bottom: 1px solid #2a2a35 !important;
    color: #8888a0;
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 900;
    font-size: 10px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

/* ============================================================
   CARDS / PANELS
   ============================================================ */
.card, .panel {
    background: #1a1a22 !important;
    border: 1px solid #2a2a35 !important;
    box-shadow: 0 1px 0 rgba(255,255,255,0.03) !important;
}
.card-header, .panel-heading {
    background: #15151d !important;
    border-bottom: 1px solid #2a2a35 !important;
    color: #FFFFFF;
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 13px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.card-body, .panel-body {
    background: #1a1a22 !important;
    color: #d4d4dc;
}
.card-footer, .panel-footer {
    background: #15151d !important;
    border-top: 1px solid #2a2a35 !important;
}

/* ============================================================
   TABLES
   ============================================================ */
.table {
    color: #d4d4dc;
    background: #1a1a22;
}
.table thead th {
    background: #15151d !important;
    color: #8888a0 !important;
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 900;
    font-size: 10px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    border-bottom: 1px solid #2a2a35 !important;
    border-top: none !important;
    padding: 12px 16px;
}
.table td {
    background: #1a1a22 !important;
    border-bottom: 1px solid #2a2a35 !important;
    border-top: none !important;
    color: #d4d4dc;
    font-size: 14px;
    padding: 12px 16px;
    vertical-align: middle;
}
.table-striped tbody tr:nth-of-type(odd) td { background: #15151d !important; }
.table-hover tbody tr:hover td { background: #2a2a35 !important; }
.table-bordered, .table-bordered td, .table-bordered th {
    border-color: #2a2a35 !important;
}

/* ============================================================
   BUTTONS
   ============================================================ */
.btn-primary, .btn-success,
a.btn-primary, a.btn-success {
    background: #E8000D !important;
    color: #fff !important;
    font-family: 'Bebas Neue', sans-serif !important;
    font-size: 18px !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    border: none !important;
    padding: 12px 24px !important;
    transition: background .15s;
}
.btn-primary:hover, .btn-success:hover,
a.btn-primary:hover, a.btn-success:hover {
    background: #CC0000 !important;
    color: #fff !important;
}

.btn-default, .btn-secondary,
.btn-outline-primary, .btn-outline-secondary {
    background: transparent !important;
    color: #fff !important;
    border: 1px solid #32323e !important;
    font-family: 'Barlow Condensed', sans-serif !important;
    font-weight: 700 !important;
    font-size: 12px !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}
.btn-default:hover, .btn-secondary:hover,
.btn-outline-primary:hover, .btn-outline-secondary:hover {
    border-color: #E8000D !important;
    color: #E8000D !important;
    background: transparent !important;
}

.btn-danger {
    background: #1a0000 !important;
    color: #E8000D !important;
    border: 1px solid #E8000D !important;
}
.btn-danger:hover {
    background: #E8000D !important;
    color: #fff !important;
}

.btn-info {
    background: transparent !important;
    color: #E8000D !important;
    border: 1px solid #E8000D !important;
}
.btn-info:hover {
    background: #E8000D !important;
    color: #fff !important;
}

.btn-link {
    color: #8888a0 !important;
}
.btn-link:hover {
    color: #E8000D !important;
    text-decoration: none !important;
}

/* ============================================================
   FORMS
   ============================================================ */
.form-control, input[type="text"], input[type="email"],
input[type="password"], input[type="number"], input[type="tel"],
input[type="url"], select, textarea {
    background: #15151d !important;
    border: 1px solid #2a2a35 !important;
    color: #d4d4dc !important;
    font-family: 'Roboto Condensed', sans-serif;
    padding: 10px 14px;
    font-size: 14px;
    transition: border-color .15s;
}
.form-control:focus, input:focus, select:focus, textarea:focus {
    border-color: #E8000D !important;
    outline: none !important;
    box-shadow: none !important;
    background: #15151d !important;
    color: #d4d4dc !important;
}
.form-control::placeholder, input::placeholder, textarea::placeholder {
    color: #55556a !important;
}

label, .control-label {
    color: #d4d4dc;
    font-family: 'Roboto Condensed', sans-serif;
    font-weight: 500;
    font-size: 13px;
}

.input-group-text {
    background: #15151d !important;
    border: 1px solid #2a2a35 !important;
    color: #8888a0 !important;
}

.custom-select {
    background: #15151d !important;
    border: 1px solid #2a2a35 !important;
    color: #d4d4dc !important;
}

/* ============================================================
   ALERTS / NOTIFICATIONS
   ============================================================ */
.alert {
    border: none !important;
    border-left: 3px solid #8888a0 !important;
    background: #1a1a22 !important;
    color: #d4d4dc !important;
}
.alert-success {
    border-left-color: #22c55e !important;
}
.alert-danger, .alert-error {
    border-left-color: #E8000D !important;
}
.alert-warning {
    border-left-color: #E5A00D !important;
}
.alert-info {
    border-left-color: #8888a0 !important;
}

/* ============================================================
   PAGINATION
   ============================================================ */
.pagination .page-link {
    background: #15151d !important;
    border: 1px solid #2a2a35 !important;
    color: #8888a0 !important;
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
}
.pagination .page-item.active .page-link {
    background: #E8000D !important;
    border-color: #E8000D !important;
    color: #fff !important;
}
.pagination .page-link:hover {
    border-color: #E8000D !important;
    color: #fff !important;
    background: #15151d !important;
}

/* ============================================================
   MODALS
   ============================================================ */
.modal-content {
    background: #1a1a22 !important;
    border: 1px solid #2a2a35 !important;
}
.modal-header {
    background: #15151d !important;
    border-bottom: 1px solid #2a2a35 !important;
}
.modal-header .modal-title { color: #fff; }
.modal-header .close { color: #8888a0 !important; }
.modal-body { background: #1a1a22 !important; color: #d4d4dc; }
.modal-footer {
    background: #15151d !important;
    border-top: 1px solid #2a2a35 !important;
}
.modal-backdrop.show { background: rgba(0,0,0,0.8) !important; }

/* ============================================================
   STATUS BADGES
   ============================================================ */
.badge, .label {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 10px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 4px 8px;
}
.badge-success, .label-success { background: transparent !important; color: #22c55e !important; border: 1px solid #22c55e; }
.badge-danger, .label-danger { background: transparent !important; color: #E8000D !important; border: 1px solid #E8000D; }
.badge-warning, .label-warning { background: transparent !important; color: #E5A00D !important; border: 1px solid #E5A00D; }
.badge-info, .label-info { background: transparent !important; color: #8888a0 !important; border: 1px solid #8888a0; }
.badge-primary, .label-primary { background: #E8000D !important; color: #fff !important; }
.badge-secondary, .label-default { background: #2a2a35 !important; color: #8888a0 !important; }

/* Status text colors */
.status-active, .text-success { color: #22c55e !important; }
.status-suspended, .text-danger { color: #E8000D !important; }
.status-pending { color: #8888a0 !important; }
.status-cancelled { color: #55556a !important; }

/* ============================================================
   LOGIN PAGE
   ============================================================ */
body.login-page, #login {
    background: #121218 !important;
}
.login-container, .logincontainer {
    max-width: 420px;
    margin: 60px auto;
}
.login-container .card,
.login-container .panel {
    background: #1a1a22 !important;
    border: 1px solid #2a2a35 !important;
}
.login-container .card-body {
    padding: 30px !important;
}
.login-container .btn-primary {
    width: 100%;
    font-size: 20px !important;
}
.login-container a {
    color: #8888a0;
}
.login-container a:hover {
    color: #E8000D;
}
.login-container a.btn-link-register {
    color: #E8000D !important;
}

/* ============================================================
   DASHBOARD / CLIENT HOME
   ============================================================ */
.client-home-panels .panel,
.client-home-panels .card {
    background: #1a1a22 !important;
    border: 1px solid #2a2a35 !important;
}
.client-home-panels .panel-heading,
.client-home-panels .card-header {
    background: #15151d !important;
}

/* Stat cards */
.stat-card {
    background: #1a1a22;
    border: 1px solid #2a2a35;
    padding: 20px;
}
.stat-card .stat-number {
    font-family: 'Bebas Neue', sans-serif;
    font-size: 36px;
    color: #fff;
}
.stat-card .stat-label {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 10px;
    text-transform: uppercase;
    color: #8888a0;
    letter-spacing: 0.1em;
}

/* Quick action links */
.quick-nav .list-group-item {
    background: #1a1a22 !important;
    border: 1px solid #2a2a35 !important;
    color: #d4d4dc;
    transition: all .15s;
}
.quick-nav .list-group-item:hover {
    border-left: 2px solid #E8000D !important;
    color: #fff;
    background: #2a2a35 !important;
}

/* ============================================================
   INVOICES
   ============================================================ */
.invoice-header {
    background: #15151d;
    padding: 20px;
}
.invoice-amount {
    font-family: 'Bebas Neue', sans-serif;
    color: #fff;
}
.invoice-status-paid { color: #22c55e !important; }
.invoice-status-unpaid { color: #E8000D !important; font-weight: 700; }
.invoice-status-overdue { color: #E8000D !important; background: #1a0000; padding: 2px 8px; }
.invoice-status-cancelled { color: #55556a !important; }

/* Invoice detail */
.invoice-total {
    background: #1a1a22;
    font-family: 'Bebas Neue', sans-serif;
    font-size: 28px;
    color: #fff;
}

/* ============================================================
   SUPPORT TICKETS
   ============================================================ */
.ticket-priority-high { color: #E8000D !important; }
.ticket-priority-medium { color: #E5A00D !important; }
.ticket-priority-low { color: #8888a0 !important; }

.ticket-status-open { color: #22c55e !important; }
.ticket-status-answered, .ticket-status-customer-reply { color: #E8000D !important; }
.ticket-status-closed { color: #55556a !important; }

/* Ticket detail messages */
.ticket-reply {
    border-left: 3px solid #2a2a35;
    background: #15151d;
    padding: 16px;
    margin-bottom: 12px;
}
.ticket-reply.staff {
    border-left-color: #E8000D;
    background: #1a1a22;
}
.ticket-reply .date {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 9px;
    color: #55556a;
}

/* Reply list alternating */
.ticket-message:nth-child(odd) { background: #15151d; }
.ticket-message:nth-child(even) { background: #1a1a22; }

/* ============================================================
   ORDER / CART
   ============================================================ */
.store .product-card,
.order-product {
    background: #1a1a22 !important;
    border: 1px solid #2a2a35 !important;
    border-top: 2px solid #E8000D !important;
}
.product-price, .order-price {
    font-family: 'Bebas Neue', sans-serif;
    font-size: 42px;
    color: #fff;
}
.period-selector {
    background: #15151d;
    border: 1px solid #2a2a35;
}

/* Cart summary */
.cart-summary {
    background: #1a1a22;
}
.cart-summary .cart-item-price {
    font-family: 'Bebas Neue', sans-serif;
}

/* ============================================================
   KNOWLEDGEBASE
   ============================================================ */
.kb-category-card {
    background: #1a1a22;
    border: 1px solid #2a2a35;
    border-top: 2px solid #E8000D;
}
.kb-article-title { color: #fff; }
.kb-article-title:hover { color: #E8000D; }

/* ============================================================
   DOMAIN SEARCH
   ============================================================ */
.domain-search-container, .domain-checker-container {
    background: #15151d !important;
    border: 1px solid #2a2a35 !important;
    padding: 30px !important;
}

/* ============================================================
   FOOTER
   ============================================================ */
#footer, .footer {
    background: #121218 !important;
    border-top: 3px solid #E8000D !important;
    padding: 40px 0 20px !important;
    color: #8888a0;
}
.footer a { color: #8888a0; }
.footer a:hover { color: #E8000D; }
.footer .copyright {
    color: #55556a;
    font-size: 13px;
}
.footer .nav-link {
    color: #8888a0 !important;
    font-size: 13px;
    padding: 4px 12px !important;
}
.footer .nav-link:hover { color: #E8000D !important; }

/* Footer sections */
.mc-footer { background: #121218; border-top: 3px solid #E8000D; padding: 50px 0 20px; }
.mc-footer-logo { height: 40px; margin-bottom: 16px; }
.mc-footer-desc { color: #8888a0; font-size: 14px; line-height: 1.6; max-width: 300px; }

.mc-footer-contact-card {
    background: #1a1a22;
    border: 1px solid #2a2a35;
    padding: 20px;
    margin-bottom: 12px;
}
.mc-footer-contact-card .country {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #fff;
    font-size: 13px;
    margin-bottom: 8px;
}
.mc-footer-contact-card a { color: #E8000D; }

.mc-footer-heading {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #fff;
    font-size: 13px;
    margin-bottom: 12px;
}
.mc-footer-links { list-style: none; padding: 0; margin: 0; }
.mc-footer-links li { margin-bottom: 6px; }
.mc-footer-links a { color: #8888a0; font-size: 13px; }
.mc-footer-links a:hover { color: #E8000D; }

.mc-footer-social {
    display: flex;
    gap: 8px;
}
.mc-footer-social a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: #1a1a22;
    border: 1px solid #2a2a35;
    color: #55556a;
    transition: all .15s;
}
.mc-footer-social a:hover {
    border-color: #E8000D;
    color: #E8000D;
}

.mc-footer-copyright {
    color: #55556a;
    font-size: 13px;
    border-top: 1px solid #2a2a35;
    padding-top: 20px;
    margin-top: 30px;
}

/* ============================================================
   POPOVER / TOOLTIP
   ============================================================ */
.popover {
    background: #1a1a22 !important;
    border: 1px solid #2a2a35 !important;
}
.popover-header {
    background: #15151d !important;
    border-bottom: 1px solid #2a2a35 !important;
    color: #fff !important;
}
.popover-body { color: #d4d4dc !important; }
.tooltip-inner {
    background: #1a1a22 !important;
    color: #d4d4dc !important;
    border: 1px solid #2a2a35;
}

/* Client alerts popover */
.client-alerts { list-style: none; padding: 0; margin: 0; }
.client-alerts li { border-bottom: 1px solid #2a2a35; }
.client-alerts li a { display: block; padding: 10px; color: #d4d4dc !important; }
.client-alerts li a:hover { background: #2a2a35; }
.client-alerts .fa-exclamation-circle { color: #E8000D; }
.client-alerts .fa-exclamation-triangle { color: #E5A00D; }
.client-alerts .fa-check-circle { color: #22c55e; }
.client-alerts .fa-info-circle { color: #8888a0; }

/* ============================================================
   MISC OVERRIDES
   ============================================================ */
/* Tab nav */
.nav-tabs {
    border-bottom: 1px solid #2a2a35 !important;
}
.nav-tabs .nav-link {
    color: #8888a0 !important;
    border: none !important;
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 12px;
}
.nav-tabs .nav-link.active,
.nav-tabs .nav-link:hover {
    color: #fff !important;
    border: none !important;
    border-bottom: 2px solid #E8000D !important;
    background: transparent !important;
}

/* Loading overlay */
#fullpage-overlay {
    background: rgba(0,0,0,0.85) !important;
}

/* Well / jumbotron */
.well, .jumbotron {
    background: #1a1a22 !important;
    border: 1px solid #2a2a35 !important;
    color: #d4d4dc;
}

/* Close button */
.close { color: #8888a0 !important; text-shadow: none !important; }
.close:hover { color: #fff !important; }

/* Text utility overrides */
.text-primary { color: #E8000D !important; }
.text-muted { color: #8888a0 !important; }
.text-white { color: #FFFFFF !important; }
.bg-primary { background: #E8000D !important; }
.bg-light { background: #15151d !important; }

/* HR */
hr { border-color: #2a2a35; }

/* Data / numbers */
.price, .amount, .total {
    font-family: 'Bebas Neue', sans-serif;
}

/* Code / mono */
code, pre, .mono {
    font-family: 'IBM Plex Mono', monospace;
}
code {
    background: #15151d;
    color: #E8000D;
    padding: 2px 6px;
}
pre {
    background: #15151d;
    border: 1px solid #2a2a35;
    color: #d4d4dc;
    padding: 16px;
}

/* Localisation modal */
.modal-localisation .modal-content {
    background: #15151d !important;
}
.modal-localisation .item-selector .item {
    background: #1a1a22 !important;
    border: 1px solid #2a2a35 !important;
    color: #d4d4dc !important;
}
.modal-localisation .item-selector .item.active,
.modal-localisation .item-selector .item:hover {
    border-color: #E8000D !important;
    color: #fff !important;
}

/* Return to admin button */
.btn-return-to-admin {
    background: #E8000D !important;
    color: #fff !important;
}

/* Account security */
.security-container .card {
    background: #1a1a22 !important;
    border: 1px solid #2a2a35 !important;
}

/* Progress bars */
.progress {
    background: #2a2a35 !important;
}
.progress-bar {
    background: #E8000D !important;
}

/* Custom checkbox/radio */
.custom-control-input:checked ~ .custom-control-label::before {
    background: #E8000D !important;
    border-color: #E8000D !important;
}

/* List groups outside sidebar */
.list-group-item {
    background: #1a1a22 !important;
    border-color: #2a2a35 !important;
    color: #d4d4dc !important;
}
.list-group-item.active {
    background: #2a2a35 !important;
    border-color: #E8000D !important;
    color: #fff !important;
}

/* Store / order form */
.store .product {
    background: #1a1a22 !important;
    border: 1px solid #2a2a35 !important;
}
.store .product:hover {
    border-color: #E8000D !important;
}
.store .product .product-name {
    color: #fff;
}
.store .product .product-pricing {
    font-family: 'Bebas Neue', sans-serif;
    font-size: 32px;
    color: #fff;
}

/* ============================================================
   ORDER FORM / STANDARD CART — COMPREHENSIVE OVERRIDES
   ============================================================ */
#order-standard_cart {
    color: #d4d4dc;
}
#order-standard_cart label,
#order-standard_cart p {
    color: #d4d4dc !important;
}

/* Product cards — the white cards fix */
#order-standard_cart .products .product {
    background: #1a1a22 !important;
    border: 1px solid #2a2a35 !important;
    border-top: 2px solid #E8000D !important;
    color: #d4d4dc;
}
#order-standard_cart .products .product header {
    background: #15151d !important;
    border-bottom: 1px solid #2a2a35 !important;
    color: #FFFFFF;
    padding: 12px 20px;
}
#order-standard_cart .products .product header span {
    color: #FFFFFF !important;
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 16px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
#order-standard_cart .products .product header .qty {
    color: #8888a0 !important;
    font-size: 11px !important;
}
#order-standard_cart .products .product .product-desc {
    color: #d4d4dc !important;
    padding: 15px 20px;
}
#order-standard_cart .products .product .product-desc p {
    color: #d4d4dc !important;
}
#order-standard_cart .products .product .product-desc ul {
    color: #d4d4dc !important;
}
#order-standard_cart .products .product .product-desc li {
    color: #8888a0;
    border-bottom: 1px solid #2a2a35 !important;
}
#order-standard_cart .products .product .product-desc li .feature-value {
    color: #FFFFFF !important;
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
}
#order-standard_cart .products .product footer {
    background: #15151d !important;
    border-top: 1px solid #2a2a35 !important;
    padding: 15px 20px;
}
#order-standard_cart .products .product .product-pricing {
    color: #8888a0;
    font-size: 13px;
}
#order-standard_cart .products .product .product-pricing .price {
    font-family: 'Bebas Neue', sans-serif !important;
    font-size: 36px !important;
    color: #FFFFFF !important;
    line-height: 1;
}
#order-standard_cart .products .product .btn-order-now,
#order-standard_cart .products .product .btn-success {
    background: #E8000D !important;
    border: none !important;
    color: #fff !important;
    font-family: 'Bebas Neue', sans-serif !important;
    font-size: 16px !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    padding: 10px 20px !important;
}
#order-standard_cart .products .product .btn-order-now:hover,
#order-standard_cart .products .product .btn-success:hover {
    background: #CC0000 !important;
}

/* Sidebar categories */
#order-standard_cart .cart-sidebar .panel,
#order-standard_cart .cart-sidebar .card {
    background: #1a1a22 !important;
    border: 1px solid #2a2a35 !important;
}
#order-standard_cart .cart-sidebar .panel-heading,
#order-standard_cart .cart-sidebar .card-header {
    background: #15151d !important;
    color: #FFFFFF !important;
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}
#order-standard_cart .cart-sidebar .list-group-item {
    background: #1a1a22 !important;
    border-color: #2a2a35 !important;
    color: #d4d4dc !important;
}
#order-standard_cart .cart-sidebar .list-group-item:hover,
#order-standard_cart .cart-sidebar .list-group-item.active {
    background: #2a2a35 !important;
    color: #fff !important;
    border-left: 2px solid #E8000D !important;
}

/* Section dividers */
#order-standard_cart .sub-heading {
    border-top-color: #2a2a35 !important;
}
#order-standard_cart .sub-heading span,
#order-standard_cart .sub-heading-borderless span {
    color: #E8000D !important;
    background: #121218 !important;
}
#order-standard_cart .header-lined {
    border-bottom-color: #2a2a35 !important;
}
#order-standard_cart .header-lined h1 {
    color: #FFFFFF !important;
    font-family: 'Anton', sans-serif;
    text-transform: uppercase;
}

/* Cart / checkout */
#order-standard_cart .order-summary,
#order-standard_cart .cart-summary,
#order-standard_cart .view-cart-items-header {
    background: #15151d !important;
    border: 1px solid #2a2a35 !important;
    color: #d4d4dc !important;
}
#order-standard_cart .view-cart-items {
    background: #1a1a22 !important;
}
#order-standard_cart .view-cart-items-header {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 900;
    font-size: 10px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #8888a0 !important;
}
#order-standard_cart .item-summary {
    background: #1a1a22 !important;
    border-bottom: 1px solid #2a2a35 !important;
    color: #d4d4dc !important;
}
#order-standard_cart .item-summary:hover {
    background: #2a2a35 !important;
}
#order-standard_cart .total-due-today {
    background: #15151d !important;
    border-top: 1px solid #E8000D !important;
    color: #FFFFFF !important;
}
#order-standard_cart .total-due-today .amt {
    font-family: 'Bebas Neue', sans-serif;
    font-size: 28px;
    color: #FFFFFF;
}

/* Domain search */
#order-standard_cart .domain-checker-container,
#order-standard_cart .domain-search-container {
    background: #15151d !important;
    border: 1px solid #2a2a35 !important;
}
#order-standard_cart .domain-lookup-result,
#order-standard_cart .domain-suggestion-container {
    background: #1a1a22 !important;
    border: 1px solid #2a2a35 !important;
}
#order-standard_cart .domain-lookup-result .available {
    color: #22c55e !important;
}
#order-standard_cart .domain-lookup-result .unavailable {
    color: #E8000D !important;
}

/* Configure product */
#order-standard_cart .product-options,
#order-standard_cart .product-config-options {
    background: #1a1a22 !important;
}
#order-standard_cart .product-options .panel,
#order-standard_cart .product-options .card {
    background: #1a1a22 !important;
    border: 1px solid #2a2a35 !important;
}

/* Checkout */
#order-standard_cart .checkout-container {
    background: #1a1a22 !important;
}
#order-standard_cart .gateway-option {
    background: #1a1a22 !important;
    border: 1px solid #2a2a35 !important;
}
#order-standard_cart .gateway-option.active,
#order-standard_cart .gateway-option:hover {
    border-color: #E8000D !important;
}

/* Sidebar collapsed (mobile) */
#order-standard_cart .sidebar-collapsed {
    background: #1a1a22 !important;
    border: 1px solid #2a2a35 !important;
}

/* Promo code */
#order-standard_cart .promo-container {
    background: #15151d !important;
    border: 1px solid #2a2a35 !important;
}
#order-standard_cart .promo-container label { color: #8888a0 !important; }

/* ============================================================
   UNIVERSAL DARK OVERRIDES — catch remaining light elements
   ============================================================ */
/* Any remaining white backgrounds */
.bg-white, .bg-light,
.panel-default > .panel-heading,
.well {
    background: #1a1a22 !important;
}

/* iCheck overrides */
.iradio_square-blue,
.icheckbox_square-blue {
    border-color: #333 !important;
}

/* WHMCS specific panels */
.panel-default {
    background: #1a1a22 !important;
    border-color: #2a2a35 !important;
}
.panel-default > .panel-heading {
    background: #15151d !important;
    color: #FFFFFF !important;
    border-color: #2a2a35 !important;
}

/* Domain pricing table */
.domain-pricing-table th,
.domain-pricing-table td {
    background: #1a1a22 !important;
    border-color: #2a2a35 !important;
    color: #d4d4dc !important;
}
.domain-pricing-table th {
    background: #15151d !important;
    color: #8888a0 !important;
}

/* Service details page */
.product-details-tab-container {
    background: #1a1a22 !important;
}

/* Announcements */
.announcement-single {
    background: #1a1a22 !important;
    border: 1px solid #2a2a35 !important;
}

/* Knowledge base */
.article-content {
    color: #d4d4dc;
}

/* Server status page */
.server-status .online { color: #22c55e !important; }
.server-status .offline { color: #E8000D !important; }

/* Account details */
.account-details .form-group label { color: #d4d4dc; }

/* Password strength meter */
.pw-strength-result { background: #222 !important; }

/* TOS checkbox area */
.tos-container {
    background: #15151d !important;
    border: 1px solid #2a2a35 !important;
}

/* Download items */
.downloads-item {
    background: #1a1a22 !important;
    border-bottom: 1px solid #2a2a35 !important;
}

/* Affiliate stats */
.affiliate-stat {
    background: #1a1a22 !important;
    border: 1px solid #2a2a35 !important;
}

/* Email history */
.email-item {
    background: #1a1a22 !important;
    border-bottom: 1px solid #2a2a35 !important;
}

/* Network issues banner */
.network-issues-banner {
    background: #1a1a22 !important;
    border: 1px solid #2a2a35 !important;
}

/* ANY remaining white text on dark */
#order-standard_cart,
#order-standard_cart *,
.primary-content {
    color: inherit;
}

/* Fix for text-dark classes */
.text-dark { color: #d4d4dc !important; }
.bg-white { background: #1a1a22 !important; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1199px) {
    .header .main-navbar-wrapper .navbar-collapse {
        background: #0e0e14 !important;
        border: 1px solid #2a2a35;
        padding: 12px;
    }
}

@media (max-width: 767px) {
    .mc-topbar { font-size: 9px; padding: 0 10px; }
    .mc-topbar-right { font-size: 10px; gap: 10px; }
    .mc-footer .row > div { margin-bottom: 20px; }

    h1, .h1 { font-size: 24px; }
    h2, .h2 { font-size: 20px; }

    .table-responsive { border: 1px solid #2a2a35; }
}

@media (max-width: 575px) {
    .mc-topbar-right .phone-numbers { display: none; }
}

/* ============================================================
   MODERN SAAS UI — Premium look & feel
   ============================================================ */

/* --- Rounded corners: cards, buttons, inputs, badges --- */
.card, .panel,
.card-header, .panel-heading,
.card-body, .panel-body,
.card-footer, .panel-footer {
    border-radius: 10px !important;
}
.card-header, .panel-heading {
    border-radius: 10px 10px 0 0 !important;
}
.card-footer, .panel-footer {
    border-radius: 0 0 10px 10px !important;
}

.btn {
    border-radius: 6px !important;
    transition: all 0.2s ease;
}
.btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.3) !important;
}
.btn:active {
    transform: translateY(0);
}

.form-control, input[type="text"], input[type="email"],
input[type="password"], input[type="number"], input[type="tel"],
input[type="url"], select, textarea,
.input-group-text, .custom-select {
    border-radius: 6px !important;
}
.input-group > .form-control:first-child,
.input-group > .input-group-prepend > .input-group-text {
    border-radius: 6px 0 0 6px !important;
}
.input-group > .form-control:last-child,
.input-group > .input-group-append > .btn,
.input-group > .input-group-append > .input-group-text {
    border-radius: 0 6px 6px 0 !important;
}

.badge, .label {
    border-radius: 4px !important;
}

.alert {
    border-radius: 8px !important;
    border-left-width: 4px !important;
}

.modal-content {
    border-radius: 12px !important;
}
.modal-header {
    border-radius: 12px 12px 0 0 !important;
}
.modal-footer {
    border-radius: 0 0 12px 12px !important;
}

.dropdown-menu {
    border-radius: 8px !important;
    overflow: hidden;
}

.table {
    border-radius: 8px !important;
    overflow: hidden;
}

.pagination .page-link {
    border-radius: 6px !important;
    margin: 0 2px;
}

/* --- Sidebar: modern pill-style nav --- */
.sidebar .list-group {
    gap: 4px;
    display: flex;
    flex-direction: column;
}
.sidebar .list-group-item {
    border-radius: 8px !important;
    border: none !important;
    background: transparent !important;
    padding: 10px 16px;
    font-size: 13px;
    transition: all 0.15s ease;
    margin-bottom: 0;
}
.sidebar .list-group-item:hover {
    background: rgba(232,0,13,0.06) !important;
    color: #fff !important;
    border: none !important;
    padding-left: 20px;
}
.sidebar .list-group-item.active,
.sidebar .list-group-item.active:hover {
    background: rgba(232,0,13,0.1) !important;
    color: #fff !important;
    border: none !important;
    border-left: 3px solid #E8000D !important;
    border-radius: 0 8px 8px 0 !important;
}
.sidebar .list-group-item .badge {
    border-radius: 10px !important;
}
.sidebar .panel, .sidebar .card {
    border-radius: 10px !important;
    overflow: hidden;
    border: 1px solid #2a2a35 !important;
    background: #1a1a22 !important;
}
.sidebar .panel-heading, .sidebar .card-header {
    background: #15151d !important;
    border-bottom: 1px solid #2a2a35 !important;
    padding: 14px 16px;
}

/* --- Cards: subtle glow on hover --- */
.card, .panel {
    transition: all 0.2s ease;
    border: 1px solid #2a2a35 !important;
}
.card:hover, .panel:hover {
    border-color: #32323e !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.2) !important;
}

/* --- Nav bar: modern glassmorphism feel --- */
.header .navbar {
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}
.header .main-navbar-wrapper {
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}
#nav .nav-link,
.navbar-nav .nav-link {
    border-radius: 6px !important;
    margin: 4px 2px !important;
    padding: 10px 14px !important;
    transition: all 0.15s ease;
}
#nav .nav-link:hover,
.navbar-nav .nav-link:hover {
    background: rgba(255,255,255,0.05) !important;
}
#nav .nav-item.active > .nav-link {
    background: rgba(232,0,13,0.08) !important;
    color: #fff !important;
}

/* --- Dropdown: modern floating menu --- */
.dropdown-menu {
    padding: 6px !important;
    box-shadow: 0 8px 30px rgba(0,0,0,0.4) !important;
    border: 1px solid #32323e !important;
    margin-top: 4px !important;
}
.dropdown-item {
    border-radius: 6px !important;
    padding: 8px 14px !important;
    transition: all 0.15s ease;
}
.dropdown-item:hover, .dropdown-item:focus {
    background: rgba(232,0,13,0.08) !important;
}

/* --- Tables: modern clean look --- */
.table thead th {
    border-bottom: 2px solid #2a2a35 !important;
    padding: 14px 16px;
    font-size: 11px;
}
.table td {
    padding: 14px 16px;
    transition: background 0.1s ease;
}
.table-hover tbody tr:hover td {
    background: rgba(255,255,255,0.03) !important;
}

/* --- Buttons: modern weight & presence --- */
.btn-primary, .btn-success,
a.btn-primary, a.btn-success {
    box-shadow: 0 2px 8px rgba(232,0,13,0.25) !important;
    font-size: 15px !important;
    padding: 10px 22px !important;
    font-weight: 500 !important;
}
.btn-primary:hover, .btn-success:hover {
    box-shadow: 0 4px 16px rgba(232,0,13,0.35) !important;
}

.btn-default, .btn-secondary,
.btn-outline-primary, .btn-outline-secondary {
    border-color: #32323e !important;
    font-size: 12px !important;
    padding: 8px 18px !important;
}

/* --- Form inputs: modern with subtle inner glow on focus --- */
.form-control:focus, input:focus, select:focus, textarea:focus {
    box-shadow: 0 0 0 3px rgba(232,0,13,0.1) !important;
}

/* --- Breadcrumb: minimal pill style --- */
.breadcrumb {
    padding: 8px 0;
}
.breadcrumb-item,
.breadcrumb-item a {
    font-size: 13px;
}

/* --- Alerts: modern toast style --- */
.alert {
    padding: 14px 18px;
    backdrop-filter: blur(4px);
}

/* --- Product cards (order form): modern --- */
#order-standard_cart .products .product {
    border-radius: 10px !important;
    overflow: hidden;
    transition: all 0.2s ease;
}
#order-standard_cart .products .product:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(0,0,0,0.3) !important;
    border-color: #E8000D !important;
}
#order-standard_cart .products .product header {
    border-radius: 0 !important;
}
#order-standard_cart .products .product footer {
    border-radius: 0 !important;
}

/* --- Status badges: modern pill --- */
.badge-success, .label-success,
.badge-danger, .label-danger,
.badge-warning, .label-warning,
.badge-info, .label-info {
    border-radius: 10px !important;
    padding: 4px 10px !important;
    font-size: 10px;
}

/* --- Tabs: modern underline style --- */
.nav-tabs {
    border-bottom: 2px solid #2a2a35 !important;
    gap: 4px;
}
.nav-tabs .nav-link {
    border: none !important;
    border-bottom: 2px solid transparent !important;
    border-radius: 6px 6px 0 0 !important;
    padding: 10px 16px !important;
    transition: all 0.15s ease;
}
.nav-tabs .nav-link:hover {
    background: rgba(255,255,255,0.03) !important;
    border-bottom-color: #32323e !important;
}
.nav-tabs .nav-link.active {
    background: rgba(232,0,13,0.06) !important;
    border-bottom: 2px solid #E8000D !important;
}

/* --- Red top bar: modern with slight shadow --- */
.mc-topbar {
    box-shadow: 0 2px 8px rgba(232,0,13,0.15);
}

/* --- Footer: modern card-style contact boxes --- */
.mc-footer-contact-card {
    border-radius: 10px !important;
    transition: all 0.2s ease;
}
.mc-footer-contact-card:hover {
    border-color: #32323e !important;
    transform: translateY(-2px);
}
.mc-footer-social a {
    border-radius: 8px !important;
    transition: all 0.2s ease;
}
.mc-footer-social a:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(232,0,13,0.2);
}

/* --- Login page: modern card --- */
.login-container .card {
    border-radius: 12px !important;
    box-shadow: 0 8px 30px rgba(0,0,0,0.3) !important;
    overflow: hidden;
}
.login-container .card-body {
    border-radius: 12px 12px 0 0 !important;
}
.login-container .card-footer {
    border-radius: 0 0 12px 12px !important;
}
.login-container .btn-primary {
    border-radius: 8px !important;
    padding: 14px !important;
    font-size: 18px !important;
}

/* --- Progress bars: rounded --- */
.progress {
    border-radius: 10px !important;
    height: 8px;
}
.progress-bar {
    border-radius: 10px !important;
}

/* --- Tooltips & Popovers: modern --- */
.popover {
    border-radius: 10px !important;
    box-shadow: 0 8px 30px rgba(0,0,0,0.4) !important;
}
.tooltip-inner {
    border-radius: 6px !important;
}

/* --- Smooth page transitions --- */
#main-body {
    animation: fadeIn 0.3s ease;
}
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: translateY(0); }
}

/* --- Notification bar: modern --- */
.network-issues-banner,
.alert-system {
    border-radius: 0 !important;
}

/* --- Cart sidebar categories: modern --- */
#order-standard_cart .cart-sidebar .panel,
#order-standard_cart .cart-sidebar .card {
    border-radius: 10px !important;
    overflow: hidden;
}
#order-standard_cart .cart-sidebar .list-group-item {
    border-radius: 0 !important;
    transition: all 0.15s ease;
}
#order-standard_cart .cart-sidebar .list-group-item:hover,
#order-standard_cart .cart-sidebar .list-group-item.active {
    padding-left: 20px;
    border-left: 3px solid #E8000D !important;
    border-radius: 0 !important;
}
