/* COD Gaming MW2 — WHMCS 9.0.5 child theme */
:root {
    --cg-black: #050706;
    --cg-ink: #0a0d0b;
    --cg-panel: #111612;
    --cg-panel-2: #171d18;
    --cg-line: #2c352d;
    --cg-green: #83b817;
    --cg-green-bright: #a8dd29;
    --cg-green-dark: #52780a;
    --cg-text: #e8ece8;
    --cg-muted: #9ca59d;
    --cg-danger: #df4d45;
    --cg-shadow: 0 18px 50px rgba(0, 0, 0, .32);
}

html { scroll-behavior: smooth; }
body.primary-bg-color {
    background: #090c0a;
    color: #dce2dc;
    font-family: "Segoe UI", Roboto, Arial, sans-serif;
}
body::before {
    position: fixed;
    inset: 0;
    z-index: -1;
    content: "";
    background:
        linear-gradient(rgba(131,184,23,.022) 1px, transparent 1px),
        linear-gradient(90deg, rgba(131,184,23,.022) 1px, transparent 1px),
        radial-gradient(circle at 80% 0, rgba(131,184,23,.09), transparent 28rem);
    background-size: 34px 34px, 34px 34px, auto;
}

a { color: var(--cg-green-bright); }
a:hover { color: #c3f34f; }
.text-muted { color: var(--cg-muted) !important; }
.primary-content h1, .primary-content h2, .primary-content h3, .primary-content h4,
.card-title, label { color: var(--cg-text); }

/* Header and navigation */
#header.header { background: rgba(5,7,6,.97); border-bottom: 1px solid var(--cg-line); }
#header .topbar { background: #080b09; border-bottom-color: #202620; }
#header .navbar { padding-top: .55rem; padding-bottom: .55rem; }
#header .navbar-light .navbar-brand { color: #fff; }
#header .logo-img { width: auto; height: 86px; max-width: 150px; object-fit: contain; filter: drop-shadow(0 6px 18px rgba(0,0,0,.65)); }
#header .main-navbar-wrapper { background: #101410; border-top: 1px solid #222a23; }
#header .main-navbar-wrapper .navbar-nav .nav-link {
    color: #b8f536 !important;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}
#header .main-navbar-wrapper .navbar-nav .active > .nav-link,
#header .main-navbar-wrapper .navbar-nav .nav-link:hover,
#header .main-navbar-wrapper .navbar-nav .nav-link:focus,
#header .main-navbar-wrapper .navbar-nav .show > .nav-link {
    color: #e1ff98 !important;
    background: rgba(131,184,23,.14);
}
#header.header .main-navbar-wrapper .navbar-collapse #nav > li > a,
#header.header .main-navbar-wrapper .navbar-collapse > .navbar-nav > li > a {
    color: #b8f536 !important;
    text-shadow: 0 0 12px rgba(168,221,41,.22);
}
#header.header .main-navbar-wrapper .dropdown-menu .dropdown-item {
    color: #dce7cf !important;
}
#header.header .main-navbar-wrapper .dropdown-menu .dropdown-item:hover,
#header.header .main-navbar-wrapper .dropdown-menu .dropdown-item:focus {
    color: #c9ff4e !important;
    background: #1c2815;
}
#header .toolbar .nav-link { color: #e5e9e5; border: 1px solid #333c34; background: #111612; }
#header .toolbar .nav-link:hover { border-color: var(--cg-green); color: var(--cg-green-bright); }
#header .badge-info { color: #050706; background: var(--cg-green-bright); }
#header .search .form-control, #header .search .btn { border-color: #303831; background: #0c100d; color: #dce2dc; }

