/* *****************************************************
    ** Firefly Host - Custom Stylesheet **
    Cores do site de referência (Elementor):
    primary/text: #FFFFFF | secondary/accent: #03FF00 | cyan: #00F0FF
    background: #0D172A | gray: #434E63 | Tipografia: Poppins, Rubik
***************************************************** */

/* Cores Firefly Host (conforme site ref) */
:root {
    --white: #FFFFFF;

    /* Neutros / cinza do site (#434E63) */
    --neutral-50: #5a6578;
    --neutral-100: #434E63;
    --neutral-200: #3a4457;
    --neutral-300: #303a4b;
    --neutral-400: #272f3d;
    --neutral-500: #1e252f;
    --neutral-600: #151b24;
    --neutral-700: #0f1420;
    --neutral-800: #0D172A;
    --neutral-900: #0a1120;
    --neutral-950: #060b14;

    /* Primary = verde CTA (#03FF00) */
    --primary-50: #9fff9f;
    --primary-100: #6bff6b;
    --primary-200: #3dff3d;
    --primary-300: #03FF00;
    --primary-400: #02cc00;
    --primary-500: #029900;
    --primary-600: #016600;
    --primary-700: #014d00;
    --primary-800: #013300;
    --primary-900: #001a00;
    --primary-950: #000d00;

    /* Primary usage */
    --primary: #03FF00;
    --primary-lifted: #3dff3d;
    --primary-accented: #02cc00;

    /* Secondary */
    --secondary: var(--neutral-100);
    --secondary-lifted: var(--neutral-50);
    --secondary-accented: var(--neutral-200);

    /* Success / Info / Notice / Warning / Error (mantidos) */
    --success: #00a63e;
    --success-lifted: #008236;
    --success-accented: #016630;
    --info: #0ea5e9;
    --info-lifted: #0284c7;
    --info-accented: #0369a1;
    --notice: #7f22fe;
    --notice-lifted: #7008e7;
    --notice-accented: #5d0ec0;
    --warning: #f54a00;
    --warning-lifted: #ca3500;
    --warning-accented: #9f2d00;
    --error: #e7000b;
    --error-lifted: #c10007;
    --error-accented: #9f0712;

    /* Grayscale = #434E63 (site ref) */
    --grayscale: #434E63;
    --grayscale-lifted: #5a6578;
    --grayscale-accented: #6b7690;

    /* Neutral semantic */
    --neutral: var(--neutral-100);
    --neutral-lifted: var(--neutral-50);
    --neutral-accented: var(--neutral-200);

    /* Text = branco (#FFFFFF) */
    --text-inverted: #FFFFFF;
    --text-muted: rgba(255, 255, 255, 0.7);
    --text-lifted: rgba(255, 255, 255, 0.85);
    --text-accented: rgba(255, 255, 255, 0.95);
    --text: #FFFFFF;

    /* Borders */
    --border-muted: rgba(255, 255, 255, 0.12);
    --border: rgba(255, 255, 255, 0.2);
    --border-lifted: rgba(255, 255, 255, 0.28);
    --border-accented: rgba(255, 255, 255, 0.4);

    /* Backgrounds - #0D172A (site ref bc99d68) */
    --bg: #1a2332;
    --bg-muted: #141c2a;
    --bg-lifted: #434E63;
    --bg-accented: #4e5a6e;
    --bg-inverted: #0D172A;

    /* Firefly cards: fundo escuro, accent ciano #00F0FF, CTA #03FF00 */
    --firefly-card-bg: #1a2332;
    --firefly-page-bg: #0D172A;
    --firefly-accent: #00F0FF;
    --firefly-cta: #03FF00;

    /* Additional colors */
    --yellow-200: #fef08a;
    --yellow-300: #fde047;
    --teal-300: #5eead4;
    --teal-400: #2dd4bf;
    --emerald-300: #6ee7b7;
    --pink-400: #f472b6;

    /* Font sizes */
    --text-xs: 0.625rem;
    --text-sm: 0.75rem;
    --text-md: 0.875rem;
    --text-lg: 1rem;

    /* Spacing */
    --outline-sm: 1px;
    --outline-md: 2px;
    --outline-lg: 3px;

    /* Rounding - Firefly style (slightly rounder) */
    --rounding-sm: 0.375rem;
    --rounding-md: 0.5rem;
    --rounding-lg: 0.75rem;

    /* Shadows - cards and buttons */
    --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
    --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);

    /* Transitions */
    --transition-fast: 150ms ease;
    --transition-base: 200ms ease;

    /* Other */
    --letter-spacing: 0em;
    --disabled-opacity: 25%;
}

/* Firefly Host: card shadows and transitions */
.primary-content .card,
.card {
    box-shadow: var(--shadow-sm);
    transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.primary-content .card:hover,
.card:hover {
    box-shadow: var(--shadow-md);
}

/* Títulos dos cards (todas as páginas, incluindo detalhes do produto): 16px como nas demais */
.primary-content .card .card-title,
.primary-content .card-header .card-title,
.primary-content .card h3.card-title {
    font-size: 16px !important;
}

/* Atalhos rápidos (cPanel): ícones Phosphor grandes, linhas finas, azul escuro, acima do texto */
#tabOverview .card a:has(.product-shortcut-phosphor-icon) {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
}
.primary-content .product-shortcut-phosphor-icon,
#tabOverview .product-shortcut-phosphor-icon {
    font-size: 3.25rem !important;
    display: block !important;
    margin-bottom: 0.5rem !important;
    color: #0D172A !important;
}
#theme-content.theme-light #tabOverview .product-shortcut-phosphor-icon {
    color: #0D172A !important;
}

/* Card selecionado (estado do centro): borda ciano com glow */
.card.selected,
.card.active,
.card.highlight,
.card--selected {
    border: 2px solid var(--firefly-accent);
    box-shadow: 0 0 12px var(--firefly-accent), 0 0 24px rgba(26, 254, 223, 0.25);
}

/* Bloco de cards no estilo Firefly (fundo escuro, texto branco, borda ciano) */
.firefly-cards {
    background-color: var(--firefly-page-bg);
    padding: 2rem 0;
}

.firefly-cards .card {
    background-color: var(--firefly-card-bg);
    border: 1px solid var(--firefly-accent);
    color: #fff;
    border-radius: var(--rounding-lg);
}

.firefly-cards .card .card-title,
.firefly-cards .card h1, .firefly-cards .card h2, .firefly-cards .card h3,
.firefly-cards .card h4, .firefly-cards .card h5, .firefly-cards .card h6 {
    color: #fff;
}

.firefly-cards .card .card-body,
.firefly-cards .card p,
.firefly-cards .card .text-muted {
    color: rgba(255, 255, 255, 0.9);
}

.firefly-cards .card .text-muted {
    color: var(--firefly-accent);
}

.firefly-cards .card .btn-primary {
    background: var(--firefly-cta);
    border-color: var(--firefly-cta);
    color: #0B171C;
}

.firefly-cards .card .btn-primary:hover {
    background: #2eff2e;
    border-color: #2eff2e;
    color: #0B171C;
}

.firefly-cards .card.selected,
.firefly-cards .card.active,
.firefly-cards .card.highlight {
    border-width: 2px;
    box-shadow: 0 0 12px var(--firefly-accent), 0 0 24px rgba(26, 254, 223, 0.3);
}

/* Bootstrap-switch: mesma borda dos cards */
.bootstrap-switch {
    border: 1px solid var(--border-muted) !important;
}

