/* ================================================================
   VITT HOST â€” Custom Premium Theme
   Paleta: Azul Royal Â· Roxo Â· Gold
   Atualizado: 2025
   ================================================================ */

/* â”€â”€ Google Font Premium â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Outfit:wght@400;600;700;800&display=swap');

/* â”€â”€ Tokens adicionais â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
:root {
  /* Gradientes principais */
  --grad-primary:    linear-gradient(135deg, #1a3a8f 0%, #7c3aed 100%);
  --grad-gold:       linear-gradient(135deg, #f5b800 0%, #fcd34d 100%);
  --grad-dark:       linear-gradient(180deg, #0a0e1a 0%, #1e0d4a 100%);
  --grad-glow:       linear-gradient(135deg, #2563eb 0%, #9f5cfc 100%);
  --grad-premium:    linear-gradient(135deg, #0a0e1a 0%, #1a3a8f 50%, #1e0d4a 100%);

  /* Sombras */
  --shadow-sm:  0 2px 8px rgba(10,14,26,0.30);
  --shadow-md:  0 8px 24px rgba(10,14,26,0.40);
  --shadow-lg:  0 20px 60px rgba(10,14,26,0.50);
  --shadow-gold: 0 0 20px rgba(245,184,0,0.30);
  --shadow-blue: 0 0 30px rgba(37,99,235,0.25);
  --shadow-purple: 0 0 30px rgba(124,58,237,0.25);

  /* Bordas */
  --border-gold:   1px solid rgba(245,184,0,0.30);
  --border-blue:   1px solid rgba(37,99,235,0.30);
  --border-purple: 1px solid rgba(124,58,237,0.30);

  /* TransiÃ§Ãµes */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-bounce: cubic-bezier(0.34, 1.56, 0.64, 1);
  --transition: all 0.3s var(--ease-out);

  /* Bordas radius */
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 20px;
  --radius-xl: 32px;
  --radius-pill: 999px;

  /* Tipografia */
  --font-main: 'Inter', 'Roboto', sans-serif;
  --font-display: 'Outfit', 'Inter', sans-serif;
}

/* â”€â”€ Global Reset Premium â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
*, *::before, *::after { box-sizing: border-box; }

body {
  font-family: var(--font-main) !important;
  background-color: #0a0e1a;
  color: #e2e8f0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-display) !important;
  font-weight: 700;
  color: #ffffff;
  letter-spacing: -0.02em;
}

a { color: #f5b800; text-decoration: none; transition: var(--transition); }
a:hover { color: #fcd34d; }

/* â”€â”€ Top Bar â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.top-bar {
  background: #0d1120 !important;
  border-bottom: 1px solid rgba(245,184,0,0.15);
}
.top-bar small { color: #a8b0cc !important; }
.top-bar span  { color: #f5b800 !important; }
.top-bar .demo, .top-bar .phone {
  color: #f5b800 !important;
  background-image: linear-gradient(#fcd34d, #fcd34d) !important;
}
.top-bar .right-arrow { color: #f5b800 !important; }
.social-setting { color: #a8b0cc !important; }
.social-setting:hover { color: #f5b800 !important; }

/* â”€â”€ Header / Navbar â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.main-header {
  background: rgba(10,14,26,0.97) !important;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(37,99,235,0.20);
  transition: var(--transition);
}

#main-topbar { position: sticky; top: 0; z-index: 1000; transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1); }
#main-topbar.scroll-down { transform: translateY(-100%); }
.main-header.scroll-up   {
  

  border-bottom-color: rgba(245,184,0,0.20);
}

.navbar-brand figure { margin: 0; }
.navbar-logo img { max-height: 44px; }

/* Nav links */
.nav-link {
  color: #c4cde0 !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  letter-spacing: 0.02em;
  padding: 8px 14px !important;
  border-radius: var(--radius-sm);
  transition: var(--transition) !important;
  position: relative;
}
.nav-link::after {
  content: '';
  position: absolute;
  bottom: 4px; left: 50%;
  width: 60%; height: 2px;
  background: var(--grad-gold);
  border-radius: 2px;
  transform: translateX(-50%) scaleX(0);
  transition: transform 0.2s var(--ease-out);
}
.nav-link:hover { color: #ffffff !important; }
.nav-link:hover::after { transform: translateX(-50%) scaleX(1); }

/* BotÃ£o Ã¡rea do cliente */
.navbar-btn {
  background: var(--grad-gold) !important;
  color: #0a0e1a !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  padding: 10px 22px !important;
  border-radius: var(--radius-pill) !important;
  box-shadow: var(--shadow-gold);
  transition: var(--transition) !important;
  letter-spacing: 0.03em;
}
.navbar-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 0 30px rgba(245,184,0,0.50) !important;
  color: #0a0e1a !important;
}
.navbar-btn::after { display: none !important; }

/* -- Dropdown -------------------------------------------------------------
   Bloco unico. Antes eram QUATRO espalhados pelo arquivo (linhas 148, 944,
   1532 e 1950) se sobrescrevendo: dois fundos diferentes, dois raios, dois
   paddings, e um filtro que coloria os icones de azul e nunca chegou a
   aparecer, porque um !important la embaixo o anulava.

   Vale tambem para a area do cliente: o header dos templates do WHMCS carrega
   este mesmo arquivo, e clientareadomains.tpl, includes/navbar.tpl e
   store/ox/manage.tpl usam .dropdown-item. Mexer aqui mexe la.

   Os valores sao os que JA venciam a disputa — a aparencia nao muda. As regras
   de <img> sairam porque nenhum dropdown tem imagem: o menu do site e o dos
   dois templates do WHMCS passaram a usar Font Awesome.

   O mega-menu fica no fim do arquivo, em .dropdown-menu.vitt-mega.
   ------------------------------------------------------------------------ */
.dropdown-menu,
.hosting-dropdown {
    background: rgba(10, 14, 26, .97) !important;
    border: 1px solid rgba(37, 99, 235, .25) !important;
    border-radius: 14px !important;
    box-shadow: 0 20px 60px rgba(0, 0, 0, .60), 0 0 0 1px rgba(124, 58, 237, .10) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    padding: 8px !important;
}
.dropdown-menu::before {
    border-bottom-color: rgba(37, 99, 235, .40) !important;
}
.dropdown-menu .dropdown-item,
.hosting-dropdown .dropdown-item {
    color: #ffffff !important;
    border-radius: 8px !important;
    margin: 2px 4px !important;
    padding: 10px 14px !important;
    font-size: 14px;
    transition: all .2s ease !important;
}
.dropdown-menu .dropdown-item:hover,
.hosting-dropdown .dropdown-item:hover {
    background: rgba(37, 99, 235, .18) !important;
    color: #f5b800 !important;
    text-decoration: none !important;
}
/* Bootstrap 4 alterna a visibilidade pela classe .show */
.dropdown-menu.show {
    display: block !important;
    opacity: 1 !important;
    pointer-events: all !important;
}
/* â”€â”€ BotÃµes Globais â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.primary-btn, .subscribe-btn, .dedicated-btn {
  background: var(--grad-primary) !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  border-radius: var(--radius-pill) !important;
  border: none !important;
  padding: 14px 32px !important;
  letter-spacing: 0.04em;
  font-size: 14px !important;
  box-shadow: var(--shadow-blue);
  transition: var(--transition) !important;
  position: relative;
  overflow: hidden;
}
.primary-btn::before, .dedicated-btn::before {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--grad-gold);
  opacity: 0;
  transition: opacity 0.3s;
}
.primary-btn:hover, .subscribe-btn:hover, .dedicated-btn:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 10px 40px rgba(37,99,235,0.45) !important;
  color: #ffffff !important;
}
.primary-btn:hover::before { opacity: 0; }

.search-btn {
  background: var(--grad-gold) !important;
  color: #0a0e1a !important;
  font-weight: 700 !important;
  border-radius: var(--radius-pill) !important;
  padding: 12px 28px !important;
  box-shadow: var(--shadow-gold);
  transition: var(--transition) !important;
}
.search-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 30px rgba(245,184,0,0.45) !important;
}

/* â”€â”€ Cards / Plan Boxes â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.plan, .plan-box, .field, .feature-plan-box,
.vision-plan-box, .dedicated-server-plan-box,
.reseller-plan-box, .shared-plan-box,
.hosting-plan-box, .ssl-certificate-plan-box,
.domain-plan-box, .contact-us-plan-box {
  background: rgba(15,20,40,0.80) !important;
  border: var(--border-blue) !important;
  border-radius: var(--radius-lg) !important;
  backdrop-filter: blur(12px);
  transition: var(--transition) !important;
}
.plan:hover, .plan-box:hover, .field:hover,
.feature-plan-box:hover, .dedicated-server-plan-box:hover,
.reseller-plan-box:hover, .shared-plan-box:hover,
.domain-plan-box:hover {
  border-color: rgba(245,184,0,0.40) !important;
  box-shadow: 0 20px 60px rgba(10,14,26,0.60),
              0 0 0 1px rgba(245,184,0,0.15),
              var(--shadow-gold) !important;
  transform: translateY(-6px) !important;
}

/* Card premium com borda gold */
.plan.variation-1, .variation-premium {
  border: 1px solid rgba(245,184,0,0.45) !important;
  box-shadow: var(--shadow-gold) !important;
}
.plan.variation-1::before, .variation-premium::before {
  content: 'MAIS POPULAR';
  position: absolute;
  top: -1px; left: 50%;
  transform: translateX(-50%);
  background: var(--grad-gold);
  color: #0a0e1a;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.12em;
  padding: 4px 16px;
  border-radius: 0 0 10px 10px;
}

/* PreÃ§os */
.server-pricing .price-value,
.server-pricing span,
h2.price, .price-number {
  color: #ffffff !important;
  font-family: var(--font-display) !important;
}
.server-pricing small,
.currency-symbol {
  color: #f5b800 !important;
}
.weightage { color: #f5b800 !important; font-weight: 600 !important; }

/* â”€â”€ SeÃ§Ãµes â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

/* Banner / Hero */
.banner-section,
.home-gaming-sub-section,
.home-image-banner,
.home-image-sub-section {
  background: var(--grad-premium) !important;
  position: relative;
  overflow: hidden;
}
.banner-section::before,
.home-gaming-sub-section::before {
  content: '';
  position: absolute;
  width: 600px; height: 600px;
  background: radial-gradient(circle, rgba(124,58,237,0.20) 0%, transparent 70%);
  top: -100px; right: -100px;
  pointer-events: none;
}
.banner-section::after,
.home-gaming-sub-section::after {
  content: '';
  position: absolute;
  width: 400px; height: 400px;
  background: radial-gradient(circle, rgba(245,184,0,0.12) 0%, transparent 70%);
  bottom: -80px; left: -80px;
  pointer-events: none;
}
.banner-text h1 { color: #ffffff !important; font-size: clamp(28px,4vw,48px) !important; }
.banner-text p   { color: #f5b800 !important; font-weight: 500 !important; }

/* SeÃ§Ãµes alternadas */
section { background: transparent; }
.bg-light-section, .guarrantee-section, #home-image-guarrantee-section {
  background: rgba(26,58,143,0.06) !important;
}
.bg-dark-section, #home-gaming-vision-section {
  background: var(--grad-dark) !important;
}

/* Footer field (CTA) */
#home-image-footer-field, #home-gaming-footer-field {
  background: var(--grad-glow) !important;
}
#home-image-footer-field h3,
#home-image-footer-field p { color: #0a0e1a !important; }
#home-image-footer-field .subscribe-btn {
  background: #0a0e1a !important;
  color: #f5b800 !important;
}

/* â”€â”€ Footer â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
#footer-section, .footer {
  background: #0a0e1a !important;
  border-top: 1px solid rgba(37,99,235,0.20);
}
.footer-logo img { filter: brightness(1); }
.footer-menu li a {
  color: #a8b0cc !important;
  transition: var(--transition);
  font-size: 14px;
}
.footer-menu li a:hover { color: #f5b800 !important; padding-left: 4px; }
.footer-arrow small {
  color: #6b7280 !important;
  font-size: 13px;
}
.footer-arrow small i.heart { color: #f5b800 !important; }
.footer-arrow-setting {
  background: var(--grad-gold) !important;
  color: #0a0e1a !important;
  width: 36px; height: 36px;
  display: inline-flex;
  align-items: center; justify-content: center;
  border-radius: 50%;
  transition: var(--transition);
}
.footer-arrow-setting:hover { transform: translateY(-3px); box-shadow: var(--shadow-gold); }

/* Ãcones sociais no footer */
.footer-social-icon li a {
  color: #a8b0cc !important;
  transition: var(--transition);
}
.footer-social-icon .fab.fa-youtube:hover { color: #ff0000 !important; }
.footer-social-icon .fab.fa-instagram:hover { color: #e1306c !important; }
.footer-social-icon li a:hover { transform: translateY(-2px); display: inline-block; }

/* â”€â”€ Header com scroll â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
#main-topbar { position: sticky; top: 0; z-index: 1000; }

/* â”€â”€ Tabela de Estoque / Nocix â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.table-dark-vitt {
  background: rgba(15,20,40,0.90) !important;
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-md);
}
.table-dark-vitt thead {
  background: var(--grad-primary) !important;
}
.table-dark-vitt thead th {
  color: #ffffff !important;
  font-weight: 700 !important;
  font-size: 13px;
  letter-spacing: 0.04em;
  border: none !important;
  padding: 14px 16px !important;
}
.table-dark-vitt tbody tr {
  border-bottom: 1px solid rgba(37,99,235,0.10) !important;
  transition: var(--transition);
}
.table-dark-vitt tbody tr:hover {
  background: rgba(37,99,235,0.08) !important;
}
.table-dark-vitt td {
  color: #c4cde0 !important;
  font-size: 14px;
  vertical-align: middle;
  padding: 12px 16px !important;
  border: none !important;
}
.table-dark-vitt .sub-field strong { color: #f5b800; }
.table-dark-vitt select {
  background: rgba(10,14,26,0.80) !important;
  color: #e2e8f0 !important;
  border: var(--border-blue) !important;
  border-radius: var(--radius-sm) !important;
  padding: 4px 8px;
  font-size: 13px;
}

/* Compatibilidade com classe existente no HTML */
#products-table { border-collapse: separate; border-spacing: 0; }
#products-table thead { background: var(--grad-primary); }
#products-table thead th {
  color: #fff;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.04em;
  padding: 14px 16px;
  border: none;
}
#products-table tbody tr { transition: var(--transition); }
#products-table tbody tr:hover { background: rgba(37,99,235,0.08); }
#products-table td {
  padding: 12px 16px;
  color: #c4cde0;
  font-size: 14px;
  border-top: 1px solid rgba(37,99,235,0.10);
  vertical-align: middle;
}

/* â”€â”€ Lista de specs (hosting-list-icon) â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.hosting-list-icon img { width: 22px; height: 22px; }
.specs { color: #c4cde0 !important; font-size: 14px; }
.weightage { color: #f5b800 !important; font-weight: 600; }

/* â”€â”€ Features / Ã­cones â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.game-feature-image-list img,
.feature-image-list img,
.vision-image-list img,
.home-vision-image-list img {
  filter: drop-shadow(0 0 8px rgba(245,184,0,0.35));
  transition: var(--transition);
}
.game-feature-image-list img:hover,
.feature-image-list img:hover {
  filter: drop-shadow(0 0 14px rgba(245,184,0,0.65));
  transform: scale(1.08);
}

/* â”€â”€ Garantias (guarrantee) â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.guarrantee-plan-box, .success-plan-box {
  border-radius: var(--radius-md) !important;
  background: rgba(15,20,40,0.70) !important;
  border: var(--border-blue) !important;
  transition: var(--transition) !important;
}
.guarrantee-plan-box:hover {
  border-color: rgba(245,184,0,0.35) !important;
  box-shadow: var(--shadow-gold) !important;
}
.guarrantee-plan-box h3 { color: #f5b800 !important; }

/* â”€â”€ Tabs / VPS comparison â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
#Comprison_pricingplan ul li {
  background: rgba(15,20,40,0.80) !important;
  border: var(--border-blue) !important;
  border-radius: var(--radius-sm) !important;
  color: #c4cde0 !important;
  cursor: pointer;
  transition: var(--transition);
}
#Comprison_pricingplan ul li.active,
#Comprison_pricingplan ul li:hover {
  background: var(--grad-gold) !important;
  color: #0a0e1a !important;
  border-color: transparent !important;
  font-weight: 700;
}
.comparison-table th {
  background: var(--grad-primary) !important;
  color: #ffffff !important;
}
.comparison-table td { color: #c4cde0 !important; }
.comparison-table tr:hover { background: rgba(37,99,235,0.06) !important; }

/* â”€â”€ Sliders / Range inputs â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
input[type=range] {
  accent-color: #f5b800;
}

/* â”€â”€ FormulÃ¡rios â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.form-control {
  background: rgba(15,20,40,0.80) !important;
  border: var(--border-blue) !important;
  color: #e2e8f0 !important;
  border-radius: var(--radius-sm) !important;
  transition: var(--transition);
}
.form-control:focus {
  border-color: #f5b800 !important;
  box-shadow: 0 0 0 3px rgba(245,184,0,0.15) !important;
  background: rgba(15,20,40,0.95) !important;
  color: #fff !important;
}
.form-control::placeholder { color: #6b7280 !important; }

/* â”€â”€ Section titles â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.section-title h2,
.section-title h1,
.guarrantee-text h2,
.hosting-text h2 {
  font-family: var(--font-display) !important;
  font-weight: 800 !important;
  color: #ffffff !important;
}
.section-title p { color: #a8b0cc !important; }
.section-title span { color: #f5b800 !important; }

/* â”€â”€ Badge "Mais Popular" / "Destaque" â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.badge-premium {
  display: inline-block;
  background: var(--grad-gold);
  color: #0a0e1a;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.12em;
  padding: 4px 14px;
  border-radius: var(--radius-pill);
  text-transform: uppercase;
}

/* â”€â”€ Tooltips â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.tippy-box[data-theme~='vitthost'] {
  background: #0d1120;
  border: var(--border-gold);
  color: #e2e8f0;
  border-radius: var(--radius-sm);
  font-size: 13px;
}
.tippy-box[data-theme~='vitthost'][data-placement^='top'] > .tippy-arrow::before {
  border-top-color: rgba(245,184,0,0.30);
}

/* â”€â”€ Navbar toggler mobile â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.navbar-toggler { border: var(--border-gold) !important; border-radius: var(--radius-sm) !important; padding: 6px 10px !important; }
.navbar-toggler-icon { background-color: #f5b800 !important; height: 2px; display: block; margin: 4px 0; border-radius: 2px; transition: var(--transition); }

/* â”€â”€ Scroll bar premium â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: #0a0e1a; }
::-webkit-scrollbar-thumb { background: linear-gradient(180deg, #1a3a8f, #7c3aed); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: linear-gradient(180deg, #2563eb, #9f5cfc); }

/* â”€â”€ Selection highlight â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
::selection { background: rgba(245,184,0,0.25); color: #ffffff; }

/* â”€â”€ AnimaÃ§Ãµes globais â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes goldPulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(245,184,0,0.40); }
  50%       { box-shadow: 0 0 0 12px rgba(245,184,0,0); }
}
@keyframes shimmer {
  0%   { background-position: -400px 0; }
  100% { background-position: 400px 0; }
}

.animate-fade-up { animation: fadeInUp 0.6s var(--ease-out) both; }
.animate-pulse-gold { animation: goldPulse 2.5s 2; }

/* Stagger delay para listas de cards */
.plan:nth-child(1) { animation-delay: 0.05s; }
.plan:nth-child(2) { animation-delay: 0.15s; }
.plan:nth-child(3) { animation-delay: 0.25s; }
.plan:nth-child(4) { animation-delay: 0.35s; }

/* â”€â”€ Glow em elementos de destaque â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.glow-gold  { box-shadow: var(--shadow-gold) !important; }
.glow-blue  { box-shadow: var(--shadow-blue) !important; }
.glow-purple{ box-shadow: var(--shadow-purple) !important; }

/* â”€â”€ Divider premium â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.premium-divider {
  height: 2px;
  background: var(--grad-glow);
  border: none;
  margin: 0;
  opacity: 0.4;
}

/* â”€â”€ Preloader / Loading state â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.vitt-loading {
  display: flex; align-items: center; justify-content: center;
  padding: 40px;
  color: #a8b0cc;
  font-size: 14px;
  gap: 10px;
}
.vitt-loading::before {
  content: '';
  width: 18px; height: 18px;
  border: 2px solid rgba(245,184,0,0.20);
  border-top-color: #f5b800;
  border-radius: 50%;
  animation: spin 0.7s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }

/* -- Link hover underline gold ------------------------------ */
.link-hover-bg {
  background-image: linear-gradient(#f5b800, #f5b800) !important;
  background-position: 0% 100%;
  background-repeat: no-repeat;
  background-size: 0% 1px;
  transition: background-size 0.3s;
  padding-bottom: 2px;
}
.link-hover-bg:hover { background-size: 100% 1px !important; }

/* â”€â”€ Responsivo â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
@media (max-width: 991px) {
  .navbar-collapse {
    background: #0d1120 !important;
    border: var(--border-blue) !important;
    border-radius: var(--radius-md) !important;
    padding: 16px !important;
    margin-top: 12px;
    box-shadow: var(--shadow-md);
  }
  .nav-link::after { display: none; }
  .navbar-btn { display: inline-block; margin-top: 8px; }
}

@media (max-width: 768px) {
  .banner-text h1 { font-size: clamp(22px, 6vw, 34px) !important; }
  .primary-btn, .dedicated-btn { padding: 12px 24px !important; font-size: 13px !important; }
}


/* ================================================================
   OVERRIDES PREMIUM — Pricing / Cards / Botoes de Planos
   ================================================================ */

/* Precos dos planos e Botoes padronizados por Secao (Variation) */
/* Base / Variation 1 (Amarelo / Dourado) */
.plan h2, .plan .price-value, .plan .weightage,
.plan h2 span, .plan h2 small, .plan .start,
.pricebox .pricetxt, .pricebox .pricetxt span {
    color: #f5b800 !important;
    font-family: 'Outfit', 'Inter', sans-serif !important;
}
.plan .hosting-btn, .plan .server-btn, .plan .vps-btn, .plan .dedicated-btn, .plan .primary-btn, .pricebox .primary-btn, .pricebox .vps-btn {
    background: linear-gradient(135deg, #f5b800, #fcd34d) !important;
    color: #0a0e1a !important;
    border-radius: 999px !important;
    box-shadow: 0 4px 20px rgba(245,184,0,0.3) !important;
    border: none !important;
    font-weight: 700 !important;
    letter-spacing: 0.03em;
    transition: all 0.3s cubic-bezier(0.16,1,0.3,1) !important;
}
.plan .hosting-btn:hover, .plan .server-btn:hover, .plan .vps-btn:hover, .plan .dedicated-btn:hover, .pricebox .primary-btn:hover, .pricebox .vps-btn:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 8px 30px rgba(245,184,0,0.50) !important;
}
.plan .hosting-text {
    background: linear-gradient(135deg, #f5b800, #fcd34d) !important;
    color: #0a0e1a !important;
    font-weight: 700 !important;
    border-radius: 0 0 8px 8px !important;
}
.plan, .plan.variation-1 { border-color: rgba(245,184,0,0.45) !important; }

/* Variation 2 (Roxo) */
.plan.variation-2 h2, .plan.variation-2 .price-value, .plan.variation-2 .weightage,
.plan.variation-2 h2 span, .plan.variation-2 h2 small, .plan.variation-2 .start {
    color: #9f5cfc !important;
}
.plan.variation-2 .hosting-btn, .plan.variation-2 .server-btn, .plan.variation-2 .vps-btn, .plan.variation-2 .dedicated-btn, .plan.variation-2 .primary-btn {
    background: linear-gradient(135deg, #7c3aed, #9f5cfc) !important;
    color: #ffffff !important;
    box-shadow: 0 4px 20px rgba(124,58,237,0.3) !important;
}
.plan.variation-2 .hosting-btn:hover, .plan.variation-2 .server-btn:hover, .plan.variation-2 .vps-btn:hover, .plan.variation-2 .dedicated-btn:hover, .plan.variation-2 .primary-btn:hover {
    box-shadow: 0 8px 30px rgba(124,58,237,0.50) !important;
}
.plan.variation-2 .server-text {
    background: linear-gradient(135deg, #7c3aed, #9f5cfc) !important;
    color: #ffffff !important;
}
.plan.variation-2 { border-color: rgba(124,58,237,0.45) !important; }

/* Variation 3 (Azul) */
.plan.variation-3 h2, .plan.variation-3 .price-value, .plan.variation-3 .weightage,
.plan.variation-3 h2 span, .plan.variation-3 h2 small, .plan.variation-3 .start {
    color: #3b82f6 !important;
}
.plan.variation-3 .hosting-btn, .plan.variation-3 .server-btn, .plan.variation-3 .vps-btn, .plan.variation-3 .dedicated-btn, .plan.variation-3 .primary-btn {
    background: linear-gradient(135deg, #1a3a8f, #3b82f6) !important;
    color: #ffffff !important;
    box-shadow: 0 4px 20px rgba(59,130,246,0.3) !important;
}
.plan.variation-3 .hosting-btn:hover, .plan.variation-3 .server-btn:hover, .plan.variation-3 .vps-btn:hover, .plan.variation-3 .dedicated-btn:hover, .plan.variation-3 .primary-btn:hover {
    box-shadow: 0 8px 30px rgba(59,130,246,0.50) !important;
}
.plan.variation-3 .vps-text {
    background: linear-gradient(135deg, #1a3a8f, #3b82f6) !important;
    color: #ffffff !important;
}
.plan.variation-3 { border-color: rgba(37,99,235,0.45) !important; }

/* Variation 4 (Verde) */
.plan.variation-4 h2, .plan.variation-4 .price-value, .plan.variation-4 .weightage,
.plan.variation-4 h2 span, .plan.variation-4 h2 small, .plan.variation-4 .start {
    color: #10b981 !important;
}
.plan.variation-4 .hosting-btn, .plan.variation-4 .server-btn, .plan.variation-4 .vps-btn, .plan.variation-4 .dedicated-btn, .plan.variation-4 .primary-btn {
    background: linear-gradient(135deg, #059669, #10b981) !important;
    color: #ffffff !important;
    box-shadow: 0 4px 20px rgba(16,185,129,0.3) !important;
}
.plan.variation-4 .hosting-btn:hover, .plan.variation-4 .server-btn:hover, .plan.variation-4 .vps-btn:hover, .plan.variation-4 .dedicated-btn:hover, .plan.variation-4 .primary-btn:hover {
    box-shadow: 0 8px 30px rgba(16,185,129,0.50) !important;
}
.plan.variation-4 .dedicated-text {
    background: linear-gradient(135deg, #059669, #10b981) !important;
    color: #ffffff !important;
}
.plan.variation-4 { border-color: rgba(16,185,129,0.45) !important; }

/* Cards da home (plan-box-technology) LIMPOS */
.plan-box-technology {
    transition: all 0.3s cubic-bezier(0.16,1,0.3,1) !important;
}
.plan-box-technology h4 { color: #ffffff !important; }
.plan-box-technology .weightage { color: #f5b800 !important; }

/* Secao de planos (fundo cinza claro -> escuro) */
#home-hosting-section,
.hosting-section,
#hosting-section,
.web-hosting-plan-section {
    background: #0d1120 !important;
}

/* Secoes de destaque (fundo claro -> translucido escuro) */
#home-guarrantee-section,
#home-gaming-guarrantee-section,
.guarrantee-section {
    background: rgba(26,58,143,0.06) !important;
}

/* Review / Testimonial boxes */
.home-image-web-hosting-plan-box,
.review-plan-box {
    background: rgba(15,20,40,0.80) !important;
    border: 1px solid rgba(37,99,235,0.20) !important;
    border-radius: 20px !important;
}
.home-image-web-hosting-plan-box:after {
    border-top-color: rgba(15,20,40,0.80) !important;
}

/* Secao Gaming Vision (roxo) */
#home-gaming-vision-section .vision-plan-box {
    background: linear-gradient(135deg, #1a3a8f, #1e0d4a) !important;
    border: 1px solid rgba(245,184,0,0.20) !important;
}
#home-gaming-vision-section .variation-2 {
    background: linear-gradient(135deg, #7c3aed, #9f5cfc) !important;
}
#home-gaming-vision-section .vision-plan-box p,
#home-gaming-vision-section .vision-plan-box h3 { color: #ffffff !important; }

/* CTA newsletter */
.subscribe-form .form-control {
    background: rgba(10,14,26,0.60) !important;
    border: 1px solid rgba(245,184,0,0.30) !important;
    color: #ffffff !important;
}
.subscribe-form .subscribe-btn {
    background: linear-gradient(135deg, #f5b800, #fcd34d) !important;
    color: #0a0e1a !important;
    font-weight: 800 !important;
}

/* Mapa de datacenter */
#home-gaming-network-map { background: #0a0e1a !important; }

/* Separadores de secao */
section { position: relative; }

/* Indicadores de carrossel */
.carousel-indicators li {
    background-color: rgba(245,184,0,0.40) !important;
    border-color: transparent !important;
}
.carousel-indicators .active {
    background-color: #f5b800 !important;
}

/* Controles de carrossel */
.carousel-control-prev-icon,
.carousel-control-next-icon {
    filter: invert(0) drop-shadow(0 0 4px rgba(245,184,0,0.60));
}

/* Icones de features (cor com tint gold) */
.fas, .fab, .far {
    transition: color 0.2s ease;
}

/* Input focus premium */
input:focus, textarea:focus, select:focus {
    outline: none !important;
    border-color: #f5b800 !important;
    box-shadow: 0 0 0 3px rgba(245,184,0,0.15) !important;
}

/* Corrigir texto branco em fundos claros (secoes de garantia) */
.field h3, .field h4, .field p,
.feature-plan-box h3, .feature-plan-box p {
    color: #e2e8f0 !important;
}

/* Icones de lista (checkmarks) */
.fa-check-circle { color: #f5b800 !important; }
.fa-times-circle { color: rgba(255,255,255,0.25) !important; }

/* Table de comparaÃ§Ã£o VPS */
.comparison-table { background: rgba(15,20,40,0.90) !important; }
.comparison-table .sep {
    background: linear-gradient(135deg, #1a3a8f, #1e0d4a) !important;
    color: #ffffff !important;
}

/* Estilos de pagina de manutencao */
.manutencao-section {
    background: var(--grad-premium) !important;
    min-height: 100vh;
    display: flex; align-items: center; justify-content: center;
}


/* ================================================================
   GRADIENT ICONS â€” PNG fallback via CSS filter
   Converte Ã­cones pretos/escuros para gradiente azul-roxo-gold
   ================================================================ */

/* TÃ©cnica: mask-image para aplicar gradiente sobre PNGs monocromÃ¡ticos */
.feature-plan-box figure img,
.game-feature-image-list img,
.guarrantee-plan-box figure img,
.vision-plan-box figure img,
.success-plan-box figure img,
.datacenter-plan-box figure img,
.redundancy-plan-box figure img,
.support-plan-box figure img,
.support-natix-host-plan-box figure img,
.support-operation-plan-box figure img,
.hosting-list-icon,
.server-list-icon,
.vps-list-icon {
    filter: drop-shadow(0 0 6px rgba(124,58,237,0.35)) brightness(1.1);
    transition: filter 0.3s ease;
}
.feature-plan-box figure img:hover,
.game-feature-image-list img:hover {
    filter: drop-shadow(0 0 12px rgba(245,184,0,0.55)) brightness(1.2);
}

/* Ãcones de lista nas especificaÃ§Ãµes de planos */
img.hosting-list-icon,
img.server-list-icon,
img.vps-list-icon,
.hosting-list-icon img,
.server-list-icon img,
.vps-list-icon img {
    filter: drop-shadow(0 0 4px rgba(245,184,0,0.30));
}

/* SVGs inline no HTML via <img> â€” garantir visibilidade no fundo escuro */
img[src$=".svg"] {
    filter: drop-shadow(0 0 4px rgba(37,99,235,0.20));
}

/* SVGs de banner grandes â€” sem filtro extra */
img[src*="banner-img"],
img[src*="landing-page-server"],
img[src*="slider-2-banner"],
img[src*="slider-3-banner"] {
    filter: none;
}



/* ================================================================
   GRADIENT PNG ICONS â€” mask-image technique
   Aplica gradiente sobre PNGs monocromÃ¡ticos (preto/escuro)
   ================================================================ */

/* Wrapper para aplicar o gradiente via mask */
.icon-gradient-wrapper {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Ãcones principais dos cards (minecraft, dedicado, vps) */
figure.hosting-img-1 img,
figure.hosting-img-2 img,
figure.hosting-img-3 img {
    filter: drop-shadow(0 0 12px rgba(37,99,235,0.40))
            drop-shadow(0 0 6px rgba(124,58,237,0.30))
            brightness(0) invert(1)
            sepia(1) saturate(2) hue-rotate(200deg);
    opacity: 0.9;
    transition: filter 0.35s ease, transform 0.35s ease;
}
figure.hosting-img-1 img:hover,
figure.hosting-img-2 img:hover,
figure.hosting-img-3 img:hover {
    filter: drop-shadow(0 0 16px rgba(245,184,0,0.60))
            brightness(0) invert(1)
            sepia(1) saturate(3) hue-rotate(10deg);
    transform: scale(1.05);
}

/* Ãcones de spec (ram, disco, rede, etc) */
.hosting-list-icon img,
.server-list-icon img,
.vps-list-icon img,
figure.float-left.hosting-list-icon img,
figure.float-left.server-list-icon img,
figure.float-left.vps-list-icon img {
    filter: brightness(0) invert(1)
            sepia(1) saturate(4) hue-rotate(180deg)
            drop-shadow(0 0 3px rgba(245,184,0,0.40));
    transition: filter 0.2s ease;
}
.hosting-list-icon:hover img,
.server-list-icon:hover img {
    filter: brightness(0) invert(1)
            sepia(1) saturate(5) hue-rotate(30deg)
            drop-shadow(0 0 5px rgba(245,184,0,0.70));
}

/* Imagens de painel (painel.png, painel-vm.png) */
img[src*="painel"] {
    filter: drop-shadow(0 4px 20px rgba(37,99,235,0.30)) brightness(1.05);
    border-radius: 12px;
}

/* Imagem do mapa */
img[src*="map-fix"] {
    filter: brightness(0.7) sepia(1) saturate(0.5) hue-rotate(200deg) invert(0.1);
    opacity: 0.85;
}

/* Ãcones de planos Minecraft */
img[src*="mc-plan"] {
    filter: drop-shadow(0 0 8px rgba(245,184,0,0.40)) brightness(1.1);
    border-radius: 8px;
    transition: filter 0.3s ease;
}
img[src*="mc-plan"]:hover {
    filter: drop-shadow(0 0 14px rgba(245,184,0,0.70)) brightness(1.2);
}

/* home-image-web-hosting PNGs */
img[src*="home-image-web-hosting"] {
    filter: brightness(0) invert(1)
            sepia(1) saturate(3) hue-rotate(200deg)
            drop-shadow(0 0 8px rgba(37,99,235,0.40));
    transition: filter 0.3s ease;
}



/* ================================================================
   OVERRIDES PAGINAS ESPECIFICAS — 404, Manutencao, VPS, Minecraft
   ================================================================ */

/* Landing page (404 e manutencao) */
.landing-page-banner-section {
    background: linear-gradient(135deg, #0a0e1a 0%, #1e0d4a 50%, #0a0e1a 100%) !important;
    background-image: none !important;
    position: relative;
    overflow: hidden;
}
.landing-page-banner-section::before {
    content: '';
    position: absolute;
    width: 500px; height: 500px;
    background: radial-gradient(circle, rgba(124,58,237,0.20) 0%, transparent 70%);
    top: -100px; right: 0;
    pointer-events: none;
}
.landing-page-column {
    background: rgba(10,14,26,0.85) !important;
    border: 1px solid rgba(37,99,235,0.25) !important;
    backdrop-filter: blur(12px);
}
.landing-page-secondary-btn {
    background: linear-gradient(135deg, #f5b800, #fcd34d) !important;
    color: #0a0e1a !important;
    font-weight: 700 !important;
    border-radius: 999px !important;
    padding: 14px 32px !important;
    border: none !important;
    box-shadow: 0 0 20px rgba(245,184,0,0.35) !important;
    transition: all 0.3s ease !important;
}
.landing-page-secondary-btn:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 8px 30px rgba(245,184,0,0.55) !important;
    color: #0a0e1a !important;
    text-decoration: none !important;
}

/* SVGs do landing page (servidores) — glow premium */
.landing-page-server-img img,
.landing-page-server-bottom-left-img img,
.landing-page-server-bottom-right-img img {
    filter: hue-rotate(200deg) saturate(1.8) brightness(1.1)
            drop-shadow(0 0 20px rgba(37,99,235,0.40));
}

/* Páginas VPS BR / CA / EUA / FR — seções de planos */
.pricebox {
    background: rgba(15,20,40,0.85) !important;
    border: 1px solid rgba(37,99,235,0.20) !important;
    border-radius: 20px !important;
    transition: all 0.3s ease !important;
}
.pricebox:hover {
    border-color: rgba(245,184,0,0.40) !important;
    box-shadow: 0 20px 60px rgba(10,14,26,0.60), 0 0 30px rgba(245,184,0,0.20) !important;
    transform: translateY(-6px) !important;
}
.pricebox .pricetxt { color: #ffffff !important; }
.pricebox .pricetxt span.doller { color: #f5b800 !important; }
.pricebox .pricetxt span.numeric { color: #f5b800 !important; font-family: 'Outfit', sans-serif !important; font-weight: 800 !important; }
.pricebox h4 { color: #ffffff !important; }
.pricebox p  { color: #a8b0cc !important; }
.pricebox ul li { color: #c4cde0 !important; }
.pricebox ul li i.fa-check { color: #f5b800 !important; }
.pricebox ul li i.fa-times  { color: rgba(255,255,255,0.20) !important; }

/* Sliders de configuração VPS */
.tab3-slider-section, .tab2-slider-section {
    background: #0d1120 !important;
}
.ui-slider {
    background: rgba(37,99,235,0.20) !important;
    border: none !important;
    border-radius: 999px !important;
}
.ui-slider-range {
    background: linear-gradient(90deg, #1a3a8f, #7c3aed) !important;
}
.ui-slider-handle {
    background: #f5b800 !important;
    border: 2px solid #fcd34d !important;
    border-radius: 50% !important;
    box-shadow: 0 0 10px rgba(245,184,0,0.50) !important;
}
.slider-value {
    color: #f5b800 !important;
    font-weight: 700 !important;
    font-family: 'Outfit', sans-serif !important;
}

/* Páginas de texto (privacidade, termos) */
.privacidade-section, .termos-section,
.reseller-section, .webhosting-section {
    background: #0a0e1a !important;
}
.privacidade-section h1, .privacidade-section h2, .privacidade-section h3,
.termos-section h1, .termos-section h2, .termos-section h3 {
    color: #ffffff !important;
    font-family: 'Outfit', sans-serif !important;
}
.privacidade-section p, .termos-section p,
.privacidade-section li, .termos-section li {
    color: #c4cde0 !important;
    line-height: 1.8 !important;
}
.privacidade-section a, .termos-section a { color: #f5b800 !important; }
.privacidade-section a:hover, .termos-section a:hover { color: #fcd34d !important; }

/* Minecraft / Games — seções de features */
.home-gaming-feature-img-section { background: #0a0e1a !important; }
.mc-plan-box, .game-plan-box {
    background: rgba(15,20,40,0.85) !important;
    border: 1px solid rgba(37,99,235,0.20) !important;
    border-radius: 20px !important;
    transition: all 0.3s ease !important;
}
.mc-plan-box:hover, .game-plan-box:hover {
    border-color: rgba(245,184,0,0.40) !important;
    box-shadow: 0 20px 60px rgba(10,14,26,0.60) !important;
    transform: translateY(-5px) !important;
}

/* Imagens dos planos Minecraft (mc-plan-1.png etc) */
img[src*="mc-plan"] {
    filter: hue-rotate(200deg) saturate(2) brightness(1.1)
            drop-shadow(0 0 10px rgba(37,99,235,0.40)) !important;
    border-radius: 12px;
    transition: filter 0.3s ease !important;
}
img[src*="mc-plan"]:hover {
    filter: hue-rotate(30deg) saturate(2.5) brightness(1.2)
            drop-shadow(0 0 16px rgba(245,184,0,0.60)) !important;
}

/* Ofertas page */
.oferta-section, #ofertas-section {
    background: #0d1120 !important;
}

/* Seção de reseller */
.reseller-plan-box {
    background: rgba(15,20,40,0.85) !important;
    border: 1px solid rgba(37,99,235,0.20) !important;
    border-radius: 20px !important;
}
.reseller-plan-box:hover {
    border-color: rgba(245,184,0,0.40) !important;
    box-shadow: 0 20px 60px rgba(10,14,26,0.60) !important;
    transform: translateY(-5px) !important;
}

/* Tabela de domínios */
.domain-table-section .table {
    background: rgba(15,20,40,0.85) !important;
    border-radius: 12px;
    overflow: hidden;
}
.domain-table-section .table thead {
    background: linear-gradient(135deg, #1a3a8f, #7c3aed) !important;
}
.domain-table-section .table thead th {
    color: #ffffff !important; border: none !important;
}
.domain-table-section .table tbody tr {
    border-bottom: 1px solid rgba(37,99,235,0.10) !important;
    transition: background 0.2s ease;
}
.domain-table-section .table tbody tr:hover {
    background: rgba(37,99,235,0.08) !important;
}
.domain-table-section .table td, .domain-table-section .table th {
    color: #c4cde0 !important; border: none !important;
}
.domain-table-section .price { color: #f5b800 !important; font-weight: 700 !important; }

/* Badges especiais */
.best-value-badge {
    background: linear-gradient(135deg, #f5b800, #fcd34d) !important;
    color: #0a0e1a !important;
}



/* ================================================================
   FIX 1 — CARDS VPS/DEDICADO: remover fundo branco, aplicar premium
   FIX 2 — QUEBRA DE LINHA no campo de spec do CPU
   FIX 3 — .product-section (nome + estoque) fundo transparente
   ================================================================ */

/* ── Cards gerais (plan-box) fundo escuro ─────────────────────── */
/* A SECAO (.dedicated-server-plan-box-section) NAO entra aqui de proposito.
   Ela ocupa a largura toda da tela; com borda de 1px, as laterais somem fora
   da viewport e as bordas de cima e de baixo viram uma linha atravessando a
   pagina. Em paginas que empilham varias secoes de planos (a /vps-br tem
   tres) as bordas se encostam e a linha fica dupla. O fundo dela ja vem da
   regra .dedicated-server-plan-box-section logo abaixo. */
.dedicated-server-plan-box,
.dedicated-server-plan-box-section .dedicated-server-plan-box {
    background: rgba(13,17,32,0.95) !important;
    border: 1px solid rgba(37,99,235,0.22) !important;
    border-radius: 20px !important;
    box-shadow: 0 8px 40px rgba(0,0,0,0.40), 0 0 0 1px rgba(124,58,237,0.10) !important;
    transition: all 0.35s ease !important;
}
.dedicated-server-plan-box:hover {
    border-color: rgba(245,184,0,0.35) !important;
    box-shadow: 0 20px 60px rgba(0,0,0,0.50), 0 0 30px rgba(245,184,0,0.18) !important;
    transform: translateY(-6px) !important;
}

/* ── Section de fundo da tabela/area de planos ──────────────────── */
.dedicated-server-plan-box-section {
    background: #0d1120 !important;
}

/* ── H4 título do plano ────────────────────────────────────────── */
.dedicated-server-plan-box h4 {
    color: #ffffff !important;
    font-family: 'Outfit', sans-serif !important;
    font-weight: 700 !important;
    letter-spacing: -0.3px !important;
}

/* ── Preços variation-1 (gold) ─────────────────────────────────── */
.dedicated-server-plan-box h2,
.dedicated-server-plan-box span.dedicated-server-price,
.dedicated-server-plan-box .dedicated-server-pricing {
    color: #f5b800 !important;
    font-family: 'Outfit', sans-serif !important;
}

/* ── Preços variation-2 (azul) ─────────────────────────────────── */
.dedicated-server-plan-box-section .variation-2 h2,
.dedicated-server-plan-box-section .variation-2 .dedicated-server-price,
.dedicated-server-plan-box-section .variation-2 .dedicated-server-pricing,
.variation-2 .dedicated-server-plan-box h2 {
    color: #2563eb !important;
}

/* ── Preços variation-3 (roxo) ─────────────────────────────────── */
.dedicated-server-plan-box-section .variation-3 h2,
.dedicated-server-plan-box-section .variation-3 .dedicated-server-price,
.dedicated-server-plan-box-section .variation-3 .dedicated-server-pricing {
    color: #9f5cfc !important;
}

/* ── Texto tachado (preço antigo) ──────────────────────────────── */
.dedicated-server-plan-box .dedicated-server-plan-box-text del,
.dedicated-server-plan-box del {
    color: rgba(255,255,255,0.30) !important;
    font-style: italic;
}

/* ── Parágrafo (país/bandeira) ─────────────────────────────────── */
.dedicated-server-plan-box p,
.dedicated-server-plan-box .dedicated-server-plan-box-paragraph {
    color: rgba(255,255,255,0.75) !important;
}

/* ── Lista de specs ────────────────────────────────────────────── */
.dedicated-server-plan-box li {
    border-bottom: 1px solid rgba(37,99,235,0.12) !important;
    color: #c4cde0 !important;
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
}
.dedicated-server-plan-box li:last-child { border: none !important; }

/* ── Spec labels e valores ─────────────────────────────────────── */
.dedicated-server-plan-box li span.specs {
    color: #c4cde0 !important;
    flex: 1 !important;
    white-space: nowrap !important;
}
.dedicated-server-plan-box li span.weightage {
    color: #f5b800 !important;
    font-weight: 700 !important;
    font-family: 'Outfit', sans-serif !important;
    white-space: nowrap !important;
    float: none !important;
    margin-left: auto !important;
}
/* Variações de cor para valor de spec */
.variation-2 .dedicated-server-plan-box li span.weightage { color: #2563eb !important; }
.variation-3 .dedicated-server-plan-box li span.weightage { color: #9f5cfc !important; }

/* ── Botão Assinar ─────────────────────────────────────────────── */
.dedicated-btn {
    background: linear-gradient(135deg, #f5b800, #fcd34d) !important;
    color: #0a0e1a !important;
    font-weight: 700 !important;
    border-radius: 999px !important;
    box-shadow: 0 4px 20px rgba(245,184,0,0.30) !important;
    transition: all 0.3s ease !important;
}
.dedicated-btn:hover {
    color: #0a0e1a !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 30px rgba(245,184,0,0.55) !important;
    text-decoration: none !important;
}
.variation-2 .dedicated-btn {
    background: linear-gradient(135deg, #1a3a8f, #2563eb) !important;
    color: #ffffff !important;
    box-shadow: 0 4px 20px rgba(37,99,235,0.30) !important;
}
.variation-3 .dedicated-btn {
    background: linear-gradient(135deg, #7c3aed, #9f5cfc) !important;
    color: #ffffff !important;
    box-shadow: 0 4px 20px rgba(124,58,237,0.30) !important;
}

/* ── FIX 2: Quebra de linha no campo CPU (EPYC + Cores/Ghz) ────── */
.dedicated-server-plan-box li {
    flex-wrap: nowrap !important;
    gap: 4px !important;
}
.dedicated-server-plan-box li span.weightage b {
    font-style: normal !important;
    white-space: nowrap !important;
    color: inherit !important;
}

/* ── FIX 3: .product-section (nome + estoque via API) ──────────── */
.product-section {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin-bottom: 8px !important;
    box-shadow: none !important;
}
.product-name {
    color: #ffffff !important;
    font-family: 'Outfit', sans-serif !important;
    font-weight: 700 !important;
    font-size: 1.2rem !important;
    margin-bottom: 4px !important;
    background: transparent !important;
    border: none !important;
}
.product-field {
    font-size: 0.85rem !important;
    color: rgba(255,255,255,0.60) !important;
    background: transparent !important;
    border: none !important;
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    margin-bottom: 0 !important;
}
.product-field strong {
    color: rgba(255,255,255,0.50) !important;
    font-weight: 500 !important;
}
.product-quantity {
    color: #f5b800 !important;
    font-weight: 700 !important;
    font-family: 'Outfit', sans-serif !important;
}

/* ── Tabela de Dedicados (API) ─────────────────────────────────── */
.dedicated-server-plan-box table,
table#products-table-body,
.dedicated-server-plan-box .table {
    background: transparent !important;
    border-radius: 12px;
    overflow: hidden;
    width: 100%;
    border-collapse: collapse;
}
.dedicated-server-plan-box table thead,
table thead {
    background: linear-gradient(135deg, #1a3a8f, #7c3aed) !important;
}
.dedicated-server-plan-box table thead th,
table thead th {
    color: #ffffff !important;
    font-family: 'Outfit', sans-serif !important;
    font-weight: 600 !important;
    padding: 12px 16px !important;
    border: none !important;
    white-space: nowrap !important;
}
.dedicated-server-plan-box table tbody tr,
table tbody tr {
    border-bottom: 1px solid rgba(37,99,235,0.10) !important;
    transition: background 0.2s ease !important;
}
.dedicated-server-plan-box table tbody tr:hover,
table tbody tr:hover {
    background: rgba(37,99,235,0.07) !important;
}
.dedicated-server-plan-box table td,
table td {
    color: #c4cde0 !important;
    padding: 10px 16px !important;
    border: none !important;
    vertical-align: middle !important;
}
.dedicated-server-plan-box table td b { color: #f5b800 !important; }
/* Preço na tabela */
.dedicated-server-plan-box table td:nth-child(6),
table td.price-col {
    color: #f5b800 !important;
    font-weight: 700 !important;
    font-family: 'Outfit', sans-serif !important;
    white-space: nowrap !important;
}
/* Select OS */
.dedicated-server-plan-box table select,
table select {
    background: rgba(10,14,26,0.85) !important;
    color: #c4cde0 !important;
    border: 1px solid rgba(37,99,235,0.30) !important;
    border-radius: 8px !important;
    padding: 6px 10px !important;
    font-size: 0.85rem !important;
    outline: none !important;
    transition: border-color 0.2s ease !important;
    width: 100% !important;
    min-width: 200px !important;
}
table select:focus {
    border-color: rgba(245,184,0,0.50) !important;
    box-shadow: 0 0 0 2px rgba(245,184,0,0.15) !important;
}
table select option {
    background: #0d1120 !important;
    color: #c4cde0 !important;
}

/* ── Estoque na tabela ─────────────────────────────────────────── */
table td.estoque-col,
table td:last-child {
    color: #2563eb !important;
    font-weight: 700 !important;
}

/* ── Manutenção do card (dedicated-server-plan-box h4 title) ───── */
.dedicated-server-plan-box h4 {
    margin-bottom: 20px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid rgba(37,99,235,0.20) !important;
}



/* ── Classes de estoque (injetadas por app.js) ─────────────────── */
.product-quantity.qty-in    { color: #22c55e !important; font-weight: 800 !important; }
.product-quantity.qty-out   { color: #ef4444 !important; font-weight: 700 !important; }
.product-quantity.qty-error { color: rgba(255,255,255,0.30) !important; }

/* ── Loading spinner (antes da API responder) ──────────────────── */
.product-quantity img[src*="loading"] {
    width: 18px !important; height: 18px !important;
    filter: invert(1) opacity(0.6) !important;
    vertical-align: middle !important;
}

/* ── Remover jQuery duplicado nas páginas com BS-JS injetado ───── */
/* (controle via CSS nao é possível — feito via script abaixo) */



/* ================================================================
   FIX FINAL — Index.php: Banner + Dropdown + Cores de texto
   ================================================================ */

/* ── BANNER: Imagens visíveis (overflow fix) ──────────────────── */
.banner-section {
    overflow: visible !important;
    position: relative !important;
}
/* Manter o gradiente de fundo no hero */
.banner-section::before,
.banner-section::after { z-index: 0; pointer-events: none; }

/* Garantir que o conteúdo do banner fique acima do fundo */
.banner-section .container { position: relative; z-index: 1; }
.banner-section .row { position: relative; z-index: 1; }

/* Imagem do banner: layout 2 colunas */
.banner-img {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    float: none !important;
    width: 100% !important;
    max-width: 480px !important;
    margin: 0 auto !important;
    display: block !important;
}
.home-banner-image img {
    filter: drop-shadow(0 0 30px rgba(37,99,235,0.45))
            drop-shadow(0 0 15px rgba(124,58,237,0.30)) !important;
    max-width: 100% !important;
    height: auto !important;
    animation: none !important;
}
@keyframes float-banner {
    0%,100% { transform: translateY(0); }
    50%      { transform: translateY(-14px); }
}

/* Carrossel altura */
#banner_slider .carousel-item {
    min-height: 360px !important;
    padding: 20px 0 40px 0 !important;
    display: flex !important;
    align-items: center !important;
}
#banner_slider { overflow: hidden !important; }

/* ── TEXTO cinza/preto → branco nos elementos remanescentes ───── */
/* Parágrafos e descrições genéricas */
p, .description, .subtitle, .sub-text {
    color: #c4cde0 !important;
}
/* Headings */
h1, h2, h3, h4, h5, h6 {
    color: #ffffff !important;
}
/* Exceções (elementos já coloridos pela paleta) */
.banner-text h1,
.hosting-section h1,
.vps-banner-text h1 { color: #ffffff !important; }
.banner-text p { color: #f5b800 !important; }

/* Remover quaisquer backgrounds brancos/claros de seções */
.hosting-section,
.guarrantees-section + *,
.field-background {
    background: #0d1120 !important;
}

/* ── Plano (cards home): fundo escuro, texto branco ──────────── */
.plan {
    background: rgba(13,17,32,0.95) !important;
    border-top: 2px solid rgba(124,58,237,0.50) !important;
    border-radius: 16px !important;
    box-shadow: 0 8px 40px rgba(0,0,0,0.40) !important;
    transition: all 0.35s ease !important;
}
.plan:hover {
    border-color: rgba(245,184,0,0.50) !important;
    transform: translateY(-6px) !important;
    box-shadow: 0 20px 60px rgba(0,0,0,0.50), 0 0 30px rgba(245,184,0,0.15) !important;
}
.plan h4  { color: #ffffff !important; }
.plan p   { color: #b8c0d8 !important; }
.plan li  { color: #c4cde0 !important; border-bottom-color: rgba(37,99,235,0.12) !important; }
.plan small { color: #a8b0cc !important; }

/* ── Seção de garantias ──────────────────────────────────────── */
.guarrantees-section {
    background: linear-gradient(135deg, #1a3a8f 0%, #7c3aed 100%) !important;
}
.guarrantees-section h1,
.guarrantees-section h4,
.guarrantees-section p { color: #ffffff !important; }

/* ── Seção de data center ────────────────────────────────────── */
.data-section h1 { color: #ffffff !important; }
.data-section p  { color: #b8c0d8 !important; }

/* ── Feature plan boxes ──────────────────────────────────────── */
.feature-plan-box, .vision-plan-box { background: rgba(13,17,32,0.95) !important; }
.feature-plan-box h4, .vision-plan-box h4 { color: #ffffff !important; }
.feature-plan-box p, .vision-plan-box p   { color: #b8c0d8 !important; }

/* ── CTA Field ───────────────────────────────────────────────── */
.field-background .field {
    background: rgba(13,17,32,0.95) !important;
    border: 1px solid rgba(37,99,235,0.25) !important;
    box-shadow: 0 20px 60px rgba(0,0,0,0.40) !important;
}
.price li { color: #ffffff !important; }

/* ── Top bar links ───────────────────────────────────────────── */
.top-bar small { color: #b8c0d8 !important; }
.social li a   { color: #b8c0d8 !important; }



/* ================================================================
   FIX CAROUSEL — Slides não devem se sobrepor
   ================================================================ */

/* O carousel do Bootstrap 4 precisa de position relative no pai e absolute nos itens */
#banner_slider { position: relative !important; overflow: hidden !important; }
#banner_slider .carousel-inner { position: relative !important; overflow: hidden !important; }

/* Cada slide ocupa toda a altura sem transbordar */
#banner_slider .carousel-item {
    position: relative !important;
    display: none !important;
    min-height: 520px !important;
    padding-top: 40px !important;
    padding-bottom: 60px !important;
    align-items: center !important;
}
#banner_slider .carousel-item.active,
#banner_slider .carousel-item-next,
#banner_slider .carousel-item-prev {
    display: flex !important;
}

/* banner-img: layout coluna, imagem relativa */
.banner-img {
    position: relative !important;
    right: auto !important;
    top: auto !important;
    width: 100% !important;
    max-width: 480px !important;
    float: none !important;
    margin: 0 auto !important;
    z-index: 1 !important;
    pointer-events: auto !important;
}
.banner-img .home-banner-image {
    width: 100% !important;
}

/* Container do slide acima da imagem */
#banner_slider .carousel-item .container {
    position: relative !important;
    z-index: 2 !important;
}

/* Garantir overflow hidden SOMENTE no carousel-inner, não na .banner-section */
.banner-section {
    overflow: visible !important;
    position: relative !important;
}
#banner_slider .carousel-inner {
    overflow: hidden !important;
}



/* ================================================================
   NOCIX TABLE — Câmbio dinâmico + estilos premium da tabela
   ================================================================ */

/* ── Badge de câmbio ─────────────────────────────────────────── */
.nocix-cambio-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(245,184,0,0.10);
    border: 1px solid rgba(245,184,0,0.25);
    color: #f5b800;
    font-size: 0.78rem;
    font-family: 'Outfit', sans-serif;
    font-weight: 500;
    padding: 6px 14px;
    border-radius: 999px;
    margin-bottom: 14px;
    letter-spacing: 0.3px;
    transition: background 0.3s ease;
}
.nocix-cambio-badge strong { color: #fcd34d; font-weight: 700; }
.nocix-cambio-badge span   { color: rgba(245,184,0,0.55); font-size: 0.72rem; }
.nocix-cambio-badge:hover  { background: rgba(245,184,0,0.16); }

/* -- Celulas da tabela ---------------------------------------------------- */
.nocix-id   { color: rgba(255,255,255,0.35) !important; font-size: 0.78rem; }
.nocix-name { color: #ffffff !important; font-weight: 600 !important;
              font-family: 'Outfit', sans-serif; font-size: 0.85rem; }

/* Preco: R$ XX,XX + /mes compacto */
.nocix-price strong {
    color: #f5b800 !important;
    font-family: 'Outfit', sans-serif;
    font-weight: 700 !important;
    font-size: 1.0rem !important;
    white-space: nowrap;
}
/* FORCADO: /mes pequeno mesmo dentro do <strong> */
.nocix-price strong .nocix-price-period {
    font-size: 0.65rem !important;
    font-weight: 400 !important;
    color: rgba(245,184,0,0.55) !important;
    margin-left: 1px;
    vertical-align: baseline;
    letter-spacing: 0;
}

/* -- Especificacoes tecnicas ---------------------------------------------- */
.nocix-specs { display: flex; flex-direction: column; gap: 2px; }
.nocix-spec  { font-size: 0.82rem; color: #b8c0d8; line-height: 1.5; }
.nocix-spec strong { color: rgba(255,255,255,0.55); font-weight: 500; margin-right: 4px; }

/* -- Select de OS ---------------------------------------------------------- */
.nocix-os-select {
    background: rgba(10,14,26,0.80) !important;
    color: #c4cde0 !important;
    border: 1px solid rgba(37,99,235,0.30) !important;
    border-radius: 8px !important;
    padding: 5px 10px !important;
    font-size: 0.82rem !important;
    min-width: 180px;
    outline: none;
    cursor: pointer;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.nocix-os-select:focus {
    border-color: rgba(245,184,0,0.50) !important;
    box-shadow: 0 0 0 3px rgba(245,184,0,0.10) !important;
}
.nocix-os-select option { background: #0d1120; color: #c4cde0; }

/* -- Badge de estoque (retangular, compacto) -------------------------------- */
.qty-badge {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 0 !important;
    width: auto !important;
    height: auto !important;
    padding: 2px 8px !important;
    border-radius: 5px !important;
    font-size: 0.70rem !important;
    font-weight: 600 !important;
    font-family: 'Outfit', sans-serif !important;
    letter-spacing: 0.2px !important;
    white-space: nowrap !important;
    line-height: 1.4 !important;
}
.qty-badge--in  {
    background: rgba(245,184,0,0.10) !important;
    color: #f5b800 !important;
    border: 1px solid rgba(245,184,0,0.28) !important;
}
.qty-badge--out {
    background: rgba(239,68,68,0.09);
    color: #ef4444;
    border: 1px solid rgba(239,68,68,0.22);
}

/* -- Spinner de carregamento na tabela ------------------------------------- */
#products-table-body td .fa-spinner { color: #f5b800; }

/* ================================================================
   NOCIX - Botao WhatsApp + /mes no preco
   ================================================================ */

/* -- Celula de acoes (estoque + botao WA) ---------------------------------- */
.nocix-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
    min-width: 90px;
}

/* -- Botao WhatsApp -------------------------------------------------------- */
.nocix-wa-btn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 9px;
    background: rgba(37,211,102,0.10);
    color: #25d366 !important;
    font-size: 0.70rem;
    font-weight: 700;
    font-family: 'Outfit', sans-serif;
    border-radius: 5px;
    border: 1px solid rgba(37,211,102,0.28);
    text-decoration: none !important;
    cursor: pointer;
    transition: all 0.2s ease;
    white-space: nowrap;
    line-height: 1.5;
}
.nocix-wa-btn:hover {
    background: rgba(37,211,102,0.20);
    border-color: rgba(37,211,102,0.50);
    color: #2edf70 !important;
    text-decoration: none !important;
    transform: translateY(-1px);
    box-shadow: 0 3px 10px rgba(37,211,102,0.18);
}
.nocix-wa-btn:active { transform: translateY(0); }
.nocix-wa-btn svg {
    flex-shrink: 0;
    width: 11px;
    height: 11px;
}

/* ================================================================
   VITTHOST — CORREÇÕES GLOBAIS DE IMAGENS E LAYOUT (Sessão 3)
   ================================================================ */

/* ── 1. SVGs escuros em fundo escuro: tornar brancos/luminosos ── */
/* Imagens de feature, guarantee, hosting-plan em fundo escuro    */
.guarrantee-image img,
.hosting-section img:not(.img-logo):not([src*="36x36"]):not([src*="logo"]):not([src*="flag"]):not([src*="emb"]):not([src*="ca.svg"]):not([src*="br.svg"]):not([src*="mc-plan"]),
.home-gaming-web-hosting-plan-box img,
.home-vision-image-list img,
.features-section img,
.features-plan-box img,
.game-feature img,
.vision-plan-box img,
.plan-box figure img,
.dedicated-server-feature-img img,
.dedicated-img img,
[class*="plan-box-img"] img,
[class*="feature-img"] img {
    filter: brightness(0) invert(1) drop-shadow(0 0 6px rgba(37,99,235,0.4)) !important;
}

/* ── 2. Imagens de icon/spec (PNG pequenas) — brancos dourados ── */
.hosting-list-icon img,
.server-list-icon img,
.dedicated-list-icon img {
    filter: brightness(0) invert(1) sepia(1) saturate(3) hue-rotate(5deg) !important;
    opacity: 0.90 !important;
}

/* ── 3. Imagens de card/produto (painel-vm, minecraft, vps etc) ─ */
.plan-img img,
.plan-image img,
.plan-box > img,
.plan-box figure img,
.plan-box-list-icon img {
    filter: brightness(0) invert(1) drop-shadow(0 2px 8px rgba(245,184,0,0.25)) !important;
}

/* ── 4. Banner SVG do slide — visibilidade garantida ──────────── */
.banner-img img,
.banner-img-section img,
.banner-text-img img {
    filter: drop-shadow(0 4px 24px rgba(37,99,235,0.5)) !important;
    max-width: 100% !important;
    height: auto !important;
}

/* ── 5. Gaps vazios entre seções — normalizar background ───────── */
.home-gaming-sub-section,
.hosting-section,
.vision-section,
.features-section,
.guarrantees-section,
.data-section,
.review-section,
[id*="home-gaming"],
[id*="home-image"] {
    background: transparent !important;
}

/* ── 6. Gap cinza/branco entre seção e footer ──────────────────── */
.home-image-web-hosting-plan-section,
section:empty,
div:empty:not([class*="banner"]):not(.col):not(.row):not(.container) {
    display: none !important;
}

/* ── 7. Texto roxo invisível em fundo roxo/azul escuro ─────────── */
.home-gaming-sub-section p,
.home-gaming-sub-section h1,
.home-gaming-sub-section h2,
.home-gaming-sub-section h3,
.home-gaming-sub-section h4,
.home-gaming-sub-section span:not(.qty-badge):not(.nocix-price-period),
#home-gaming-hosting-section p,
#home-gaming-hosting-section h1,
#home-gaming-hosting-section h3,
#home-gaming-hosting-section span,
.banner-section h1,
.banner-section h2,
.banner-section p,
.banner-section span:not(.demo) {
    color: #ffffff !important;
}

/* ── 8. Corrigir highlight/mark invisível no banner ────────────── */
.banner-section .highlight,
.banner-section mark,
.banner-text mark,
.banner-text .highlight {
    background: linear-gradient(90deg, #f5b800, #fcd34d) !important;
    color: #0a0e1a !important;
    padding: 0 4px !important;
    border-radius: 3px !important;
    -webkit-background-clip: unset !important;
    -webkit-text-fill-color: unset !important;
}

/* ── 9. Vision section box — fundo dark, texto branco ──────────── */
#home-gaming-vision-section {
    background: linear-gradient(180deg, #0d1120 0%, #1a0b36 100%) !important;
}
#home-gaming-vision-section .vision-plan-box,
#home-gaming-vision-section .plan-box {
    background: rgba(255,255,255,0.04) !important;
    border: 1px solid rgba(124,58,237,0.20) !important;
    border-radius: 16px !important;
}

/* ── 10. Data Section map ──────────────────────────────────────── */
.data-section {
    background: #0a0e1a !important;
}
.map-location img,
.network-map img {
    filter: none !important;
    opacity: 0.85 !important;
    max-width: 100% !important;
    height: auto !important;
}

/* ── 11. Footer section gap cleanup ───────────────────────────── */
#home-gaming-footer-field,
#home-image-footer-field {
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
}

/* ── 13. Painel / produto img cards na home ───────────────────── */
.hosting-plan-img img,
[class*="plan-box-img"] {
    filter: brightness(0) invert(1) !important;
    max-height: 120px !important;
    object-fit: contain !important;
}


/* ================================================================
   VITTHOST — CORREÇÕES CRÍTICAS VISUAIS (v2)
   ================================================================ */

/* ── FIX 1: Banner SVG no index/games — visibilidade garantida ── */
.home-banner-image img,
.banner-img img {
    filter: drop-shadow(0 0 20px rgba(37,99,235,0.5))
            drop-shadow(0 0 8px rgba(124,58,237,0.3)) !important;
    max-width: 100% !important;
    height: auto !important;
    display: block !important;
}

/* ── FIX 2: SVGs de feature/dedicated com fill preto ──────────── */
img[src*="dedicated-server-feature"],
img[src*="home-gaming-game-feature"],
img[src*="home-gaming-web-hosting-plan"],
img[src*="home-gaming-vision-plan-box"],
img[src*="guarrantee-img"],
img[src*="featuere-img"],
img[src*="reseller-guarrantees"],
img[src*="contact-img"] {
    filter: brightness(0) invert(1)
            drop-shadow(0 0 8px rgba(37,99,235,0.35)) !important;
    max-width: 100% !important;
}

/* ── FIX 3: Ícones de spec (ram, os, rede, escudo etc) ────────── */
img[src*="/ram.png"],
img[src*="/os.png"],
img[src*="/rede.png"],
img[src*="/escudo.png"],
img[src*="/slots.png"],
img[src*="/minecraft.png"],
img[src*="/processador.png"],
img[src*="/local.png"],
img[src*="/hard-disk.png"],
img[src*="/virt.png"],
img[src*="/painel.png"],
img[src*="/painel-vm"],
img[src*="/dedicated.png"],
img[src*="/vps.png"] {
    filter: brightness(0) invert(1)
            drop-shadow(0 0 6px rgba(245,184,0,0.3)) !important;
}

/* ── FIX 4: Span roxo invisível em fundo roxo (banner) ────────── */
.banner-section .text-paragraph span:not(.badge),
.banner-text span:not(.badge),
.banner-section span:not(.qty-badge):not(.nocix-price-period):not(.badge) {
    background: linear-gradient(90deg, #f5b800, #fcd34d) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
    font-weight: 700 !important;
}

/* ── FIX 5: Gap branco/cinza entre seções ─────────────────────── */
.home-image-web-hosting-plan-section,
#home-image-web-hosting-plan-field,
[id*="home-image-web-hosting"],
[class*="home-image-web-hosting"] {
    background: #0a0e1a !important;
}

/* ── FIX 6: Section backgrounds que herdam branco do tema ──────── */
.hosting-section,
.guarrantees-section,
.vision-section,
.features-section,
.game-feature-section,
#home-gaming-hosting-section,
#home-gaming-guarrantee-section,
#home-gaming-feature-section {
    background: #0d1120 !important;
}

/* ── FIX 7: Cards de gaming plan — fundo escuro premium ────────── */
.home-gaming-web-hosting-plan-box {
    background: linear-gradient(145deg, rgba(26,58,143,0.25), rgba(15,7,48,0.40)) !important;
    border: 1px solid rgba(124,58,237,0.20) !important;
    border-radius: 16px !important;
    padding: 20px !important;
}

/* ── FIX 8: Dropdown menu images garantia de visibilidade ──────── */
img[src*="drop-dedicated-36x36"],
img[src*="drop-revenda-36x36"],
img[src*="drop-vps-36x36"],
img[src*="pc-game-36x36"],
img[src*="web-hosting-36x36"] {
    filter: brightness(0) invert(1) !important;
    width: 22px !important;
    height: 22px !important;
}

/* ── FIX 9: footer-logo svg/png — garantir branco ─────────────── */
.footer-logo img,
.footer-image img {
    filter: brightness(0) invert(1) !important;
    max-height: 60px !important;
    width: auto !important;
}

/* ── FIX 10: map-fix.png — sem filtro (é colorida) ───────────── */
img[src*="map-fix"],
img[src*="map-img"],
.map-location img {
    filter: none !important;
    opacity: 0.9 !important;
}

/* ── FIX 11: Flags de país — nunca inverter ─────────────────────  */
img[src*="-emb.svg"],
img[src*="/br.svg"],
img[src*="/us.svg"],
img[src*="/ca.svg"],
img[src*="/fr.svg"],
img[src*="/uk.svg"],
img[src*="emb"] {
    filter: none !important;
}

/* ── FIX 12: Payment icons footer — manter cores originais ──────── */
img[src*="paypal"],
img[src*="pix"],
img[src*="mercadopago"],
img[src*="picpay"],
img[src*="stripe"] {
    filter: brightness(1.1) !important;
    max-height: 32px !important;
    width: auto !important;
}


/* ================================================================
   FIX FINAL — GAP VAZIO + BANNER SVG
   ================================================================ */

/* ── Remover padding excessivo que cria gaps ───────────────────── */
.home-gaming-sub-section + section,
.banner-section + section,
#banner_slider + section,


/* Sections que vêm depois do banner não devem ter background branco */
body > section,
.home-gaming-sub-section ~ section,
.home-gaming-sub-section ~ div {
    background-color: inherit;
}

/* ── Gap antes do footer nas pages gaming ──────────────────────── */
.home-gaming-sub-section {
    padding-bottom: 0 !important;
}
#home-gaming-footer-field,
#home-image-footer-field,
section[id*="footer-field"] {
    display: none !important;
}

/* ── Fechar home-gaming-sub-section corretamente ──────────────── */
.home-gaming-sub-section > :last-child {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}


/* ================================================================
   FIX FINAL v3 — Gap de topo e Minecraft sem imagem
   ================================================================ */

/* ── Eliminar gap acima do carousel nas gaming pages ──────────── */
.home-gaming-sub-section #banner_slider {
    margin-top: 0 !important;
}

/* O gap acima do carousel-item (área escura acima do card) é 
   causado pelo padding-top do home-gaming-sub-section que tem
   o navbar dentro. Precisamos do padding para não sobrepor o nav */
.home-gaming-sub-section {
    padding-top: 0 !important;
}

/* O carousel-item active já tem o padding necessário */
#banner_slider .carousel-item.active {
    padding-top: 80px !important;
    padding-bottom: 40px !important;
    min-height: auto !important;
}

/* ── Banner sem cards de fundo no games/minecraft ─────────────── */
.home-image-banner {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
}

/* ================================================================
   FIX DEFINITIVO — Gap Gaming Pages + Texto de banner
   ================================================================ */

/* Override do style.css que coloca padding 17% nos parágrafos das gaming pages */
.home-gaming-sub-section p {
    padding: 0 !important;
    line-height: 1.6 !important;
    margin-bottom: 16px !important;
}

/* Override min-height do tema que força 374px */
.home-gaming-sub-section #banner_slider .carousel-item {
    min-height: auto !important;
    padding: 70px 0 40px 0 !important;
}

/* Remove o fundo de imagem da gaming-sub-section (conflito com nosso gradiente) */
.home-gaming-sub-section {
    background-image: none !important;
}

/* Section que vem logo após o banner hero — zero margin-top */
.home-gaming-sub-section + .hosting-section,
.home-gaming-sub-section + section,
.home-gaming-sub-section + div.container {
    margin-top: -60px !important;
    padding-top: 0px !important;
    position: relative;
    z-index: 10;
}

/* Remover padding gigante default do hosting-section no style.css se aplicável nas páginas de jogos */
.hosting-section {
    padding-top: 60px !important; 
    padding-bottom: 60px !important;
}

/* Reduzir o espaço inferior do banner do games/minecraft para puxar os elementos de baixo para perto */
.home-gaming-sub-section {
    padding-bottom: 80px !important;
}

/* ── Banner (index) deve ter imagem ao lado — garantir layout 2 colunas ── */
#banner_slider .row.align-items-center .banner-img {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    width: 100% !important;
}

/* ── Garantir que os ícones guarantee apareçam brancos sem filtro preto ── */
.guarrantees-section .guarrantee-box img,
.guarrantee-box figure img,
.guarrantee-box .guarrantee-img img {
    filter: brightness(0) invert(1) !important;
}

/* Melhoria dos icones das caixas */
.feature-plan-box figure img, .plan-box figure img, .guarrantee-image img, .game-feature-image-list img {
    filter: drop-shadow(0px 0px 5px rgba(255, 255, 255, 0.4)) brightness(1.2);
    transition: filter 0.3s;
}
.feature-plan-box:hover figure img, .plan-box:hover figure img, .game-feature-image-list:hover img {
    filter: drop-shadow(0px 0px 10px rgba(37,99,235,0.6)) brightness(1.5);
}







/* CORRECAO SLIDER HOME (Evitar pulo na navegacao) */
.banner-section .carousel-inner { height: 850px !important; }
.banner-section .carousel-item { height: 100% !important; }
.banner-section .carousel-item > .container { height: 100%; }
.banner-section .carousel-item .row { height: 100%; align-items: stretch !important; padding-top: 60px; padding-bottom: 310px !important; }
.banner-section .carousel-item .col-lg-6:first-child { display: flex; flex-direction: column; justify-content: flex-start; height: 100%; }
.banner-section .banner-text { flex-shrink: 0; margin-bottom: 10px; }
.banner-section .text-paragraph { flex-grow: 1; display: flex; flex-direction: column; }
.banner-section .banner-button { margin-top: auto !important; display: flex; flex-wrap: wrap; gap: 15px; }
.banner-section .banner-button a { margin: 0 !important; }
.banner-section .home-banner-image { height: 100%; display: flex; align-items: center; justify-content: center; }
.banner-section .home-banner-image img { max-height: 100%; width: auto; object-fit: contain; }
@media (max-width: 991px) {
  .banner-section .carousel-inner { height: 1100px !important; }
  .banner-section .carousel-item .row { flex-direction: column; padding-bottom: 310px !important; }
  .banner-section .carousel-item .col-lg-6:first-child { height: 50%; padding-bottom: 20px; }
  .banner-section .home-banner-image { height: 50%; }
}

/* FIX: Remover filtro branco das flags e icones de planos no minecraft.php */
.hosting-section img[src*='ca.svg'],
.hosting-section img[src*='br.svg'],
.hosting-section img[src*='mc-plan'] {
    filter: none !important;
}


/* ==================================================================
   PANELS SECTION — Instalação em 1 clique (VPS)
   ================================================================== */
.panels-section {
    padding: 80px 0;
    background: linear-gradient(180deg, #050810 0%, #0a0e1a 100%);
    color: #fff;
}
.panels-heading { margin-bottom: 40px; }
.panels-badge {
    display: inline-block;
    background-color: rgba(124, 58, 237, 0.15);
    color: #b794f6;
    font-size: 13px;
    padding: 6px 14px;
    border: 1px solid rgba(124, 58, 237, 0.4);
    border-radius: 999px;
    margin-bottom: 14px;
    font-weight: 600;
    letter-spacing: 0.3px;
}
.panels-heading h2 { font-weight: 700; margin-bottom: 10px; }
.panels-heading p  { font-size: 15px; max-width: 640px; margin: 0 auto; }

.panel-card {
    background-color: #0f1424;
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 14px;
    padding: 24px 20px;
    height: 100%;
    display: flex;
    flex-direction: column;
    position: relative;
    transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.panel-card:hover {
    transform: translateY(-4px);
    border-color: rgba(124, 58, 237, 0.5);
    box-shadow: 0 12px 30px rgba(0,0,0,0.45);
}
.panel-card--featured {
    border-color: rgba(124, 58, 237, 0.5);
    background: linear-gradient(180deg, #12172a 0%, #0f1424 100%);
}
.panel-featured-badge {
    position: absolute;
    top: -10px;
    right: 14px;
    background-color: #7c3aed;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 999px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}
.panel-logo-wrap {
    width: 64px;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 14px;
    border-radius: 12px;
    overflow: hidden;
    background-color: rgba(255,255,255,0.03);
}
.panel-logo {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    filter: none !important;
}
.panel-logo-fallback {
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #7c3aed 0%, #b794f6 100%);
    color: #fff;
    font-weight: 700;
    font-size: 22px;
    align-items: center;
    justify-content: center;
    display: flex;
    border-radius: 12px;
}
.panel-category {
    display: inline-block;
    font-size: 11px;
    font-weight: 600;
    color: #7c3aed;
    background-color: rgba(124, 58, 237, 0.1);
    padding: 2px 8px;
    border-radius: 4px;
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.panel-name {
    color: #fff;
    font-size: 20px;
    font-weight: 700;
    margin: 4px 0 8px;
}
.panel-desc {
    color: #94a3b8;
    font-size: 13.5px;
    line-height: 1.55;
    margin-bottom: 16px;
    flex-grow: 1;
}
.panel-actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.panel-btn {
    display: block;
    text-align: center;
    padding: 9px 12px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    border: 1px solid transparent;
    cursor: pointer;
    transition: all .2s ease;
    font-family: inherit;
}
.panel-btn--install {
    background-color: #7c3aed;
    color: #fff;
}
.panel-btn--install:hover {
    background-color: #6d28d9;
    transform: translateY(-1px);
}
.panel-btn--docs {
    background-color: transparent;
    color: #cbd5e1;
    border-color: rgba(255,255,255,0.15);
}
.panel-btn--docs:hover {
    background-color: rgba(255,255,255,0.05);
    color: #fff;
    text-decoration: none;
}

/* Modal de instalação */
.panel-modal {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 9999;
    align-items: center;
    justify-content: center;
    padding: 20px;
}
.panel-modal.is-open { display: flex; }
.panel-modal-backdrop {
    position: absolute;
    inset: 0;
    background-color: rgba(5, 8, 16, 0.85);
    backdrop-filter: blur(6px);
}
.panel-modal-content {
    position: relative;
    background-color: #0f1424;
    border: 1px solid rgba(124, 58, 237, 0.3);
    border-radius: 14px;
    padding: 30px;
    max-width: 640px;
    width: 100%;
    max-height: 90vh;
    overflow-y: auto;
    color: #cbd5e1;
    box-shadow: 0 20px 60px rgba(0,0,0,0.6);
}
.panel-modal-content h3 { color: #fff; margin-bottom: 8px; }
.panel-modal-close {
    position: absolute;
    top: 12px;
    right: 14px;
    background: transparent;
    border: 0;
    color: #94a3b8;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
    padding: 4px 10px;
}
.panel-modal-close:hover { color: #fff; }
.panel-cmd-wrap {
    position: relative;
    margin: 16px 0;
    background-color: #050810;
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 8px;
    overflow: hidden;
}
.panel-cmd {
    padding: 16px 90px 16px 16px;
    color: #10b981;
    font-family: 'SF Mono', Menlo, Consolas, monospace;
    font-size: 13px;
    white-space: pre-wrap;
    word-break: break-all;
    margin: 0;
    background-color: transparent;
}
.panel-cmd-copy {
    position: absolute;
    top: 10px;
    right: 10px;
    background-color: #7c3aed;
    color: #fff;
    border: 0;
    border-radius: 6px;
    padding: 6px 12px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
}
.panel-cmd-copy:hover { background-color: #6d28d9; }
.panel-modal-notes {
    background-color: rgba(255,255,255,0.03);
    padding: 14px 16px;
    border-radius: 8px;
    font-size: 13px;
    margin-top: 14px;
}
.panel-modal-notes ul {
    padding-left: 18px;
    margin: 8px 0 12px;
}
.panel-modal-notes li { margin-bottom: 4px; }

/* ===========================================================================
   VPS PRO BRASIL — selo de destaque e bloco de notas
   =========================================================================== */
.dedicated-server-plan-box { position: relative; }
/* Selo absoluto: dentro do fluxo ele empurrava o card destacado para baixo
   e desalinhava a linha inteira de planos. */
.pro-badge {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 2;
    padding: 3px 12px;
    border-radius: 999px;
    background: linear-gradient(135deg, #f5b800, #fcd34d);
    color: #11131a;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .06em;
}

.pro-notas {
    margin-top: 10px;
    padding: 28px 30px;
    border: 1px solid rgba(245, 184, 0, .28);
    border-radius: 12px;
    background: rgba(245, 184, 0, .05);
    color: #cbd5e1;
}
.pro-notas h4 { color: #f5b800; margin-bottom: 14px; font-weight: 700; }
.pro-notas p  { margin-bottom: 14px; line-height: 1.75; }
.pro-notas p:last-child { margin-bottom: 0; }
.pro-notas a  { color: #f5b800; text-decoration: underline; }
.pro-nota-pequena { font-size: 13px; color: #94a3b8; }

/* Listas e comandos dentro das notas de rodapé e das perguntas frequentes — o
   aviso de licença do Windows (includes/windows-licenca.php) aparece nos dois
   lugares com o mesmo HTML, e precisa mostrar "slmgr /rearm" de um jeito que o
   cliente reconheça como algo para digitar. */
.pro-notas ul,
.accordion-card .card-body ul { margin: 10px 0 14px; padding-left: 20px; }
.pro-notas li,
.accordion-card .card-body li { margin-bottom: 8px; line-height: 1.75; }
.pro-notas li:last-child,
.accordion-card .card-body li:last-child { margin-bottom: 0; }
.pro-notas code,
.pro-nota-pequena code,
.accordion-card .card-body code,
.legal-section code {
    padding: 2px 7px;
    border: 1px solid rgba(245, 184, 0, .3);
    border-radius: 5px;
    background: rgba(0, 0, 0, .35);
    color: #fcd34d;
    font-family: Consolas, "Courier New", monospace;
    font-size: .92em;
    white-space: nowrap;
}

/* Âncoras das páginas legais (#licencas-software, #rede-nvme): o cabeçalho é
   fixo, então sem esta folga o título da cláusula fica escondido atrás dele
   justamente quando alguém clica no link que aponta para ela. */
.legal-section [id] { scroll-margin-top: 140px; }

@media (max-width: 767px) {
    .pro-notas { padding: 20px 18px; }
    .legal-section [id] { scroll-margin-top: 90px; }
}

/* ── Bandeiras de pagamento do rodapé ─────────────────────────────────────────
   Altura e largura ja sao tratadas pela regra "FIX 12" acima (max-height 32px,
   width auto). Aqui so o respiro: com o espaco natural do inline-block (4-5px)
   as marcas encostam uma na outra. */
.footer-cards-list li { margin-right: 8px; }
.footer-cards-list li:last-child { margin-right: 0; }

/* ── Emenda entre seções de planos ───────────────────────────────────────────
   A última .row da grade carrega mb-xl-5 (48px) do Bootstrap, e essa margem
   escapa da <section>, abrindo um vão onde aparece o fundo mais escuro do body
   — vira uma faixa atravessando a página entre uma seção de planos e a
   seguinte. Zerar só na última row mantém o respiro entre as fileiras. */
.dedicated-server-plan-box-section-inner > .row:last-child { margin-bottom: 0 !important; }

/* Separação entre seções de planos consecutivas. O espaço vai como PADDING
   dentro da seção de baixo, e não como margem entre as duas: assim o fundo
   continua contínuo e não reaparece a faixa escura do body. Mesmo respiro de
   48px que o Bootstrap dá entre as fileiras de cards (mb-xl-5). */
.dedicated-server-plan-box-section + .dedicated-server-plan-box-section { padding-top: 48px; }

@media (max-width: 767px) {
    .dedicated-server-plan-box-section + .dedicated-server-plan-box-section { padding-top: 24px; }
}

/* ══ /games — cards dos jogos que hospedamos ═════════════════════════════════
   Cada card recebe --game-accent inline, com a cor da linha. Assim a paleta
   fica nos dados (games.php) e o CSS nao precisa de uma classe por jogo. */
.games-section { background: #0d1120; padding: 70px 0 80px; }
.games-heading { max-width: 720px; margin: 0 auto 46px; }
.games-badge {
    display: inline-block; margin-bottom: 14px; padding: 6px 16px;
    border: 1px solid rgba(124,58,237,.45); border-radius: 999px;
    background: rgba(124,58,237,.12); color: #c4b5fd;
    font-size: 13px; font-weight: 600; letter-spacing: .04em;
}
.games-heading h2 { font-weight: 800; margin-bottom: 12px; }
.games-rodape { margin-top: 34px; font-size: 15px; }
.games-rodape a { color: #f5b800; }

.game-card {
    display: flex; flex-direction: column; height: 100%;
    background: rgba(13,17,32,.95);
    border: 1px solid rgba(37,99,235,.22); border-radius: 18px; overflow: hidden;
    transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}
.game-card:hover {
    transform: translateY(-6px);
    border-color: var(--game-accent, #f5b800);
    box-shadow: 0 16px 44px rgba(0,0,0,.45);
}
.game-card-art { position: relative; margin: 0; line-height: 0; }
.game-card-art img { width: 100%; height: auto; display: block; }
.game-card-tag {
    position: absolute; top: 14px; right: 14px;
    padding: 5px 12px; border-radius: 999px;
    background: rgba(10,14,26,.88); color: #fff;
    font-size: 12px; font-weight: 700; letter-spacing: .03em;
    border: 1px solid var(--game-accent, #f5b800);
}
.game-card-body { padding: 22px 22px 6px; flex: 1 1 auto; }
.game-card-body h3 {
    font-size: 21px; font-weight: 800; color: #fff; margin-bottom: 10px;
}
.game-card-body > p { color: #94a3b8; font-size: 15px; line-height: 1.6; margin-bottom: 16px; }
.game-card-body b { color: #cbd5e1; }

.game-card-specs { margin: 0; }
.game-card-specs li { color: #94a3b8; font-size: 14px; padding: 4px 0; }
.game-card-specs i { color: var(--game-accent, #f5b800); margin-right: 8px; font-size: 12px; }

.game-card-foot {
    padding: 18px 22px 22px; margin-top: auto;
    border-top: 1px solid rgba(255,255,255,.06);
}
.game-card-preco { margin-bottom: 14px; color: #94a3b8; font-size: 14px; }
.game-card-preco strong {
    color: #fff; font-size: 26px; font-weight: 800; margin: 0 4px;
}
.game-card-preco strong span { font-size: 17px; }

.game-card-botoes { display: flex; flex-wrap: wrap; gap: 10px; }
.game-btn {
    flex: 1 1 auto; text-align: center; padding: 11px 16px;
    border-radius: 999px; font-size: 14px; font-weight: 700;
    text-decoration: none; transition: all .25s ease; white-space: nowrap;
}
.game-btn--primario {
    background: var(--game-accent, #f5b800); color: #0a0e1a;
}
.game-btn--primario:hover { filter: brightness(1.12); color: #0a0e1a; text-decoration: none; }
.game-btn--fantasma {
    background: transparent; color: #cbd5e1;
    border: 1px solid rgba(255,255,255,.18);
}
.game-btn--fantasma:hover {
    border-color: var(--game-accent, #f5b800); color: #fff; text-decoration: none;
}

@media (max-width: 767px) {
    .games-section { padding: 46px 0 52px; }
    .games-heading { margin-bottom: 30px; }
    .game-card-botoes { flex-direction: column; }
}

/* A secao dos jogos herdou o id #home-gaming-hosting-section para nao quebrar
   a ancora do botao "Ver planos" do hero. Esse id carrega uma regra do layout
   antigo no style.css — "#home-gaming-hosting-section figure { max-height:52px }"
   — que zerava a arte dos cards novos. Anulada so para os cards de jogo. */
#home-gaming-hosting-section .game-card-art {
    margin: 0 !important; max-height: none !important;
}

/* /ofertas reusa os cards de .game-card (mesma linguagem visual). Só a linha
   da vantagem é própria — é o que diferencia uma oferta de um card comum. */
.oferta-vantagem {
    margin: -6px 0 16px; padding: 10px 12px;
    background: rgba(245,184,0,.08); border-left: 3px solid var(--game-accent, #f5b800);
    border-radius: 6px; color: #cbd5e1; font-size: 14px; line-height: 1.5;
}
.oferta-vantagem b { color: #fff; }

/* ================================================================
   NAVEGACAO — mega-menu "Hosting" + estado ativo + alvos de toque
   ================================================================
   Escopo proposital em .dropdown-menu.vitt-mega (0,2,0). O arquivo tem
   QUATRO blocos anteriores estilizando .dropdown-menu (0,1,0) com
   !important; sem esta especificidade o mega-menu herdaria a largura e o
   padding da lista antiga. Juntar aqueles blocos num so e trabalho a
   parte — aqui o objetivo e nao piorar.
   ================================================================ */

/* -- Estado ativo: a nav nao dizia em que pagina o visitante esta -- */
.navbar-nav .nav-link.ativo { color: #ffffff !important; }
.navbar-nav .nav-link.ativo::after { width: 60%; }
.navbar-nav button.nav-link {
    appearance: none;
    border: 0;
    background: transparent;
    font: inherit;
    color: #ffffff !important;
    font-size: 15px;
    font-weight: 400;
    line-height: 20px;
    cursor: pointer;
}
.navbar-nav > .nav-item > .nav-link {
    filter: none !important;
    opacity: 1 !important;
    transition: color 160ms cubic-bezier(.2, .8, .2, 1) !important;
}
.navbar-nav > .nav-item:hover > .nav-link:not(.navbar-btn),
.navbar-nav > .nav-item > .nav-link:focus-visible {
    color: #f5b800 !important;
}
.navbar-nav > .nav-item > .nav-link:focus-visible {
    outline: 2px solid rgba(245, 184, 0, .75);
    outline-offset: 4px;
    border-radius: 4px;
}

/* -- Painel do mega-menu ------------------------------------------ */
.dropdown-menu.vitt-mega {
    width: min(760px, calc(100vw - 32px)) !important;
    max-width: none !important;
    min-width: 0 !important;
    padding: 18px !important;
    border-radius: 16px !important;
    background: rgba(8, 13, 25, .995) !important;
}
.vitt-mega-grid {
    display: grid;
    grid-template-columns: 1.3fr 1fr 1fr;
    gap: 4px 16px;
}
.vitt-mega-col { min-width: 0; }
.vitt-mega-titulo {
    margin: 0 0 6px;
    padding: 0 10px;
    color: #f5b800;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .10em;
    text-transform: uppercase;
}

/* Cada item tem 44px de altura minima: e o minimo de alvo de toque das
   diretrizes de acessibilidade (WCAG 2.5.5 / Apple HIG). A lista antiga
   entregava 34px. */
.vitt-mega-link {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    min-height: 44px;
    padding: 9px 10px;
    border-radius: 10px;
    color: #e2e8f0;
    text-decoration: none !important;
    transition: background-color 160ms cubic-bezier(.2, .8, .2, 1), color 160ms cubic-bezier(.2, .8, .2, 1);
}
.vitt-mega-link:hover,
.vitt-mega-link:focus-visible {
    background: rgba(37, 99, 235, .18);
    color: #ffffff;
    outline: none;
}
.vitt-mega-link:focus-visible { box-shadow: 0 0 0 2px rgba(245, 184, 0, .55); }
.vitt-mega-link.ativo {
    background: rgba(245, 184, 0, .10);
    box-shadow: inset 2px 0 0 #f5b800;
}
.vitt-mega-link i {
    flex-shrink: 0;
    width: 20px;
    margin-top: 3px;
    color: #7f93bb;
    font-size: 15px;
    text-align: center;
    transition: color 160ms cubic-bezier(.2, .8, .2, 1);
}
.vitt-mega-link:hover i,
.vitt-mega-link.ativo i { color: #f5b800; }
.vitt-mega-link b {
    display: block;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.35;
}
.vitt-mega-link small {
    display: block;
    margin-top: 1px;
    color: #93a1bf;
    font-size: 11.5px;
    line-height: 1.4;
}
.vitt-mega-novo {
    display: inline-block;
    margin-left: 6px;
    padding: 1px 6px;
    border-radius: 999px;
    background: linear-gradient(135deg, #f5b800, #fcd34d);
    color: #0a0e1a;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .06em;
    vertical-align: 1px;
}

/* -- Desktop: centraliza no item para 760px nao vazarem da janela -- */
@media (min-width: 992px) {
    .dropdown-menu.vitt-mega {
        left: 50% !important;
        right: auto !important;
        transform: translateX(-50%);
        margin-top: 10px !important;
    }
}

/* -- Mobile: lista inline, nao caixinha flutuante ------------------ */
@media (max-width: 991px) {
    body.vitt-nav-open { overflow: hidden; }

    /* O menu aberto ocupava 188px de uma tela de 375: o .navbar-collapse nao
       estava esticando como item flex, entao a lista inteira virava uma coluna
       espremida no canto direito. Isso vem de antes do mega-menu — era o que
       fazia o submenu antigo caber em 160px. */
    .navbar-collapse {
        flex-basis: 100% !important;
        flex-grow: 1 !important;
        /* width:100% estoura aqui: o elemento esta em content-box e os 16px de
           padding de cada lado entrariam POR FORA dos 100%. O flex-basis ja da
           a largura; as margens entregam a folga lateral. */
        width: auto !important;
        /* Margem automatica em vez de valor fixo: centraliza dentro da linha
           flex qualquer que seja a largura util dela, que aqui nao e a da
           janela (a barra de rolagem come uns 18px). */
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box;
        left: 16px !important;
        right: 16px !important;
        max-width: none !important;
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
        scrollbar-gutter: stable;
    }
    .navbar-collapse.collapsing {
        transition-duration: 0s !important;
    }
    .navbar-nav {
        width: 100% !important;
        margin-left: 0 !important;
    }

    .dropdown-menu.vitt-mega {
        position: static !important;
        float: none !important;
        width: 100% !important;
        margin: 6px 0 10px !important;
        padding: 12px !important;
        background: rgba(255, 255, 255, .03) !important;
        border: 1px solid rgba(255, 255, 255, .07) !important;
        box-shadow: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        transform: none;
    }
    .vitt-mega-grid { grid-template-columns: 1fr; gap: 2px; }
    .vitt-mega-col + .vitt-mega-col { margin-top: 12px; }
    .vitt-mega-link { min-height: 48px; padding: 12px 10px; }

    /* Os links principais entregavam 36px. Mesmo minimo dos itens acima. */
    .navbar-nav .nav-link:not(.navbar-btn) {
        display: flex;
        align-items: center;
        min-height: 44px;
        padding: 10px 12px !important;
    }
    .navbar-nav button.nav-link {
        width: 100%;
        justify-content: space-between;
        text-align: left;
    }
    .navbar-btn {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        min-height: 44px;
        width: 100%;
        margin: 8px 0 0 !important;
    }
}

/* ═══════════════════════════════════════════════════════════════════════════
   MOVIMENTO REDUZIDO — Issue #10
   Auditoria: motion-audits/vitthost-com-br-2026-09-26.html (achado crítico 1)

   Nenhum CSS nosso tinha esta guarda. Os únicos arquivos que respeitavam a
   preferência eram os temas herdados do WHMCS, não escritos aqui. Enquanto
   isso, cinco animações rodavam em loop infinito sem nenhuma forma de parar —
   movimento contínuo sem pausa é gatilho vestibular, não questão de gosto.

   Zera a duração preservando o estado final, para o layout não quebrar.
   ═══════════════════════════════════════════════════════════════════════════ */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/* ─── Página de parceiros (Issue #39) ────────────────────────────────────────
   Sem logo de terceiro enquanto não houver arquivo e autorização: a arte do
   card mostra as iniciais na cor do parceiro. Mesma proporção das artes dos
   cards de jogo (600x340), para a grade não pular quando um logo entrar.
   É <span> e não <div> por causa do "div:empty { display:none }" global. */
.parceiro-arte {
    display: flex; align-items: center; justify-content: center;
    width: 100%; aspect-ratio: 600 / 340;
    font: 800 clamp(48px, 6vw, 72px)/1 system-ui, -apple-system, "Segoe UI", sans-serif;
    letter-spacing: .04em;
    color: var(--game-accent, #f5b800);
    background:
        radial-gradient(120% 90% at 20% 10%, color-mix(in srgb, var(--game-accent, #f5b800) 28%, transparent), transparent 60%),
        linear-gradient(135deg, #0d1120, #0a0e1a);
    border-bottom: 1px solid color-mix(in srgb, var(--game-accent, #f5b800) 35%, transparent);
}
.parceiros-aviso { font-size: 13px; margin: 8px 0 44px; }
.parceiros-convite {
    max-width: 620px; margin: 0 auto; padding: 32px 24px;
    border: 1px solid rgba(37, 99, 235, .22); border-radius: 18px;
    background: rgba(13, 17, 32, .6);
}
.parceiros-convite h2 { color: #fff; font-size: 24px; font-weight: 800; margin-bottom: 10px; }
.parceiros-convite p { margin-bottom: 20px; }
.parceiros-convite .game-btn { display: inline-block; flex: none; padding: 11px 26px; }