.master-breadcrumb { background: #0d110e; border-bottom: 1px solid #202720; }
.master-breadcrumb .breadcrumb { background: transparent; }
.master-breadcrumb .breadcrumb-item { color: #aab3aa; }
.master-breadcrumb .breadcrumb-item a { color: var(--cg-green-bright); }
.master-breadcrumb .breadcrumb-item a:hover { color: #d0ff5f; }

/* Shared controls */
.btn { border-radius: 2px; font-weight: 700; letter-spacing: .025em; }
.btn-primary, .btn-success, a.btn-primary {
    color: #080a08;
    border-color: var(--cg-green);
    background: linear-gradient(135deg, var(--cg-green-bright), var(--cg-green));
    box-shadow: 0 7px 22px rgba(131,184,23,.18);
}
.btn-primary:hover, .btn-primary:focus, .btn-success:hover, .btn-success:focus {
    color: #050605;
    border-color: #c1f14e;
    background: #b7e83c;
}
.btn-outline-primary { color: var(--cg-green-bright); border-color: var(--cg-green); }
.btn-outline-primary:hover { color: #070907; background: var(--cg-green-bright); border-color: var(--cg-green-bright); }
.btn-default, .btn-secondary { color: #dce2dc; background: #171c18; border-color: #384139; }
.btn-default:hover, .btn-secondary:hover { color: #fff; background: #222a23; border-color: #536054; }

.card, .panel, .list-group-item, .modal-content, .dropdown-menu {
    color: #d9dfd9;
    background-color: var(--cg-panel);
    border-color: var(--cg-line);
}
.card-header, .card-footer, .panel-heading, .modal-header, .modal-footer {
    color: #f2f5f2;
    background: #161c17;
    border-color: var(--cg-line);
}
.table { color: #dbe0db; }
.table thead th, .table td, .table th { border-color: #2b332c; }
.table thead th { color: var(--cg-green-bright); background: #111612; }
.table-striped tbody tr:nth-of-type(odd), .table-hover tbody tr:hover { background: rgba(255,255,255,.025); }
.form-control, .custom-select, select.form-control {
    color: #eef2ee;
    background: #0b0f0c;
    border-color: #3a443b;
    border-radius: 2px;
}
.form-control:focus, .custom-select:focus {
    color: #fff;
    background: #0c110d;
    border-color: var(--cg-green);
    box-shadow: 0 0 0 .2rem rgba(131,184,23,.15);
}
.form-control::placeholder { color: #6f786f; }
.input-group-text { color: #b9c2b9; background: #1b211c; border-color: #3a443b; }
.alert { color: #e8ece8; border-width: 1px; border-radius: 2px; }
.alert-info { background: #14252a; border-color: #24515d; }
.alert-success { background: #152518; border-color: #326b39; }
.alert-warning { color: #f2e6bb; background: #2b2511; border-color: #6b5820; }
.alert-danger { background: #2b1515; border-color: #713434; }
.page-link { color: var(--cg-green-bright); background: #111612; border-color: #313a32; }
.page-item.active .page-link { color: #070907; background: var(--cg-green); border-color: var(--cg-green); }

/* Homepage */
#main-body { padding-top: 2.25rem; padding-bottom: 4rem; }
.cg-hero { position: relative; overflow: hidden; margin: 0 0 4rem; border: 1px solid #39433a; background: linear-gradient(120deg, #090c0a 0%, #121713 56%, #17200f 100%); box-shadow: var(--cg-shadow); }
.cg-hero::before, .cg-hero::after { position: absolute; content: ""; pointer-events: none; }
.cg-hero::before { inset: 0; opacity: .26; background: repeating-linear-gradient(135deg, transparent 0 13px, rgba(131,184,23,.075) 13px 14px); }
.cg-hero::after { top: 0; left: 0; width: 8rem; height: 3px; background: var(--cg-green-bright); box-shadow: 8rem 0 #536a23; }
.cg-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.35fr .65fr; align-items: center; min-height: 520px; }
.cg-hero-copy { padding: 4.5rem 1.5rem 3.5rem 4rem; }
.cg-kicker, .cg-eyebrow, .cg-card-code { color: var(--cg-green-bright); font: 700 .72rem/1.3 Consolas, "Courier New", monospace; letter-spacing: .14em; }
.cg-kicker { display: inline-flex; gap: .55rem; align-items: center; margin-bottom: 1.25rem; padding: .55rem .75rem; border: 1px solid rgba(131,184,23,.34); background: rgba(131,184,23,.07); }
.cg-hero h1 { margin: 0 0 1.25rem; color: #fff; font-size: clamp(2.4rem, 5vw, 4.4rem); font-weight: 900; line-height: .98; letter-spacing: -.045em; text-transform: uppercase; }
.cg-hero h1 span { color: var(--cg-green-bright); }
.cg-hero-copy > p { max-width: 640px; margin-bottom: 1.7rem; color: #b7c0b8; font-size: 1.08rem; line-height: 1.75; }
.cg-hero-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.cg-hero-actions .btn { padding: .8rem 1.25rem; font-size: .92rem; text-transform: uppercase; }
.cg-status-strip { display: flex; flex-wrap: wrap; gap: 1.3rem; margin-top: 2.4rem; color: #a9b2aa; font-size: .76rem; font-weight: 700; letter-spacing: .035em; text-transform: uppercase; }
.cg-status-strip i { margin-right: .32rem; color: var(--cg-green-bright); }
.cg-hero-mark { position: relative; display: grid; place-items: center; align-self: stretch; padding: 2rem; background: radial-gradient(circle, rgba(131,184,23,.15), transparent 60%); }
.cg-hero-mark img { position: relative; z-index: 2; width: min(100%, 390px); filter: drop-shadow(0 25px 38px rgba(0,0,0,.75)); }
.cg-hero-mark > span { position: absolute; right: 1.25rem; bottom: 1.1rem; color: #899189; font: 700 .68rem Consolas, monospace; letter-spacing: .08em; }
.cg-hero-mark > span strong { color: var(--cg-green-bright); }
.cg-scan-ring { position: absolute; width: 74%; aspect-ratio: 1; border: 1px solid rgba(131,184,23,.28); border-radius: 50%; box-shadow: 0 0 0 34px rgba(131,184,23,.025), 0 0 0 68px rgba(131,184,23,.02); }

.cg-section { margin: 0 0 4rem; }
.cg-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1.4rem; padding-bottom: 1rem; border-bottom: 1px solid var(--cg-line); }
.cg-section-heading h2, .cg-account-cta h2 { margin: .28rem 0 0; color: #fff; font-size: 1.9rem; font-weight: 800; letter-spacing: -.025em; text-transform: uppercase; }
.cg-text-link { font-size: .82rem; font-weight: 700; text-transform: uppercase; }
.cg-product-grid { column-count: 3; column-gap: 1.25rem; }
.cg-product-card { position: relative; overflow: hidden; min-height: 310px; border: 1px solid #323b33; background: linear-gradient(160deg, #151a16, #0d110e); box-shadow: 0 12px 28px rgba(0,0,0,.2); transition: transform .2s ease, border-color .2s ease; }
.cg-product-card::before { position: absolute; inset: 0 auto 0 0; width: 3px; content: ""; background: var(--cg-green); }
.cg-product-card:hover { transform: translateY(-4px); border-color: #597326; }
.cg-card-code { display: block; margin-bottom: 1.2rem; text-align: left; }
.cg-product-icon { display: grid; place-items: center; width: 62px; height: 62px; margin: 0 auto 1rem; color: var(--cg-green-bright); border: 1px solid #445144; background: #0a0e0b; font-size: 1.5rem; transform: rotate(45deg); }
.cg-product-icon i { transform: rotate(-45deg); }
.cg-product-card h3 { margin-bottom: .75rem; color: #fff; font-size: 1.25rem; font-weight: 800; text-transform: uppercase; }
.cg-product-card p { min-height: 48px; color: var(--cg-muted); }

.cg-support .action-icon-btns > div { margin-bottom: 1rem; }
.cg-support .action-icon-btns a { display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; min-height: 150px; padding: 1.25rem; color: #e3e8e3; border: 1px solid var(--cg-line); background: #111612; font-weight: 700; text-transform: uppercase; }
.cg-support .action-icon-btns a:hover { color: var(--cg-green-bright); border-color: var(--cg-green); text-decoration: none; transform: translateY(-2px); }
.cg-support .action-icon-btns i { color: var(--cg-green-bright); font-size: 2rem; }
.cg-support .action-icon-btns span::after { margin-left: .55rem; content: "\2192"; color: var(--cg-green); }
.cg-account-cta { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: 2rem 2.25rem; border: 1px solid #6d9421; background: linear-gradient(115deg, #192411, #273713); box-shadow: var(--cg-shadow); }
.cg-account-cta p { margin: .45rem 0 0; color: #bec9b8; }

/* Client area surfaces */
.sidebar .card-header, .sidebar .panel-heading { border-left: 3px solid var(--cg-green); }
.sidebar .list-group-item.active, .sidebar .list-group-item:hover { color: #fff; background: #1d2817; border-color: #3d5122; }
.client-home-cards .card, .tiles .tile { border-top: 2px solid var(--cg-green); }
.dataTables_wrapper .dataTables_filter input { color: #fff; background: #0b0f0c; border: 1px solid #3a443b; }

/* Domain search */
.domain-search-container { background: linear-gradient(100deg, #111712, #18200f); border-bottom: 1px solid #344321; }
.domain-search-container h2 { color: #fff; font-weight: 800; text-transform: uppercase; }

/* Footer */
#footer.footer { color: #929b93; background: #050706; border-top: 1px solid #293129; }
#footer.footer::before { display: block; width: 100%; height: 3px; content: ""; background: linear-gradient(90deg, var(--cg-green), transparent 48%); }
#footer.footer .nav-link, #footer.footer .btn { color: #b8c0b9; }

@media (max-width: 991.98px) {
    .cg-hero-grid { grid-template-columns: 1fr; }
    .cg-hero-copy { padding: 3.5rem 2rem 2rem; }
    .cg-hero-mark { min-height: 360px; }
    .cg-hero-mark img { width: 330px; }
    .cg-product-grid { column-count: 2; }
}
@media (max-width: 767.98px) {
    #header .logo-img { height: 64px; max-width: 105px; }
    #main-body { padding-top: 1rem; }
    .cg-hero { margin-bottom: 2.5rem; }
    .cg-hero-copy { padding: 3rem 1.15rem 1.6rem; }
    .cg-hero h1 { font-size: 2.35rem; }
    .cg-hero-mark { min-height: 300px; padding: 1rem; }
    .cg-hero-mark img { width: 270px; }
    .cg-status-strip { gap: .7rem; }
    .cg-product-grid { column-count: 1; }
    .cg-section-heading, .cg-account-cta { align-items: flex-start; flex-direction: column; }
    .cg-account-cta { padding: 1.5rem; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