.btn {
    transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

/* Firefly Host: store com mesma cor dos CTAs (#03FF00) */
.dynamic-landing-page {
    --primary-color: #03FF00;
    --accent-color: #00F0FF;
}

/* Header: cor de fundo do site (#0D172A) – evita barra branca do Bootstrap */
header.header,
header.header .navbar,
header.header .navbar-light,
header.header .main-navbar-wrapper,
header.header .topbar {
    background-color: #0D172A !important;
}

/* Header: altura fixa 100px, alinhamento vertical ao centro, largura fixa via .container */
header.header {
    font-family: Rubik, sans-serif;
    font-size: 16px;
    font-weight: 400;
    height: 100px;
    line-height: 28.8px;
    width: 100%;
    position: relative;
    display: flex;
    align-items: center;
}

/* Linha do header: mesmo padding (mt-2 mb-2 no template) e alinhamento vertical ao centro */
header.header .header-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    width: 100%;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Topbar (notificações + Conectado como): à direita da logo; fundo já é o do header */
header.header .topbar {
    padding: 6px 0;
    color: rgba(255, 255, 255, 0.85);
    min-width: 0;
}
header.header .topbar .btn {
    color: rgba(255, 255, 255, 0.85);
}

/* Botão alternar tema (no header, sempre visível) */
/* Switch tema claro/escuro no header (área logada): ícones + Bootstrap custom-switch */
header .theme-toggle-switch-wrapper .theme-toggle-icon {
    color: rgba(255, 255, 255, 0.9);
    font-size: 1rem;
}
header .theme-toggle-switch-wrapper .custom-switch .custom-control-label {
    background-color: rgba(255, 255, 255, 0.25);
    border-color: rgba(255, 255, 255, 0.4);
}
header .theme-toggle-switch-wrapper .custom-switch .custom-control-input:checked ~ .custom-control-label {
    background-color: rgba(3, 255, 0, 0.5);
    border-color: rgba(3, 255, 0, 0.7);
}
header .theme-toggle-switch-wrapper .custom-switch .custom-control-label::before {
    background-color: #fff;
    border-color: rgba(255, 255, 255, 0.5);
}
header.header .topbar .active-client .input-group-text {
    color: rgba(255, 255, 255, 0.9);
    background-color: transparent;
    border: 0;
}
header.header .topbar .active-client .btn.btn-active-client span {
    border-bottom: 1px dashed rgba(255, 255, 255, 0.85);
}

/* Popover de notificações do usuário: borda arredondada 10px, texto e ícones azul escuro */
.popover-user-notifications {
    border-radius: 10px !important;
    border-color: rgba(13, 23, 42, 0.2) !important;
}
.popover-user-notifications .popover-inner {
    border-radius: 10px !important;
}
.popover-user-notifications .popover-body,
.popover-user-notifications .popover-body a,
.popover-user-notifications .popover-body .message {
    color: #0D172A !important;
}
.popover-user-notifications .popover-body a:hover {
    color: #0D172A !important;
}
.popover-user-notifications ul li i.fas,
.popover-user-notifications ul li i.far,
.popover-user-notifications ul li i.fas.fa-info-circle,
.popover-user-notifications ul li i.far.fa-info-circle,
.popover-user-notifications ul li i.fas.fa-check-circle,
.popover-user-notifications ul li i.far.fa-check-circle,
.popover-user-notifications ul li i.fas.fa-exclamation-circle,
.popover-user-notifications ul li i.far.fa-exclamation-circle,
.popover-user-notifications ul li i.fas.fa-warning,
.popover-user-notifications ul li i.far.fa-warning {
    color: #0D172A !important;
}
.popover-user-notifications ul li {
    border-bottom-color: rgba(13, 23, 42, 0.12) !important;
}
.popover-user-notifications ul li a:hover {
    background-color: rgba(13, 23, 42, 0.06) !important;
}

header.header .navbar,
header.header .navbar-light {
    width: 100%;
    max-width: 100%;
}

/* Alinhamento vertical ao centro dos elementos do header */
header.header .navbar,
header.header .navbar-light,
header.header .main-navbar-wrapper,
header.header .navbar .navbar-collapse,
header.header .navbar .navbar-nav {
    display: flex;
    align-items: center;
}

/* Navbar brand (logo): 15px padding esquerda/direita quando logado */
header.header .header-row.container-fluid .navbar-brand {
    padding-left: 15px;
    padding-right: 15px;
}

/* Logo: tamanho 157 x 39 px */
header.header .logo-img {
    width: 157px !important;
    height: 39px !important;
    max-width: 157px !important;
    max-height: 39px !important;
    object-fit: contain;
}

/* Botão ENTRAR no header (estilo Firefly: verde, cantos assimétricos) – alinhado à direita */
header.header .btn.btn-entrar-header,
header .btn-entrar-header,
.btn-entrar-header {
    box-sizing: border-box;
    font-family: Poppins, sans-serif;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.25px;
    line-height: 16px;
    text-align: center;
    text-transform: uppercase;
    color: #434e63 !important;
    background-color: #03FF00 !important;
    border-radius: 5px 30px 30px 5px;
    padding: 14px 30px;
    border: none;
    text-decoration: none;
    cursor: pointer;
    transition: opacity 0.2s ease, background-color 0.2s ease;
    margin-left: auto;
}
header.header .btn.btn-entrar-header:hover,
header .btn-entrar-header:hover,
.btn-entrar-header:hover {
    background-color: #02cc00 !important;
    color: #434e63 !important;
    text-decoration: none;
}

/* Botão primary block: mesmo estilo do botão Entrar (verde Firefly, cantos assimétricos) */
.btn.btn-primary.btn-block,
body .btn.btn-primary.btn-block {
    box-sizing: border-box;
    font-family: Poppins, sans-serif;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.25px;
    line-height: 16px;
    text-align: center;
    text-transform: uppercase;
    color: #434e63 !important;
    background-color: #03FF00 !important;
    border-radius: 5px 30px 30px 5px;
    padding: 14px 30px !important;
    border: none;
    text-decoration: none;
    cursor: pointer;
    transition: opacity 0.2s ease, background-color 0.2s ease;
}
.btn.btn-primary.btn-block:hover,
body .btn.btn-primary.btn-block:hover {
    background-color: #02cc00 !important;
    color: #434e63 !important;
    text-decoration: none;
}

/* Botão Enviar Pagamento (frmPayment): mesmo estilo do botão Entrar (verde, Poppins) */
#frmPayment #btnSubmit,
#frmPayment .btn.btn-primary#btnSubmit {
    box-sizing: border-box !important;
    font-family: Poppins, sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    letter-spacing: 0.25px !important;
    line-height: 16px !important;
    text-align: center !important;
    text-transform: uppercase !important;
    color: #434e63 !important;
    background-color: #03FF00 !important;
    border-radius: 5px 30px 30px 5px !important;
    padding: 14px 30px !important;
    border: none !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: opacity 0.2s ease, background-color 0.2s ease !important;
}
#frmPayment #btnSubmit:hover,
#frmPayment .btn.btn-primary#btnSubmit:hover {
    background-color: #02cc00 !important;
    color: #434e63 !important;
    text-decoration: none !important;
}
#frmPayment #btnSubmit .pay-text,
#frmPayment #btnSubmit .click-text {
    color: #434e63 !important;
}

.cc-payment-form {
    margin-bottom: 10px;
}

/* Botão Continuar, Checkout, Completar Pedido (e primary/success lg): mesmo estilo do botão Entrar */
#btnCompleteProductConfig,
#btnCompleteOrder,
.btn.btn-primary.btn-lg,
.btn.btn-success.btn-lg.btn-checkout {
    margin-top: 30px;
    box-sizing: border-box;
    font-family: Poppins, sans-serif;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.25px;
    line-height: 16px;
    text-align: center;
    text-transform: uppercase;
    color: #434e63 !important;
    background-color: #03FF00 !important;
    border-radius: 5px 30px 30px 5px;
    padding: 14px 30px !important;
    border: none;
    text-decoration: none;
    cursor: pointer;
    transition: opacity 0.2s ease, background-color 0.2s ease;
}
#btnCompleteProductConfig:hover,
#btnCompleteOrder:hover,
.btn.btn-primary.btn-lg:hover,
.btn.btn-success.btn-lg.btn-checkout:hover {
    background-color: #02cc00 !important;
    color: #434e63 !important;
    text-decoration: none;
}

/* Container "Já registrado?" / "Criar uma nova conta": lado a lado, centralizado */
.already-registered {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}
/* Ambos os botões sempre visíveis (sobrescreve .w-hidden) */
.already-registered #btnAlreadyRegistered,
.already-registered #btnNewUserSignup {
    display: inline-block !important;
}

/* Botões "Já registrado?" e "Criar uma nova conta": fundo dos cards, texto branco */
#btnAlreadyRegistered,
#btnNewUserSignup {
    box-sizing: border-box;
    font-family: Poppins, sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    letter-spacing: 0.25px;
    line-height: 16px;
    text-align: center;
    text-transform: uppercase;
    color: #FFFFFF !important;
    background-color: var(--bg) !important;
    border: 1px solid var(--border-muted) !important;
    padding: 14px 30px !important;
    text-decoration: none;
    cursor: pointer;
    transition: opacity 0.2s ease, background-color 0.2s ease;
}
/* Border radius: esquerda só no botão esquerdo, direita só no direito (segmento) */
#btnAlreadyRegistered {
    border-radius: 30px 0 0 30px;
}
#btnNewUserSignup {
    border-radius: 0 30px 30px 0;
}
#btnAlreadyRegistered:hover,
#btnNewUserSignup:hover {
    background-color: var(--bg-lifted) !important;
    color: #FFFFFF !important;
    border-color: var(--border-muted) !important;
    text-decoration: none;
}
/* Estado ativo = mesma cor do hover */
#btnAlreadyRegistered.active,
#btnNewUserSignup.active {
    background-color: var(--bg-lifted) !important;
    color: #FFFFFF !important;
    border-color: var(--border-muted) !important;
}

