/* =========================================
   TUPAHOST - CSS GLOBAL DO TEMA WHMCS
   ========================================= */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;600;800;900&display=swap');

:root { 
    --main: #FF6C18; 
    --main-hover: #e55a0f;
    --bg: #0b0e14; 
    --box: #161a23; 
    --border-g: rgba(255, 255, 255, 0.06); 
    --txt: #ffffff;
    --txt-muted: #a1a1aa;
}

body {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    background-color: var(--bg) !important;
    color: var(--txt) !important;
}

/* Força o painel do WHMCS a ficar escuro e não conflitar */
section#main-body { background: transparent !important; }
.card, .panel { background-color: var(--box) !important; border-color: var(--border-g) !important; }
.card-header, .panel-heading { background-color: rgba(0,0,0,0.5) !important; color: #fff !important; border-bottom: 1px solid var(--border-g) !important;}
.text-dark, .text-body { color: #fff !important; }

/* =========================================
   CABEÇALHO TUPAHOST
   ========================================= */
.th-header { background: rgba(11, 14, 20, 0.96); backdrop-filter: blur(12px); padding: 15px 0; border-bottom: 1px solid var(--border-g); position: relative; width: 100%; z-index: 1000; }
.th-header .container { max-width: 1600px; display: flex; justify-content: space-between; align-items: center; padding: 0 20px; margin: 0 auto;}
.th-logo img { max-height: 45px; width: auto; display: block; }

.th-nav { display: flex; gap: 35px; align-items: center; }
.th-nav a { color: #cbd5e1; font-weight: 800; font-size: 14px; text-transform: uppercase; transition: 0.3s; letter-spacing: 1px; text-decoration: none; }
.th-nav a:hover { color: var(--main); }

/* Esconde o cabeçalho original cinza/branco do WHMCS */
section#header { display: none !important; }
#main-menu { display: none !important; } 

/* =========================================
   RODAPÉ TUPAHOST
   ========================================= */
.th-footer { background: #010203; padding: 60px 20px; text-align: center; border-top: 1px solid var(--border-g); margin-top: 50px;}
.th-footer img { max-height: 40px; opacity: 0.6; margin-bottom: 25px; transition: 0.3s; }
.th-footer img:hover { opacity: 1; }
.th-footer p { color: #64748b; font-size: 13px; margin: 0;}
/* =========================================
   TUPAHOST - WHMCS DARK MODE & BRANDING
   ========================================= */
:root { 
    --th-main: #FF6C18; 
    --th-main-hover: #e55a0f;
    --th-bg: #0b0e14; 
    --th-box: #161a23; 
    --th-border: rgba(255, 255, 255, 0.06); 
}

/* Fundo Geral e Textos */
body { background-color: var(--th-bg) !important; color: #cbd5e1 !important; }
.content-padded { padding: 20px; }

/* Botões Principais (Checkout, Salvar, Continuar) */
.btn-primary, .btn-success, .btn-checkout, .checkout-btn {
    background-color: var(--th-main) !important;
    border-color: var(--th-main) !important;
    color: #fff !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    border-radius: 8px !important;
    box-shadow: 0 10px 20px rgba(255, 108, 24, 0.2) !important;
    transition: 0.3s !important;
}
.btn-primary:hover, .btn-success:hover, .btn-checkout:hover, .checkout-btn:hover {
    background-color: var(--th-main-hover) !important;
    border-color: var(--th-main-hover) !important;
    transform: translateY(-2px);
    box-shadow: 0 15px 30px rgba(255, 108, 24, 0.4) !important;
}

/* Botões Secundários */
.btn-default {
    background-color: transparent !important;
    border-color: var(--th-border) !important;
    color: #fff !important;
}
.btn-default:hover {
    border-color: var(--th-main) !important;
    color: var(--th-main) !important;
}

/* Painéis e Cards (Faturas, Produtos, Carrinho) */
.card, .panel, .panel-default {
    background-color: var(--th-box) !important;
    border-color: var(--th-border) !important;
    border-radius: 12px !important;
    box-shadow: 0 20px 40px rgba(0,0,0,0.4) !important;
}
.card-header, .panel-heading {
    background-color: rgba(0,0,0,0.4) !important;
    border-bottom: 1px solid var(--th-border) !important;
    color: #fff !important;
    font-weight: 800 !important;
}
.card-body, .panel-body { background-color: transparent !important; }
.card-footer, .panel-footer { background-color: rgba(0,0,0,0.2) !important; border-top: 1px solid var(--th-border) !important; }

/* Formulários e Inputs */
.form-control {
    background-color: rgba(0,0,0,0.5) !important;
    border: 1px solid var(--th-border) !important;
    color: #fff !important;
    border-radius: 8px !important;
}
.form-control:focus {
    border-color: var(--th-main) !important;
    box-shadow: 0 0 0 0.2rem rgba(255, 108, 24, 0.25) !important;
    background-color: #000 !important;
}

/* Tabelas (Faturas, Extratos) */
.table, .table-striped > tbody > tr:nth-of-type(odd) { background-color: transparent !important; color: #cbd5e1 !important; }
.table th { border-bottom: 1px solid var(--th-border) !important; color: #fff !important; border-top: none !important;}
.table td { border-top: 1px solid var(--th-border) !important; }
.table-hover > tbody > tr:hover { background-color: rgba(255,255,255,0.02) !important; }

/* Títulos Globais */
h1, h2, h3, h4, h5, h6 { color: #fff !important; font-weight: 800 !important; }
.text-dark, .text-body { color: #cbd5e1 !important; }

/* Sidebar (Menu lateral do cliente) */
.list-group-item {
    background-color: transparent !important;
    border-color: var(--th-border) !important;
    color: #cbd5e1 !important;
}
.list-group-item.active {
    background-color: var(--th-main) !important;
    border-color: var(--th-main) !important;
    color: #fff !important;
}

/* Carrinho de Compras Específico (Standard_cart) */
.view-cart-items .item { border-bottom: 1px solid var(--th-border) !important; }
.order-summary { background-color: var(--th-box) !important; border: 1px solid var(--th-border) !important; border-radius: 12px !important; }

/* =========================================
   TUPAHOST - MODO DARK ABSOLUTO (FORÇADO)
   Aniquilação de fundos brancos residuais do WHMCS
   ========================================= */

/* Carrinho de Compras (Standard Cart) */
#order-standard_cart .main-container,
#order-standard_cart .cart-body,
#order-standard_cart .cart-sidebar,
#order-standard_cart .product-info,
#order-standard_cart .domain-selection,
#order-standard_cart .checkout-summary,
#order-standard_cart .view-cart-items,
#order-standard_cart .view-cart-items .item,
#order-standard_cart .order-summary,
#order-standard_cart .domain-suggestions .domain-suggestion,
.domain-checker-container,
.domain-step-options {
    background-color: var(--th-box) !important;
    color: #fff !important;
    border-color: var(--th-border) !important;
}

/* Modais, Wells e Caixas de Destaque */
.dropdown-menu, .modal-content, .well, .alert-info, .alert-warning, .alert-success, .alert-danger, .client-home-panels .panel {
    background-color: var(--th-box) !important;
    border: 1px solid var(--th-border) !important;
    color: #cbd5e1 !important;
}

.modal-header, .modal-footer {
    border-color: var(--th-border) !important;
}

/* Itens de Dropdown */
.dropdown-item { color: #cbd5e1 !important; }
.dropdown-item:hover, .dropdown-item:focus { 
    background-color: var(--th-main) !important; 
    color: #fff !important; 
}

/* Addons de Formulário (ex: o 'www.' ou '.com' grudado no campo de texto) */
.input-group-text, .input-group-addon {
    background-color: rgba(0,0,0,0.6) !important;
    border-color: var(--th-border) !important;
    color: #fff !important;
}

/* Itens de Lista (Menu lateral e faturas) */
.list-group-item:not(.active) {
    background-color: transparent !important;
    color: #cbd5e1 !important;
    border-color: var(--th-border) !important;
}
.list-group-item:not(.active):hover {
    background-color: rgba(255,255,255,0.03) !important;
}

/* Textos e Badges que ficam apagados ou cinzas */
.text-muted, p.text-muted, span.text-muted { color: var(--txt-muted) !important; }
.badge { color: #fff !important; }

/* DataTables (Tabelas de Faturas e Serviços Internas) */
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter {
    color: var(--txt-muted) !important;
}
table.dataTable tbody tr { background-color: transparent !important; }
table.dataTable tbody tr:nth-child(even) { background-color: rgba(255,255,255,0.02) !important; }

/* Correção de abas (Tabs) do carrinho */
.nav-tabs > li > a {
    background-color: transparent !important;
    border-color: transparent !important;
    color: #cbd5e1 !important;
}
.nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus {
    background-color: var(--th-box) !important;
    border-color: var(--th-border) !important;
    border-bottom-color: transparent !important;
    color: var(--th-main) !important;
}
.nav-tabs { border-bottom-color: var(--th-border) !important; }
/* =========================================
   TUPAHOST - ANULAÇÃO DE BRANCO NA HOME
   DNA TupaHost nos Tiles de Serviços
   ========================================= */

/* 1. Escurece o fundo de TODOS os painéis/tiles da Home do Cliente */
.client-home-panels .panel-default, 
.client-home-panels .panel, 
.card.panel-default {
    background-color: var(--th-box) !important;
    border-color: var(--th-border) !important;
    border-radius: 12px !important;
    box-shadow: 0 20px 40px rgba(0,0,0,0.5) !important;
    transition: 0.3s ease-out !important;
}

/* Efeito magnético suave ao passar o mouse no painel inteiro */
.client-home-panels .panel:hover {
    transform: translateY(-5px);
    border-color: var(--th-main) !important;
}

/* 2. Formata o container do Ícone: Muda o fundo para LARANJA TUPAHOST e ícone branco */
.client-home-panels .panel-body i,
.card.panel-default .panel-body i {
    color: #fff !important; /* Ícone branco */
    background-color: var(--th-main) !important; /* Fundo LARANJA */
    border-radius: 8px !important; /* Cantos arredondados padrão TupaHost */
    padding: 10px !important; /* Espaço interno */
    font-size: 24px !important; /* Tamanho uniforme do ícone */
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 15px !important;
    box-shadow: 0 8px 16px rgba(255, 108, 24, 0.3) !important; /* Brilho suave */
}

/* 3. Força todos os textos dentro do painel a ficarem brancos */
.client-home-panels .panel-body,
.client-home-panels .panel-body div, 
.client-home-panels .panel-body .desc,
.client-home-panels .panel-body span:not(.badge) {
    color: #fff !important;
}

/* Força os títulos dos painéis (Serviços, Domínios) a ficarem brancos */
.client-home-panels .panel-heading {
    color: #fff !important;
    border-bottom: 1px solid var(--th-border) !important;
    background-color: transparent !important;
}

/* Esconde o cabeçalho original cinza/branco do WHMCS no topo (segurança) */
section#header { display: none !important; }