/* Remover menu #nav (navegação principal) */
#nav {
    display: none !important;
}

/* Rodapé: mesma cor de fundo do site (#0D172A) */
#footer.footer,
footer.footer {
    background-color: #0D172A !important;
}

/* Esconder caixa de seleção de idioma/moeda no rodapé */
footer .list-inline-item:has(button[data-target="#modalChooseLanguage"]) {
    display: none !important;
}

/* Área principal: mesma cor de fundo do site (#0D172A) */
section#main-body {
    background-color: #0D172A !important;
}

/* Remover cart-sidebar (sidebar da página do carrinho) */
body #order-standard_cart .cart-sidebar,
.cart-sidebar {
    display: none !important;
}

/* Coluna que contém o cart-sidebar: não ocupar espaço (quando sidebar ainda no DOM) */
body #order-standard_cart .row > [class*="col"]:has(.cart-sidebar) {
    display: none !important;
}

/* Coluna vazia após JS remover o cart-sidebar: esconder (não remover a coluna do DOM) */
body #order-standard_cart .cart-sidebar-column-hidden {
    display: none !important;
}

/* ========== Sidebar unificada (client area): sem cards, menu contínuo por secções ========== */
.sidebar .card-sidebar {
    margin-bottom: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
.sidebar .card-sidebar .card-header {
    background: transparent !important;
    border: none !important;
    border-bottom: 1px solid var(--border-muted) !important;
    border-radius: 0 !important;
    padding: 10px 0 8px 0 !important;
    margin-bottom: 0 !important;
}
.sidebar .card-sidebar .card-header .card-title {
    font-size: 0.8125rem !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-muted) !important;
}
.sidebar .card-sidebar .card-header .card-title .fa,
.sidebar .card-sidebar .card-header .card-title .fas {
    font-size: 0.75rem;
    margin-right: 0.35rem;
}
.sidebar .card-sidebar .collapsable-card-body {
    padding: 10px 0 0 20px !important;
    background: transparent !important;
    border: none !important;
}
.sidebar .card-sidebar .list-group {
    border: none !important;
    border-radius: 0 !important;
    margin-bottom: 1rem !important;
}
.sidebar .card-sidebar .list-group:last-child {
    border-radius: 0 !important;
}
.sidebar .card-sidebar .list-group-item {
    padding: 6px 0 6px 0 !important;
    border: none !important;
    background: transparent !important;
}
.sidebar .card-sidebar .list-group-item:hover {
    background: rgba(255, 255, 255, 0.06) !important;
}
.sidebar .card-sidebar .list-group-item.active,
.sidebar .card-sidebar .list-group-item.active:hover,
.sidebar .card-sidebar .list-group-item.active:focus {
    background: rgba(3, 255, 0, 0.12) !important;
    color: var(--primary) !important;
}

/* Carrinho: área do conteúdo com 100% de largura */
#order-standard_cart .cart-body {
    width: 100% !important;
}

#order-standard_cart .sub-heading {
    text-align: left !important;
}
body #order-standard_cart .sub-heading span {
    background: #0d172a;
    padding: 0 20px 0 0;
}

/* Itens do carrinho: mesmo fundo e borda dos cards */
body #order-standard_cart .cart-body .view-cart-items .item {
    background-color: var(--bg) !important;
    border: 1px solid var(--border-muted) !important;
}

/* Esconder o parágrafo "Configure as opções desejadas e prossiga para o pagamento" */
#order-standard_cart .secondary-cart-body > p {
    display: none !important;
}

/* Carrinho (logado ou não): cards/panels da sidebar e da página sempre com o mesmo fundo do tema, nunca branco */
#order-standard_cart .panel,
#order-standard_cart .panel.card,
#order-standard_cart .panel.panel-default,
#order-standard_cart .sidebar-collapsed .card,
#order-standard_cart .sidebar-collapsed .panel {
    background-color: var(--bg) !important;
    border-color: var(--border-muted) !important;
    color: var(--text) !important;
}
#order-standard_cart .panel .panel-heading,
#order-standard_cart .panel .card-header,
#order-standard_cart .sidebar-collapsed .card-header {
    background-color: var(--bg-lifted) !important;
    border-color: var(--border-muted) !important;
    color: var(--text) !important;
}
#order-standard_cart .panel .panel-body,
#order-standard_cart .panel .card-body,
#order-standard_cart .sidebar-collapsed .card-body {
    background-color: var(--bg) !important;
    border-color: var(--border-muted) !important;
    color: var(--text) !important;
}
#order-standard_cart .panel .panel-title,
#order-standard_cart .panel .card-title,
#order-standard_cart .sidebar-collapsed .card-title {
    color: var(--text) !important;
}
#order-standard_cart .panel .form-control,
#order-standard_cart .sidebar-collapsed .form-control,
#order-standard_cart .sidebar-collapsed .custom-select {
    background-color: var(--bg-lifted) !important;
    border-color: var(--border-muted) !important;
    color: var(--text) !important;
}

/* Aba ativa do carrinho (view-cart-tabs): mesmo fundo dos cards */
body #order-standard_cart .secondary-cart-body .view-cart-tabs .nav-tabs a[aria-expanded="true"] {
    background-color: var(--bg) !important;
    border-color: var(--border-muted) var(--border-muted) transparent !important;
}

/**
 * Firefly theme – Order form checkout two-column layout (firefly_cart).
 * Applied only on desktop; on smaller viewports cards stack vertically.
 */
@media (min-width: 992px) {
    #order-standard_cart #frmCheckout {
        display: grid;
        grid-template-columns: 7fr 5fr;
        gap: 1.5rem;
    }

    #order-standard_cart .checkout-card {
        background: none;
        border: 1px solid rgba(0, 0, 0, 0.1);
        border-radius: 4px;
        padding: 1.5rem;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
    }

    #order-standard_cart .checkout-card-left {
        background: none;
        padding: 0;
        border: none;
        box-shadow: none;
    }
}

/* Resumo do Pedido (checkout): borda e padding em cada item */
.checkout-order-summary .checkout-cart-items .checkout-cart-item {
    border-bottom: 1px solid var(--border-muted, rgba(255, 255, 255, 0.15));
    padding: 0.75rem 0 1rem;
}
.checkout-order-summary .checkout-cart-items .checkout-cart-item:last-child {
    border-bottom: none;
}

/* Formulário cartão (Stripe / gateway): nome e número 100%, validade e CVV lado a lado; nome primeiro */
#order-standard_cart #creditCardInputFields,
#order-standard_cart #paymentGatewayInput {
    display: flex;
    flex-direction: column;
}
/* Nome do cartão em 100% e primeiro (order -1) */
#order-standard_cart #creditCardInputFields .row:has(input[name="ccname"]),
#order-standard_cart #creditCardInputFields .row:has(label[for*="ccname"]),
#order-standard_cart #paymentGatewayInput .row:has(input[name="ccname"]),
#order-standard_cart #paymentGatewayInput .row:has(label[for*="ccname"]) {
    order: -1;
}
#order-standard_cart #creditCardInputFields .row:has(input[name="ccname"]) > [class*="col-"],
#order-standard_cart #creditCardInputFields .row:has(label[for*="ccname"]) > [class*="col-"],
#order-standard_cart #paymentGatewayInput .row:has(input[name="ccname"]) > [class*="col-"],
#order-standard_cart #paymentGatewayInput .row:has(label[for*="ccname"]) > [class*="col-"] {
    flex: 0 0 100%;
    max-width: 100%;
}
/* Número do cartão 100% (Stripe ou campo clássico) */
#order-standard_cart #creditCardInputFields .col-md-6:has(#stripeCreditCard),
#order-standard_cart #paymentGatewayInput .col-md-6:has(#stripeCreditCard),
#order-standard_cart #creditCardInputFields .row:has(#stripeCreditCard) > [class*="col-"],
#order-standard_cart #paymentGatewayInput .row:has(#stripeCreditCard) > [class*="col-"] {
    flex: 0 0 100%;
    max-width: 100%;
}
/* Validade e CVV lado a lado (50% cada) */
#order-standard_cart #creditCardInputFields .row:has(#stripeCreditCardExpiry),
#order-standard_cart #paymentGatewayInput .row:has(#stripeCreditCardExpiry),
#order-standard_cart #creditCardInputFields .row:has(input[name="ccexpiry"]),
#order-standard_cart #creditCardInputFields .row:has(input[name="cccvv"]) {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}
#order-standard_cart #creditCardInputFields .row:has(#stripeCreditCardExpiry) > [class*="col-"],
#order-standard_cart #paymentGatewayInput .row:has(#stripeCreditCardExpiry) > [class*="col-"],
#order-standard_cart #creditCardInputFields .row:has(input[name="ccexpiry"]) > [class*="col-"],
#order-standard_cart #creditCardInputFields .row:has(input[name="cccvv"]) > [class*="col-"] {
    flex: 1 1 0;
    min-width: 0;
}
/* Garantir que rows dentro do bloco de cartão usem flex para os col-* funcionarem */
#order-standard_cart #creditCardInputFields .row,
#order-standard_cart #paymentGatewayInput .row {
    display: flex;
    flex-wrap: wrap;
}

/* Botão Google Pay / carteira digital: coluna e botão em 100% */
#order-standard_cart #paymentGatewayInput .row > [class*="col-"]:only-of-type,
#order-standard_cart #creditCardInputFields .row > [class*="col-"]:only-of-type {
    flex: 0 0 100%;
    max-width: 100%;
}
#order-standard_cart #paymentGatewayInput div:has(> iframe),
#order-standard_cart #creditCardInputFields div:has(> iframe) {
    width: 100% !important;
}
#order-standard_cart #paymentGatewayInput div:has(> iframe) iframe,
#order-standard_cart #creditCardInputFields div:has(> iframe) iframe {
    width: 100% !important;
    min-width: 100%;
}

/* Stripe (#stripeElements): zerar margin-left dos offsets (col-md-offset-*, offset-*) */
#stripeElements [class*="offset-"],
#stripeElements .col-md-offset-2,
#stripeElements .col-md-offset-4,
#stripeElements .stripe-cards-inputs.offset-md-2 {
    margin-left: 0 !important;
}
#stripeElements .stripe-cards-inputs {
    max-width: 100%;
}

/* Nome do cartão (descrição): zerar margin do container */
#inputDescriptionContainer,
#creditCardInputFields #inputDescriptionContainer,
#paymentGatewayInput #inputDescriptionContainer {
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin: 0 !important;
    max-width: 100%;
}

#newCardSaveSettings {
    padding-left: 15px;
    padding-right: 15px;
}

/* Botão Validar Código: mesma cor do hover como estado normal */
button[name="validatepromo"].btn-default {
    color: #FFFFFF !important;
    background-color: var(--grayscale-lifted) !important;
    border-color: var(--grayscale-lifted) !important;
}
button[name="validatepromo"].btn-default:hover {
    color: #FFFFFF !important;
    background-color: var(--grayscale-lifted) !important;
    border-color: var(--grayscale-lifted) !important;
}

/* Botão "Gerar Senha": estado normal igual ao hover (cor sólida) */
button.generate-password.btn-default,
button.generate-password.btn-default:hover {
    color: #fff !important;
    background-color: var(--grayscale-lifted) !important;
    border-color: var(--grayscale-lifted) !important;
}

/* Formulário domínio: abas lado a lado (Registrar | Usar meu domínio), padrão = Usar meu domínio */
#frmProductDomain .domain-selection-options {
    position: relative;
    border: none !important;
    box-shadow: none;
}
#frmProductDomain .domain-tabs {
    display: flex;
    gap: 0;
    margin-bottom: 0;
    border-bottom: none;
    background: #0d172a;
}
#frmProductDomain .domain-tabs .tab {
    flex: 1;
    padding: 12px 16px;
    text-align: center;
    font-family: Rubik, sans-serif;
    font-size: 15px;
    font-weight: 500;
    color: #94a3b8;
    background: transparent;
    border: none;
    border-bottom: 1px solid transparent;
    cursor: pointer;
    transition: color 0.2s, border-color 0.2s;
}
#frmProductDomain .domain-tabs .tab:hover {
    color: #cbd5e1;
    background: transparent;
}
#frmProductDomain .domain-tabs .tab.active {
    color: #FFFFFF;
    background: transparent;
    border-bottom-color: var(--firefly-accent, #00F0FF);
}
#frmProductDomain .domain-tab-panels {
    padding: 16px;
    background-color: var(--bg);
    border: 1px solid var(--border-muted);
    border-radius: 0 0 8px 8px;
}
#frmProductDomain .domain-selection-options .option.domain-tab-panel {
    display: none;
    background: transparent;
    margin: 0;
    padding: 0;
    border: none;
}
#frmProductDomain .domain-selection-options .option.domain-tab-panel.active {
    display: block;
}
#frmProductDomain .domain-selection-options .option.domain-tab-panel.active .domain-input-group {
    display: block !important;
}
#frmProductDomain .domain-selection-options .option.domain-tab-panel:not(.active) .domain-input-group {
    display: none !important;
}
#frmProductDomain .domain-selection-options .option > label:first-of-type {
    display: none;
}

/* Botão do formulário de domínio: mesmo padding do Entrar */
body #order-standard_cart .domain-selection-options .btn {
    padding: 14px 30px !important;
}

/* Campos domínio próprio: cantos internos retos (conectados) */
#owndomainsld {
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}
#owndomaintld {
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
}

/* Campos domínio próprio: mesma altura do botão Usar (padding 14px 30px) */
#domainowndomain #owndomainsld,
#domainowndomain #owndomaintld,
#domainowndomain .input-group .input-group-text {
    min-height: 46px !important;
    padding: 11px 12px !important;
    box-sizing: border-box;
}

/* Form "usar meu domínio": ocupa toda a largura do card (sem centralizar com offset) */
#domainowndomain > .row {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0;
    width: 100%;
    max-width: 100%;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
/* Coluna do input (ex.: col-sm-8): cresce e preenche o espaço; remove offset */
#domainowndomain > .row > div:first-child {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin-left: 0 !important;
    padding-right: 0.5rem;
}
#domainowndomain > .row > .col-10 {
    flex: 1;
    min-width: 0;
}
#domainowndomain .domains-row {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 0;
    width: 100%;
}
#domainowndomain .domains-row > .col-10,
#domainowndomain .domains-row > .col-9 {
    flex: 1;
    min-width: 0;
}
#domainowndomain .domains-row > .col-1,
#domainowndomain .domains-row > .col-3 {
    flex: 0 0 auto;
    min-width: 80px;
}
#domainowndomain .domains-row .input-group {
    display: flex;
    width: 100%;
}
#domainowndomain > .row > .col-2,
#domainowndomain > .row > div:last-child {
    flex: 0 0 auto !important;
}

/* Seletor de domínios: sem borda branca */
#frmProductDomain .domain-input-group .form-control,
#frmProductDomain .domain-input-group input,
#frmProductDomain .domain-input-group textarea,
#frmProductDomain .domain-input-group .input-group-text,
#frmProductDomain .domain-input-group .input-group,
#frmProductDomain .domain-input-group .btn-group,
#frmProductDomain .domain-input-group .multiselect,
#frmProductDomain .domain-input-group .dropdown-toggle,
#frmProductDomain textarea#message {
    border: none !important;
    box-shadow: none !important;
}
#frmProductDomain .domain-input-group .input-group .form-control:focus,
#frmProductDomain .domain-input-group .form-control:focus {
    border: none !important;
    box-shadow: none !important;
}

#order-standard_cart .domain-checker-advanced textarea {
    width: 100%;
    height: 120px;
    resize: none;
    border-radius: 10px;
    padding: 11px;
    color: #0D172A !important;
}

/* Inputs e selects no tema escuro – texto na mesma cor do fundo do site (legível) */
/* Inputs com fundo branco: fonte na cor do fundo do site (azul escuro #0D172A) */
.form-control,
select.form-control,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
textarea.form-control {
    background-color: #ffffff !important;
    color: #0D172A !important;
    border-color: var(--border);
}
.form-control::placeholder {
    color: rgba(13, 23, 42, 0.5);
}
.form-control:focus {
    background-color: #ffffff !important;
    color: #0D172A !important;
    border-color: var(--firefly-accent);
}
select.form-control option {
    background: #ffffff;
    color: #0D172A;
}
.input-group-text {
    background-color: #ffffff !important;
    color: #0D172A !important;
    border-color: var(--border);
}

/* Campo Descrição (Opcional): append alinhado ao form, sem borda, borda arredondada à direita */
.fieldgroup-auxfields .input-group {
    display: flex !important;
    align-items: stretch !important;
}
.fieldgroup-auxfields .input-group .form-control {
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}
.fieldgroup-auxfields .input-group-append {
    display: flex !important;
    align-items: stretch !important;
}
.fieldgroup-auxfields .input-group-append .input-group-text {
    border: none !important;
    border-top-right-radius: 4px !important;
    border-bottom-right-radius: 4px !important;
    display: flex !important;
    align-items: center !important;
    align-self: stretch !important;
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
}

/* Texto de formulários (labels, legendas, etc.) mesma cor do restante do site */
form label,
form .form-group label,
form .form-check-label,
form legend,
form .input-group-text,
#frmProductDomain label,
#frmProductDomain .domain-selection-options .option label,
body form textarea {
    color: #FFFFFF !important;
}
.list-group-item {
    background-color: var(--bg);
    color: var(--text);
    border-color: var(--border-muted);
}
.table {
    color: var(--text);
}
.table td, .table th {
    border-color: var(--border-muted);
}
.card {
    background-color: var(--bg);
    border-color: var(--border);
    color: var(--text);
}

/* Tiles da área do cliente */
.tiles {
    position: relative;
}

/* Row dos tiles: bordas à esquerda; última caixa com cantos direitos arredondados */
.client-home-tiles-row {
    border-radius: 10px;
    overflow: hidden;
}
/* Cols com flex para o tile preencher a altura e alinhar a barra (evitar “torta”) */
.client-home-tiles-row > div {
    display: flex;
}
.client-home-tiles-row > div:first-child .tile {
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
}
.client-home-tiles-row > div:last-child .tile {
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
}

/* Tiles: ícone ao lado do texto, ícones maiores */
.tiles .tile {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    text-align: left !important;
    flex: 1 !important;
    min-height: 100% !important;
    gap: 0.75rem !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    background-color: #0D172A !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
    color: rgba(255, 255, 255, 0.95) !important;
}
.tiles .tile i,
.tiles .tile .ph,
.tiles .tile .fas,
.tiles .tile .far {
    position: static !important;
    color: #fff !important;
    font-size: 2.25rem !important;
    flex-shrink: 0 !important;
}
.tiles .tile .stat {
    color: #fff !important;
    font-size: 20px !important;
    line-height: 1.2;
}
.tiles .tile .title {
    color: rgba(255, 255, 255, 0.9) !important;
}
.tiles .tile .highlight {
    margin-top: 0 !important;
    margin-left: auto !important;
}
.tiles .tile:hover {
    background-color: #1e293b !important;
}
.tiles .tile:hover i,
.tiles .tile:hover .ph,
.tiles .tile:hover .fas,
.tiles .tile:hover .far {
    color: #fff !important;
}

.card-header {
    background-color: var(--bg-lifted);
    color: var(--text);
    border-color: var(--border-muted);
}
.card-footer {
    background-color: var(--bg-lifted);
    border-color: var(--border-muted);
    color: var(--text);
}

/* Cards da área do cliente (Sitejet, promo, etc.): nenhum fundo branco – sempre padrão dos cards */
.client-home-cards .card,
.client-home-cards .card.card-accent-blue,
.client-home-cards .card[class*="card-accent-"] {
    background-color: var(--bg) !important;
    border-color: var(--border-muted);
    color: var(--text);
}
.client-home-cards .card .card-header,
.client-home-cards .card .card-body,
.client-home-cards .card .card-footer,
.client-home-cards .card.card-accent-blue .card-header,
.client-home-cards .card.card-accent-blue .card-body,
.client-home-cards .card.card-accent-blue .card-footer,
.client-home-cards .card[class*="card-accent-"] .card-header,
.client-home-cards .card[class*="card-accent-"] .card-body,
.client-home-cards .card[class*="card-accent-"] .card-footer {
    background-color: var(--bg) !important;
    border-color: var(--border-muted);
    color: var(--text);
}
.client-home-cards .card .card-header,
.client-home-cards .card.card-accent-blue .card-header,
.client-home-cards .card[class*="card-accent-"] .card-header {
    background-color: var(--bg-lifted) !important;
}
.client-home-cards .card .card-footer,
.client-home-cards .card.card-accent-blue .card-footer,
.client-home-cards .card[class*="card-accent-"] .card-footer {
    background-color: var(--bg-lifted) !important;
}
.client-home-cards .card .card-header .btn,
.client-home-cards .card[class*="card-accent-"] .card-header .btn {
    background-color: var(--bg) !important;
    color: var(--text) !important;
    border-color: var(--border);
}
.client-home-cards .card .card-header .btn:hover,
.client-home-cards .card[class*="card-accent-"] .card-header .btn:hover {
    background-color: var(--grayscale-lifted) !important;
    color: var(--text-inverted) !important;
}

/* List-group nos cards da área do cliente (ex.: Produtos/Serviços ativos): fundo claro, conteúdo escuro */
.client-home-cards .card .list-group {
    background-color: #f8f9fa !important;
    border-color: #dee2e6 !important;
}
.client-home-cards .card .list-group-item {
    background-color: #fff !important;
    color: #0D172A !important;
    border-color: #dee2e6 !important;
}
.client-home-cards .card .list-group-item .div-service-name,
.client-home-cards .card .list-group-item .font-weight-bold,
.client-home-cards .card .list-group-item .text-domain,
.client-home-cards .card .list-group-item .label {
    color: #0D172A !important;
}

/* Status “Ativo”: círculo verde luminoso */
.label.label-success {
    display: inline-block !important;
    width: 1rem !important;
    height: 1rem !important;
    min-width: 1rem !important;
    min-height: 1rem !important;
    padding: 0 !important;
    border-radius: 50% !important;
    background-color: #03FF00 !important;
    font-size: 0 !important;
    line-height: 0 !important;
    overflow: hidden !important;
    text-indent: -9999px !important;
    color: transparent !important;
}

.client-home-cards .card .list-group-item .btn,
.client-home-cards .card .list-group-item .dropdown-item {
    color: #0D172A !important;
}
.client-home-cards .card .list-group-item .btn-default {
    background-color: #f8f9fa !important;
    border-color: #dee2e6 !important;
    color: #0D172A !important;
}
.client-home-cards .card .list-group-item .btn-default:hover {
    background-color: #e9ecef !important;
    color: #0D172A !important;
}
.client-home-cards .card .list-group-item .btn-primary {
    background-color: #03FF00 !important;
    color: #434e63 !important;
    border-color: #03FF00 !important;
}
.client-home-cards .card .list-group-item .btn-primary:hover {
    background-color: #02cc00 !important;
    color: #434e63 !important;
}
.client-home-cards .card .list-group-item .dropdown-menu {
    background-color: #fff !important;
    border-color: #dee2e6 !important;
}
.client-home-cards .card .list-group-item .dropdown-item {
    color: #0D172A !important;
}
.client-home-cards .card .list-group-item .dropdown-item:hover {
    background-color: #f8f9fa !important;
    color: #0D172A !important;
}
.client-home-cards .card .list-group-item .btn-view-details {
    color: #0D172A !important;
}

/* Painel Sitejet Builder: ocultar */
#sitejetPromoPanel {
    display: none !important;
}

/* Uso de disco / largura de banda: dials com fundo do card e texto branco */
.usage-dial,
#diskUsage .usage-dial,
#bandwidthUsage .usage-dial {
    background: var(--bg) !important;
    color: #fff !important;
    border-color: var(--border-muted) !important;
}

/* Estatísticas de uso (cPanel): barras em vez de círculos, verde do botão Entrar (#03FF00) – aplica em qualquer contexto */
.usage-bar-wrap {
    max-width: 320px;
    margin: 0 auto 0.5rem;
    display: block !important;
}
.usage-bar-track {
    display: block !important;
    height: 16px !important;
    min-height: 16px !important;
    background: #434E63 !important;
    border-radius: 8px;
    overflow: hidden;
}
.usage-bar-fill,
.usage-bar-fill-disk,
.usage-bar-fill-bw {
    display: block !important;
    height: 100% !important;
    min-height: 16px !important;
    min-width: 2px !important;
    border-radius: 8px;
    background: #03FF00 !important;
    transition: width 0.3s ease;
}
.usage-bar-value {
    font-size: 1rem;
    font-weight: 600;
    margin-top: 0.35rem;
    color: var(--text);
}
#cPanelUsagePanel .usage-bar-wrap,
.cpanel-usage-stats .usage-bar-wrap {
    max-width: 320px;
    margin: 0 auto 0.5rem;
}
#theme-content.theme-light .usage-bar-track {
    background: #e2e8f0 !important;
}
#theme-content.theme-light .usage-bar-value {
    color: #0D172A;
}

/* ========== Tema claro (abaixo do header) ========== */
#theme-content.theme-light {
    /* Variáveis para modo claro: mesmos tons, fundo claro */
    --bg: #ffffff;
    --bg-muted: #f8f9fa;
    --bg-lifted: #e9ecef;
    --bg-accented: #dee2e6;
    --bg-inverted: #0D172A;
    --firefly-card-bg: #f8f9fa;
    --firefly-page-bg: #ffffff;
    --text: #0D172A;
    --text-muted: rgba(13, 23, 42, 0.7);
    --text-lifted: rgba(13, 23, 42, 0.85);
    --text-accented: rgba(13, 23, 42, 0.95);
    --text-inverted: #0D172A;
    --border-muted: rgba(0, 0, 0, 0.1);
    --border: rgba(0, 0, 0, 0.18);
    --border-lifted: rgba(0, 0, 0, 0.25);
    --border-accented: rgba(0, 0, 0, 0.35);
    --neutral: #434E63;
    --grayscale: #434E63;
    --grayscale-lifted: #5a6578;
    --grayscale-accented: #3a4457;
    background-color: #ffffff !important;
}
#theme-content.theme-light section#main-body {
    background-color: #ffffff !important;
}
#theme-content.theme-light #footer.footer,
#theme-content.theme-light footer.footer {
    background-color: #f8f9fa !important;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
}
/* Override "Todas as fontes em branco" dentro do tema claro */
#theme-content.theme-light,
#theme-content.theme-light .primary-content,
#theme-content.theme-light .card,
#theme-content.theme-light .card-body,
#theme-content.theme-light .card-title,
#theme-content.theme-light .card-header,
#theme-content.theme-light .card-footer,
#theme-content.theme-light p,
#theme-content.theme-light span,
#theme-content.theme-light h1,
#theme-content.theme-light h2,
#theme-content.theme-light h3,
#theme-content.theme-light h4,
#theme-content.theme-light h5,
#theme-content.theme-light h6,
#theme-content.theme-light label,
#theme-content.theme-light .breadcrumb,
#theme-content.theme-light .breadcrumb a,
#theme-content.theme-light .nav-link,
#theme-content.theme-light .dropdown-item,
#theme-content.theme-light .dropdown-item a,
#theme-content.theme-light .list-group-item,
#theme-content.theme-light .table,
#theme-content.theme-light .table td,
#theme-content.theme-light .table th,
#theme-content.theme-light a,
#theme-content.theme-light .text-muted,
#theme-content.theme-light .list-inline-item,
#theme-content.theme-light .copyright,
#theme-content.theme-light footer .nav-link,
#theme-content.theme-light .btn-default,
#theme-content.theme-light .btn-primary,
#theme-content.theme-light .btn-success {
    color: #0D172A !important;
}
#theme-content.theme-light a:hover {
    color: #02cc00 !important;
}
#theme-content.theme-light .text-muted {
    color: rgba(13, 23, 42, 0.7) !important;
}
/* Cards e fundos no tema claro */
#theme-content.theme-light .card,
#theme-content.theme-light .card-body,
#theme-content.theme-light .card-header,
#theme-content.theme-light .card-footer,
#theme-content.theme-light .panel,
#theme-content.theme-light .panel-body,
#theme-content.theme-light .panel-heading {
    background-color: var(--firefly-card-bg) !important;
    border-color: var(--border-muted) !important;
    color: #0D172A !important;
}
#theme-content.theme-light .card-header {
    background-color: #e9ecef !important;
    border-bottom-color: var(--border-muted) !important;
}
#theme-content.theme-light .list-group-item {
    background-color: transparent !important;
    border-color: var(--border-muted) !important;
}
/* Sidebar no tema claro: forçar fundo transparente nos itens (evita override de theme.css) */
#theme-content.theme-light .sidebar .card-sidebar .list-group-item {
    background-color: transparent !important;
    background: transparent !important;
}
#theme-content.theme-light .table td,
#theme-content.theme-light .table th {
    border-color: var(--border-muted) !important;
}
#theme-content.theme-light .btn-default {
    background-color: var(--grayscale-lifted) !important;
    border-color: var(--grayscale-lifted) !important;
    color: #0D172A !important;
}
#theme-content.theme-light .btn-default:hover {
    background-color: var(--grayscale-accented) !important;
    border-color: var(--grayscale-accented) !important;
    color: #0D172A !important;
}
#theme-content.theme-light .btn-primary,
#theme-content.theme-light .btn-success {
    color: #0D172A !important;
}
#theme-content.theme-light .form-control,
#theme-content.theme-light .custom-select,
#theme-content.theme-light textarea {
    background-color: #ffffff !important;
    color: #0D172A !important;
    border-color: var(--border-muted) !important;
}
#theme-content.theme-light .usage-dial,
#theme-content.theme-light #diskUsage .usage-dial,
#theme-content.theme-light #bandwidthUsage .usage-dial {
    background: #f8f9fa !important;
    color: #0D172A !important;
    border-color: var(--border-muted) !important;
}
/* Sub-heading / primary-bg-color no tema claro */
#theme-content.theme-light .sub-heading span.primary-bg-color {
    color: #0D172A !important;
    background: transparent !important;
}

/* Todas as fontes em branco */
body,
body .primary-content,
body .card,
body .card-body,
body .card-title,
body .card-header,
body .card-footer,
body p,
body span,
body h1, body h2, body h3, body h4, body h5, body h6,
body label,
body .breadcrumb,
body .breadcrumb a,
body .nav-link,
body .dropdown-item,
body .dropdown-item a,
body .list-group-item,
body .table,
body .table td,
body .table th,
body a,
body .text-muted,
body .modal-title,
body .modal-body,
body .modal-footer,
body .alert,
body .list-inline-item,
body .copyright,
body footer .nav-link,
body .btn-default,
body .navbar a,
body .btn-primary,
body .btn-success {
    color: #FFFFFF !important;
}
body a:hover {
    color: rgba(255, 255, 255, 0.9) !important;
}

/* btn-default: estado normal = cor do hover (cinza) */
body .btn-default {
    background-color: var(--grayscale-lifted) !important;
    border-color: var(--grayscale-lifted) !important;
}
body .btn-default:hover {
    background-color: var(--grayscale-lifted) !important;
    border-color: var(--grayscale-lifted) !important;
}

/* Área logada: forçar estilo dos botões (fundo #0d172a, borda, branco, 10px radius) – depois das regras gerais */
#main-body:has(.sidebar) .btn,
#main-body:has(.sidebar) .btn-default,
#main-body:has(.sidebar) .btn-primary,
#main-body:has(.sidebar) .btn-success,
#theme-content.theme-light #main-body:has(.sidebar) .btn,
#theme-content.theme-light #main-body:has(.sidebar) .btn-default,
#theme-content.theme-light #main-body:has(.sidebar) .btn-primary,
#theme-content.theme-light #main-body:has(.sidebar) .btn-success {
    background-color: #0d172a !important;
    border-color: var(--grayscale-lifted) !important;
    color: #ffffff !important;
    border-radius: 10px !important;
}
#main-body:has(.sidebar) .btn *,
#main-body:has(.sidebar) .btn a,
#main-body:has(.sidebar) .btn i,
#theme-content.theme-light #main-body:has(.sidebar) .btn *,
#theme-content.theme-light #main-body:has(.sidebar) .btn a,
#theme-content.theme-light #main-body:has(.sidebar) .btn i {
    color: #ffffff !important;
}
#main-body:has(.sidebar) .btn:hover,
#main-body:has(.sidebar) .btn-default:hover,
#main-body:has(.sidebar) .btn-primary:hover,
#main-body:has(.sidebar) .btn-success:hover,
#theme-content.theme-light #main-body:has(.sidebar) .btn:hover,
#theme-content.theme-light #main-body:has(.sidebar) .btn-default:hover,
#theme-content.theme-light #main-body:has(.sidebar) .btn-primary:hover,
#theme-content.theme-light #main-body:has(.sidebar) .btn-success:hover {
    background-color: #1e293b !important;
    border-color: var(--grayscale-lifted) !important;
    color: #ffffff !important;
}
#main-body:has(.sidebar) .btn:hover *,
#main-body:has(.sidebar) .btn:hover a,
#main-body:has(.sidebar) .btn:hover i,
#theme-content.theme-light #main-body:has(.sidebar) .btn:hover *,
#theme-content.theme-light #main-body:has(.sidebar) .btn:hover a,
#theme-content.theme-light #main-body:has(.sidebar) .btn:hover i {
    color: #ffffff !important;
}

/* Grupos de botões (btn-group): bordas arredondadas só à esquerda no primeiro e à direita no último, sem gap */
.btn-group > .btn:first-child {
    border-top-left-radius: 10px !important;
    border-bottom-left-radius: 10px !important;
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}
.btn-group > .btn:last-child:not(:first-child) {
    border-top-right-radius: 10px !important;
    border-bottom-right-radius: 10px !important;
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
}
.btn-group > .btn-group:last-child > .btn {
    border-top-right-radius: 10px !important;
    border-bottom-right-radius: 10px !important;
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
}
.btn-group > .btn:not(:first-child):not(:last-child),
.btn-group > .btn-group:not(:last-child) > .btn {
    border-radius: 0 !important;
}

/* Grupo botão + dropdown (ex.: “Faça login no cPanel” + seta): sem separação, aspecto único */
.btn-group > .btn-group {
    margin-left: 0 !important;
}
.btn-group > .btn + .btn-group,
.btn-group > .btn-group:last-child {
    margin-left: -1px !important;
}
.btn-group > .btn-group > .btn.dropdown-toggle {
    border-left: 1px solid rgba(255, 255, 255, 0.2) !important;
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
    min-width: 2rem;
}
.btn-group > .btn-group > .btn.dropdown-toggle .caret {
    margin-left: 0;
}
.btn-group.btn-group-sm > .btn-group > .btn.dropdown-toggle {
    padding-left: 0.4rem !important;
    padding-right: 0.4rem !important;
}

/* Botões cPanel / Webmail: dois botões cinza, ícone + texto */
.div-service-login-buttons {
    gap: 0.5rem;
    display: inline-flex;
    flex-wrap: wrap;
}
.div-service-login-buttons .btn-service-login {
    display: inline-flex;
    align-items: center;
    border-radius: 10px;
}
.div-service-login-buttons .btn-service-icon {
    margin-right: 0.35rem;
    flex-shrink: 0;
}
.div-service-login-buttons .btn-service-icon.ph {
    font-size: 1.1rem;
}
.div-service-login-buttons .btn-service-icon img {
    vertical-align: middle;
}

/* Modais: fundo branco, texto escuro, botões legíveis */
.modal .modal-content {
    background-color: #ffffff !important;
    border: 1px solid #dee2e6;
    color: #0D172A;
}
.modal .modal-header {
    background-color: #ffffff !important;
    color: #0D172A !important;
    border-bottom: 1px solid #dee2e6;
}
.modal .modal-title {
    color: #0D172A !important;
}
.modal .modal-body {
    background-color: #ffffff !important;
    color: #0D172A !important;
}
.modal .modal-footer {
    background-color: #f8f9fa !important;
    color: #0D172A !important;
    border-top: 1px solid #dee2e6;
}
.modal .modal-footer .btn-default,
.modal .modal-footer .btn-secondary {
    background-color: #ffffff !important;
    color: #0D172A !important;
    border: 1px solid #0D172A !important;
}
.modal .modal-footer .btn-primary {
    background-color: #03FF00 !important;
    color: #434e63 !important;
    border: none !important;
}
.modal .modal-footer .btn-primary:hover {
    background-color: #02cc00 !important;
    color: #434e63 !important;
}
.modal .modal-header .close {
    color: #0D172A !important;
    opacity: 0.8;
}

/* Modal Gerar senha: texto azul escuro, bordas nos inputs, botões no padrão do tema */
#modalGeneratePassword .modal-header,
#modalGeneratePassword .modal-body,
#modalGeneratePassword .modal-footer {
    background-color: #fff !important;
    color: #0D172A !important;
    border-color: #dee2e6;
}
#modalGeneratePassword .modal-title,
#modalGeneratePassword .col-form-label,
#modalGeneratePassword label,
#modalGeneratePassword .modal-body,
#modalGeneratePassword .modal-footer {
    color: #0D172A !important;
}
#modalGeneratePassword .form-control,
#modalGeneratePassword input[type="number"],
#modalGeneratePassword input[type="text"] {
    border: 1px solid #dee2e6 !important;
    color: #0D172A !important;
    background-color: #fff !important;
    border-radius: 4px;
}
#modalGeneratePassword .form-control:focus {
    border-color: #0D172A !important;
    box-shadow: 0 0 0 0.2rem rgba(13, 23, 42, 0.15);
}
#modalGeneratePassword .alert.alert-danger {
    background-color: #fff !important;
    color: #e7000b !important;
    border: 1px solid #e7000b;
    text-align: left;
}
#modalGeneratePassword .btn-primary,
#modalGeneratePassword #btnGeneratePasswordInsert {
    font-family: Poppins, sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #434e63 !important;
    background-color: #03FF00 !important;
    border: none !important;
    border-radius: 5px 30px 30px 5px !important;
    padding: 14px 30px !important;
}
#modalGeneratePassword .btn-primary:hover,
#modalGeneratePassword #btnGeneratePasswordInsert:hover {
    background-color: #02cc00 !important;
    color: #434e63 !important;
}
#modalGeneratePassword .btn-default {
    font-family: Poppins, sans-serif !important;
    font-weight: 500 !important;
    color: #0D172A !important;
    background-color: #fff !important;
    border: 1px solid #0D172A !important;
    border-radius: 5px 30px 30px 5px !important;
    padding: 10px 20px !important;
}
#modalGeneratePassword .btn-default:hover {
    background-color: #0D172A !important;
    color: #fff !important;
    border-color: #0D172A !important;
}
#modalGeneratePassword .modal-footer .close {
    color: #0D172A !important;
}

/* Alert warning: fundo e borda cinza */
.alert-warning {
    background-color: #898989 !important;
    border-color: #898989 !important;
}

/* Checkout mensagem de segurança: centralizar verticalmente, fundo verde segurança */
.alert.alert-warning.checkout-security-msg,
.checkout-security-msg {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 3rem;
    background-color: #0d6b2c !important;
    border-color: #0a5522 !important;
    color: #fff !important;
}
.checkout-security-msg .fas.fa-lock {
    margin-right: 20px;
}

/* Formulários de login: borda 1px branca nos inputs; o card mantém a borda padrão */
.login-form .form-control,
.login-form input[type="text"],
.login-form input[type="email"],
.login-form input[type="password"],
#containerExistingUserSignin .form-control,
#containerExistingUserSignin input[type="text"],
#containerExistingUserSignin input[type="email"],
#containerExistingUserSignin input[type="password"] {
    border: 1px solid #fff !important;
}

/* Erros do gateway de pagamento: fundo branco, texto vermelho, alinhado à esquerda */
.alert.alert-danger.gateway-errors,
.alert.alert-danger.checkout-error-feedback {
    background-color: #fff !important;
    color: #e7000b !important;
    text-align: left !important;
}

.alert-danger {
    color: #721c24;
    background-color: #be1b2a;
    border-color: #be1a2a;
}
.alert.alert-danger.gateway-errors *,
.alert.alert-danger.checkout-error-feedback * {
    color: #e7000b !important;
}

/* Confirmação do pedido: accent do tema, fonte azul escuro */
.alert.alert-info.order-confirmation {
    background-color: var(--firefly-accent) !important;
    border-color: var(--firefly-accent) !important;
    color: #0D172A !important;
}
.alert.alert-info.order-confirmation * {
    color: #0D172A !important;
}

/* Total a pagar hoje: accent ciano do tema, fonte escura */
#totalDueToday.alert-success {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 3.5rem;
    background-color: var(--firefly-accent) !important;
    border-color: var(--firefly-accent) !important;
    color: #0D172A !important;
}
#totalDueToday.alert-success strong,
#totalDueToday.alert-success #totalCartPrice {
    color: #0D172A !important;
}
#totalDueToday.alert-success #totalCartPrice {
    font-size: 25px !important;
    width: auto;
}

/* Resumo da fatura (invoiceIdSummary): alert saldo devido = accent de fundo, fonte escura */
#invoiceIdSummary .alert.alert-success.text-center.m-0 {
    background-color: var(--firefly-accent, #00F0FF) !important;
    border-color: var(--firefly-accent, #00F0FF) !important;
    color: #0D172A !important;
}
#invoiceIdSummary .alert.alert-success.text-center.m-0 * {
    color: #0D172A !important;
}

/* Resumo da fatura: linhas de total com a mesma cor de fundo dos cards */
.invoice-summary-table td.total-row {
    background-color: var(--firefly-card-bg, var(--bg, #1a2332)) !important;
    color: rgba(255, 255, 255, 0.95) !important;
}
.invoice-summary-table td.total-row strong {
    color: rgba(255, 255, 255, 0.95) !important;
}

/* Inputs (fundo branco): texto e placeholder na cor do fundo do site (#0D172A) */
body .form-control,
body input[type="text"],
body input[type="email"],
body input[type="password"],
body input[type="number"],
body textarea.form-control,
body .input-group-text {
    color: #0D172A !important;
    background-color: #ffffff !important;
}
body .form-control::placeholder {
    color: rgba(13, 23, 42, 0.5) !important;
}

/* Telefone: Brasil como padrão – esconder seletor de país */
.intl-tel-input .flag-container,
.intl-tel-input .country-list {
    display: none !important;
}
.intl-tel-input input {
    padding-left: 12px !important;
}

/* ========== Página Ver Fatura (viewinvoice.php) – visual de invoice: fundo claro, texto preto, tabelas claras ========== */
body.firefly-invoice-view {
    background-color: #0D172A !important;
    color: #000 !important;
    font-family: Rubik, sans-serif;
}
body.firefly-invoice-view .invoice-container {
    max-width: 1140px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 2rem;
    padding-bottom: 3rem;
    background-color: #fff !important;
    border-radius: 8px;
    padding-left: 2rem !important;
    padding-right: 2rem !important;
}
body.firefly-invoice-view .invoice-header h2,
body.firefly-invoice-view .invoice-header h3,
body.firefly-invoice-view .invoice-col,
body.firefly-invoice-view address,
body.firefly-invoice-view .small-text,
body.firefly-invoice-view strong {
    color: #000 !important;
}
body.firefly-invoice-view hr {
    border-color: #dee2e6 !important;
}
body.firefly-invoice-view .invoice-status .draft { color: #6c757d !important; }
body.firefly-invoice-view .invoice-status .unpaid { color: #c00 !important; }
body.firefly-invoice-view .invoice-status .paid { color: #0a6b0a !important; }
body.firefly-invoice-view .invoice-status .refunded { color: #0d6efd !important; }
body.firefly-invoice-view .invoice-status .cancelled { color: #6c757d !important; }
body.firefly-invoice-view .invoice-status .collections { color: #856404 !important; }
body.firefly-invoice-view a {
    color: #0D172A !important;
}
body.firefly-invoice-view a:hover {
    color: #03FF00 !important;
}
body.firefly-invoice-view .card,
body.firefly-invoice-view .panel {
    background-color: #fff !important;
    border: 1px solid #dee2e6 !important;
    color: #000 !important;
}
body.firefly-invoice-view .card-header,
body.firefly-invoice-view .card-title,
body.firefly-invoice-view .card-subtitle,
body.firefly-invoice-view .panel-heading {
    background-color: #f8f9fa !important;
    color: #000 !important;
    border-color: #dee2e6 !important;
}
body.firefly-invoice-view .card.bg-default .card-header {
    background-color: #f8f9fa !important;
    color: #000 !important;
}
body.firefly-invoice-view .card-title.py-1.px-2.mb-0.font-weight-bold.bg-info,
body.firefly-invoice-view .card .card-title.bg-info {
    background-color: #e7f6f8 !important;
    color: #0D172A !important;
    border-color: #dee2e6 !important;
}
body.firefly-invoice-view .card-body,
body.firefly-invoice-view .card-text,
body.firefly-invoice-view .panel-body {
    background-color: #fff !important;
    color: #000 !important;
}
body.firefly-invoice-view .table {
    color: #0D172A !important;
    border-color: #dee2e6 !important;
    background-color: #fff !important;
}
body.firefly-invoice-view .table thead td,
body.firefly-invoice-view .table th,
body.firefly-invoice-view .table td,
body.firefly-invoice-view .table tbody td,
body.firefly-invoice-view .table strong {
    color: #0D172A !important;
}
body.firefly-invoice-view .table thead td,
body.firefly-invoice-view .table th {
    background-color: #f8f9fa !important;
    border-color: #dee2e6 !important;
}
body.firefly-invoice-view .table tbody tr {
    border-color: #dee2e6 !important;
    background-color: #fff !important;
}
body.firefly-invoice-view .table td {
    border-color: #dee2e6 !important;
    background-color: #fff !important;
}
body.firefly-invoice-view td.total-row {
    background-color: #f8f9fa !important;
    color: #0D172A !important;
    font-weight: 600;
}
body.firefly-invoice-view td.total-row strong {
    color: #0D172A !important;
}
body.firefly-invoice-view .card-header.bg-success.text-white {
    background-color: #d4edda !important;
    color: #155724 !important;
    border-color: #dee2e6 !important;
}
body.firefly-invoice-view .form-control,
body.firefly-invoice-view .custom-select {
    background-color: #fff !important;
    color: #0D172A !important;
    border: 1px solid #ced4da !important;
}
body.firefly-invoice-view .btn-default {
    background-color: #0D172A !important;
    border: 1px solid #0D172A !important;
    color: #fff !important;
    border-radius: 5px 30px 30px 5px;
    font-weight: 600;
    text-transform: uppercase !important;
}
body.firefly-invoice-view .btn-default:hover {
    background-color: #1e293b !important;
    border-color: #1e293b !important;
    color: #fff !important;
}
body.firefly-invoice-view .payment-btn-container .btn-primary,
body.firefly-invoice-view .payment-btn-container .btn-success,
body.firefly-invoice-view .payment-btn-container input[type="submit"],
body.firefly-invoice-view #btnInvoiceAddCreditApply {
    background-color: #03FF00 !important;
    color: #434e63 !important;
    border: none !important;
    border-radius: 5px 30px 30px 5px !important;
    font-family: Poppins, sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    padding: 14px 30px !important;
    text-transform: uppercase !important;
}
body.firefly-invoice-view .payment-btn-container .btn-primary:hover,
body.firefly-invoice-view .payment-btn-container .btn-success:hover,
body.firefly-invoice-view .payment-btn-container input[type="submit"]:hover,
body.firefly-invoice-view #btnInvoiceAddCreditApply:hover {
    background-color: #02cc00 !important;
    color: #434e63 !important;
}
body.firefly-invoice-view .btn-primary:not(.payment-btn-container .btn-primary),
body.firefly-invoice-view .btn-success:not(.payment-btn-container .btn-success) {
    background-color: #0D172A !important;
    color: #fff !important;
    border-radius: 5px 30px 30px 5px;
    font-weight: 600;
    text-transform: uppercase !important;
}
body.firefly-invoice-view .btn-primary:not(.payment-btn-container .btn-primary):hover,
body.firefly-invoice-view .btn-success:not(.payment-btn-container .btn-success):hover {
    background-color: #1e293b !important;
    color: #fff !important;
}
body.firefly-invoice-view .alert,
body.firefly-invoice-view .panel-danger .panel-heading,
body.firefly-invoice-view .panel-success .panel-heading,
body.firefly-invoice-view .panel-info .panel-heading {
    border: 1px solid transparent !important;
}
body.firefly-invoice-view .alert-danger,
body.firefly-invoice-view .panel-danger .panel-heading {
    background-color: #f8d7da !important;
    color: #721c24 !important;
    border-color: #f5c6cb !important;
}
body.firefly-invoice-view .alert-success,
body.firefly-invoice-view .panel-success .panel-heading {
    background-color: #d4edda !important;
    color: #155724 !important;
    border-color: #c3e6cb !important;
}
body.firefly-invoice-view .alert-info,
body.firefly-invoice-view .panel-info .panel-heading {
    background-color: #d1ecf1 !important;
    color: #0c5460 !important;
    border-color: #bee5eb !important;
}
body.firefly-invoice-view .text-center.d-print-none p,
body.firefly-invoice-view .text-center.d-print-none p a {
    color: rgba(255, 255, 255, 0.9) !important;
}
body.firefly-invoice-view .text-center.d-print-none p a:hover {
    color: #03FF00 !important;
}
body.firefly-invoice-view .invoice-header img {
    max-width: 100%;
}


#sitejetPromoPanel {display:none}
[data-identifier="sitejet"] {
  display: none !important;
}

.sidebar{
    border-radius: 10px !important;
    overflow: hidden !important;
}