/* ==========================================================================
   BrasilFivemHost — Camada Clean & Concept (Nuxt / Clean Style)
   Preserva: Logo BFH, dados, imagens e conteúdo integral.
   Identidade: Fundo clean com dot-grid sutil, tipografia bold limpa e
   TODOS os detalhes/acentos/botões no VERDE vibrante da marca (#22c55e / #16a34a).
   ========================================================================== */

/* ---------- 1. FUNDO GLOBAL & DOT-GRID ---------- */
body {
    background-color: #fafafa;
    background-image: radial-gradient(circle at 1px 1px, rgba(0, 0, 0, 0.04) 1px, transparent 0);
    background-size: 32px 32px;
    color: #111827;
    -webkit-font-smoothing: antialiased;
}

/* Tipografia limpa com tracking moderno */
h1, h2, h3, h4, h5 {
    color: #111827;
    letter-spacing: -0.025em;
    font-weight: 800;
}

/* ---------- 2. HEADER: Vidro claro ultra-clean ---------- */
header {
    background: rgba(255, 255, 255, 0.9) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02) !important;
}

.logo {
    color: #111827 !important;
    font-weight: 800;
    letter-spacing: -0.03em;
}
.logo span {
    color: var(--primary) !important;
}

.nav-link {
    color: #4b5563 !important;
    font-weight: 600;
    font-size: 0.92rem;
}
.nav-link:hover, .nav-item:hover > .nav-link {
    color: var(--primary) !important;
}

/* Dropdowns / Mega Menu clean com acentos verdes */
.mega-menu, .dropdown-menu {
    background: #ffffff !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    border-radius: 18px !important;
    box-shadow: 0 20px 45px -15px rgba(0, 0, 0, 0.12) !important;
}
.mm-highlight {
    background: linear-gradient(180deg, #f0fdf4 0%, #ffffff 100%) !important;
    border-right: 1px solid rgba(0, 0, 0, 0.05);
}
.mm-highlight h4 {
    color: #111827 !important;
}

/* Botões do header */
.discord-btn {
    background: rgba(34, 197, 94, 0.08) !important;
    color: var(--primary-dark) !important;
    border-radius: 12px !important;
    border: 1px solid rgba(34, 197, 94, 0.18) !important;
}
.discord-btn:hover {
    background: #5865F2 !important;
    color: #ffffff !important;
    border-color: #5865F2 !important;
    transform: translateY(-2px);
}
.header-actions .btn-outline {
    border: 1px solid rgba(34, 197, 94, 0.3) !important;
    color: var(--primary-dark) !important;
    background: #ffffff !important;
    font-weight: 700;
}
.header-actions .btn-outline:hover {
    background: var(--primary) !important;
    color: #ffffff !important;
    border-color: var(--primary) !important;
}

/* Sale Banner: Verde vibrante de alta conversão */
.sale-banner {
    background: linear-gradient(90deg, #15803d 0%, #16a34a 50%, #22c55e 100%) !important;
    color: #ffffff !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
    box-shadow: 0 2px 10px rgba(22, 163, 74, 0.25);
}
.sb-coupon-btn {
    background: #ffffff !important;
    color: #15803d !important;
    font-weight: 800;
    border-radius: 8px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}
.sb-coupon-btn:hover {
    transform: scale(1.04);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25) !important;
}

/* ---------- 3. HEROES CLEAN COM ACENTOS VERDES ---------- */
.vps-hero-dark,
section.vps-hero-dark {
    background: transparent !important;
    color: #111827 !important;
    min-height: auto !important;
    padding: 4.5rem 0 3.5rem !important;
    position: relative;
}

.vps-hero-dark::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    height: 100%;
    background: radial-gradient(circle at 50% 20%, rgba(34, 197, 94, 0.08) 0%, transparent 65%);
    pointer-events: none;
    z-index: 0;
}

.vps-hero-grid {
    position: relative;
    z-index: 1;
}

/* Badge do Hero em verde suave com borda */
.vps-hero-badge {
    background: rgba(34, 197, 94, 0.1) !important;
    color: var(--primary-dark) !important;
    border: 1px solid rgba(34, 197, 94, 0.25) !important;
    border-radius: 9999px !important;
    padding: 0.35rem 1rem !important;
    font-size: 0.82rem !important;
    font-weight: 700 !important;
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
}
.vps-hero-badge i {
    color: var(--primary) !important;
}

.vps-hero-title {
    color: #111827 !important;
    font-size: clamp(2.4rem, 5vw, 3.8rem) !important;
    font-weight: 800 !important;
    letter-spacing: -0.035em !important;
    line-height: 1.08 !important;
    text-shadow: none !important;
}

.vps-hero-title .highlight,
.vps-hero-title span[style*="color"],
.vps-hero-title .text-primary {
    color: var(--primary-dark) !important;
    text-decoration: underline !important;
    text-decoration-color: var(--primary) !important;
    text-decoration-thickness: 4px !important;
    text-underline-offset: 8px !important;
    text-shadow: none !important;
    -webkit-text-fill-color: initial !important;
    background: none !important;
}

.vps-hero-desc,
.vps-hero-subtitle {
    color: #4b5563 !important;
    font-size: 1.15rem !important;
    line-height: 1.65 !important;
    text-shadow: none !important;
    opacity: 1 !important;
}

/* Feature pills com ícone verde */
.vps-features-row {
    display: flex;
    gap: 0.65rem;
    flex-wrap: wrap;
    margin: 1.75rem 0 2rem;
}
.vps-feature-pill {
    background: #ffffff !important;
    color: #1f2937 !important;
    border: 1px solid rgba(34, 197, 94, 0.2) !important;
    border-radius: 9999px !important;
    padding: 0.45rem 1rem !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    box-shadow: 0 1px 3px rgba(34, 197, 94, 0.05) !important;
}
.vps-feature-pill i {
    color: var(--primary) !important;
}

/* Bloco de preço no Hero com destaque verde */
.vps-price-block {
    background: #ffffff !important;
    border: 1px solid rgba(34, 197, 94, 0.25) !important;
    border-radius: 16px !important;
    box-shadow: 0 6px 24px rgba(34, 197, 94, 0.08) !important;
    padding: 1rem 1.4rem !important;
}
.vps-price-label {
    color: #6b7280 !important;
    font-size: 0.8rem !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}
.vps-price-value {
    color: #111827 !important;
    font-weight: 800 !important;
    font-size: 1.75rem !important;
}
.vps-price-value span {
    color: #6b7280 !important;
}

/* Imagens dos heroes */
.vps-hero-img-container img,
.vps-hero-img {
    filter: drop-shadow(0 20px 40px rgba(34, 197, 94, 0.12)) !important;
}

/* Hero de games: degradê lateral sem apagar arte */
.game-hero-unified {
    position: relative;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    color: #111827 !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04) !important;
    overflow: hidden;
}
.game-hero-unified::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.9) 42%, rgba(255, 255, 255, 0.55) 62%, rgba(255, 255, 255, 0.15) 100%);
    z-index: 1;
    pointer-events: none;
}
.game-hero-unified .split-feature-grid,
.game-hero-unified .gh-content,
.game-hero-unified .gh-sidebar {
    position: relative;
    z-index: 2;
}
.game-hero-unified h1,
.game-hero-unified .game-title {
    color: #111827 !important;
}
.game-hero-unified .game-desc,
.game-hero-unified .gh-sidebar p {
    color: #4b5563 !important;
}
.game-badge {
    background: rgba(34, 197, 94, 0.1) !important;
    color: var(--primary-dark) !important;
    border: 1px solid rgba(34, 197, 94, 0.25) !important;
    border-radius: 9999px !important;
    padding: 0.35rem 1rem !important;
    font-size: 0.8rem !important;
    font-weight: 700 !important;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}
.game-features {
    display: flex;
    gap: 0.65rem;
    flex-wrap: wrap;
    margin: 1.5rem 0;
}
.game-features span {
    background: #ffffff !important;
    color: #1f2937 !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    border-radius: 9999px !important;
    padding: 0.45rem 1rem !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
}
.game-features span i {
    color: var(--primary) !important;
}
.gh-sidebar {
    background: #ffffff !important;
    border: 1px solid rgba(34, 197, 94, 0.2) !important;
    box-shadow: 0 8px 24px rgba(34, 197, 94, 0.06) !important;
}
.gh-sidebar h4 {
    color: #111827 !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
}
.gh-item {
    background: #fafafa !important;
    border: 1px solid rgba(0, 0, 0, 0.06) !important;
    color: #111827 !important;
}
.gh-item h5 {
    color: #111827 !important;
}
.gh-item:hover, .gh-item.active {
    background: #f0fdf4 !important;
    border-color: var(--primary) !important;
}

/* ---------- 4. SEÇÕES E CARDS COM ACENTOS VERDES ---------- */
.section-dark,
section.section-dark {
    background: transparent !important;
    color: #111827 !important;
}
.section-dark .section-title h2,
.section-dark .slides-header h2 {
    color: #111827 !important;
}
.section-dark .section-title p,
.section-dark .slides-header p {
    color: #6b7280 !important;
}

/* Cards de planos com borda e sombra */
.vps-card {
    background: #ffffff !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    border-radius: 20px !important;
    color: #111827 !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03) !important;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease !important;
}
.vps-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 16px 36px -12px rgba(34, 197, 94, 0.2) !important;
    border-color: rgba(34, 197, 94, 0.4) !important;
}
.vps-card-title {
    color: #111827 !important;
    font-weight: 800 !important;
}
.vps-card-icon {
    background: rgba(34, 197, 94, 0.1) !important;
    color: var(--primary) !important;
    border-radius: 14px !important;
}
.vps-spec-item {
    color: #4b5563 !important;
}
.vps-spec-item i {
    color: var(--primary) !important;
}
.vps-card-price {
    color: #111827 !important;
}
.vps-card-price .amount,
.vps-card div[style*="font-size: 2rem"][style*="color:white"] {
    color: #111827 !important;
    font-weight: 800 !important;
}
.vps-card-price .currency,
.vps-card-price .period,
.vps-card span[style*="color:#94a3b8"],
.vps-card p[style*="color:#94a3b8"] {
    color: #6b7280 !important;
}
.vps-card-header {
    border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
}

/* Card em destaque / popular com BORDA E GLOW VERDE (não preto) */
.vps-card.popular,
.pricing-card.popular {
    border: 2px solid var(--primary) !important;
    box-shadow: 0 12px 32px -10px rgba(34, 197, 94, 0.35) !important;
    position: relative;
}

/* ---------- 5. SELETORES DE CPU / CICLO (Verde quando ativo) ---------- */
.cpu-selector-container,
.billing-selector {
    justify-content: center;
}
.cpu-selector,
.billing-selector {
    background: #ffffff !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    border-radius: 9999px !important;
    padding: 0.35rem !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03) !important;
}
.cpu-btn,
.billing-btn {
    border: none !important;
    background: transparent !important;
    color: #4b5563 !important;
    font-weight: 700 !important;
    border-radius: 9999px !important;
    padding: 0.55rem 1.3rem !important;
    transition: all 0.2s ease !important;
}
.cpu-btn.active,
.billing-btn.active {
    background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 4px 14px rgba(34, 197, 94, 0.35) !important;
}
.cpu-btn.active img {
    border: 1px solid rgba(255, 255, 255, 0.4);
}

/* ---------- 6. BOTÕES: VERDE VIBRANTE DA MARCA (NUNCA PRETO) ---------- */
.btn-primary,
.vps-price-block .btn,
.vps-hero-dark .btn-primary,
.vps-hero-grid .btn-primary,
.pricing-card .btn-primary,
.vps-card .btn-primary,
a.btn-primary[style*="background"] {
    background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%) !important;
    color: #ffffff !important;
    border: none !important;
    font-weight: 700 !important;
    border-radius: 9999px !important;
    box-shadow: 0 4px 16px rgba(34, 197, 94, 0.35) !important;
    transition: all 0.2s ease !important;
}
.btn-primary:hover,
.vps-price-block .btn:hover,
.vps-hero-dark .btn-primary:hover,
.vps-hero-grid .btn-primary:hover,
.pricing-card .btn-primary:hover,
.vps-card .btn-primary:hover,
a.btn-primary[style*="background"]:hover {
    background: linear-gradient(135deg, #16a34a 0%, #15803d 100%) !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 24px rgba(34, 197, 94, 0.5) !important;
}

/* Botões nos cards de planos */
.pricing-card .btn-primary,
.vps-card .btn-primary {
    border-radius: 12px !important;
    padding: 0.85rem 1.25rem !important;
    width: 100%;
}

/* Botão outline */
.btn-outline {
    background: #ffffff !important;
    border: 1px solid rgba(34, 197, 94, 0.3) !important;
    color: #111827 !important;
    border-radius: 9999px !important;
    font-weight: 700 !important;
}
.btn-outline:hover {
    background: #f0fdf4 !important;
    color: var(--primary-dark) !important;
    border-color: var(--primary) !important;
}

/* Tags / badges no verde da marca */
.tag,
.popular-tag {
    background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%) !important;
    color: #ffffff !important;
    font-weight: 800 !important;
    border-radius: 9999px !important;
    letter-spacing: 0.04em;
    box-shadow: 0 2px 8px rgba(34, 197, 94, 0.3) !important;
}

/* Sublinhado das seções */
.section-title h2 span[style*="color"],
.section-title h2 .text-primary {
    color: var(--primary-dark) !important;
    text-decoration: underline !important;
    text-decoration-color: var(--primary) !important;
    text-decoration-thickness: 3px !important;
    text-underline-offset: 6px !important;
}

/* ---------- 7. RODAPÉ CLARO COM DETALHES VERDES ---------- */
footer {
    background: #ffffff !important;
    color: #4b5563 !important;
    border-top: 1px solid rgba(0, 0, 0, 0.08) !important;
    margin-top: 5rem !important;
    padding: 4.5rem 0 2.5rem !important;
}
.footer-logo {
    color: #111827 !important;
    font-weight: 800;
}
.footer-logo span {
    color: var(--primary) !important;
}
.footer-desc {
    color: #6b7280 !important;
    line-height: 1.65;
}
.footer-col h4 {
    color: #111827 !important;
    font-weight: 800;
    font-size: 0.95rem !important;
    letter-spacing: -0.01em;
}
.footer-col h4::after {
    background: var(--primary) !important;
    width: 24px !important;
    height: 3px !important;
    border-radius: 2px !important;
}
.footer-links a {
    color: #6b7280 !important;
    font-weight: 500;
    font-size: 0.9rem;
}
.footer-links a:hover {
    color: var(--primary-dark) !important;
    transform: translateX(2px);
}
footer .discord-btn {
    background: rgba(34, 197, 94, 0.08) !important;
    color: var(--primary-dark) !important;
    border: 1px solid rgba(34, 197, 94, 0.2) !important;
}
footer .discord-btn:hover {
    background: var(--primary) !important;
    color: #ffffff !important;
}
.footer-bottom {
    border-top: 1px solid rgba(0, 0, 0, 0.06) !important;
    color: #9ca3af !important;
    margin-top: 3rem;
    padding-top: 2rem;
}
.footer-bottom p {
    color: #9ca3af !important;
}

/* ---------- 8. CTA FINAL DA HOME (CLEAN COM VERDE) ---------- */
.home-cta-clean,
section > .container > div[style*="linear-gradient(135deg, #111827"] {
    background: linear-gradient(135deg, #ffffff 0%, #f0fdf4 100%) !important;
    border: 1px solid rgba(34, 197, 94, 0.25) !important;
    box-shadow: 0 16px 40px -10px rgba(34, 197, 94, 0.12) !important;
    color: #111827 !important;
    border-radius: 24px !important;
}
section > .container > div[style*="linear-gradient(135deg, #111827"] h2 {
    color: #111827 !important;
}
section > .container > div[style*="linear-gradient(135deg, #111827"] p {
    color: #4b5563 !important;
}

/* Carrossel de navegação */
.carousel-nav-btn {
    background: #ffffff !important;
    border: 1px solid rgba(34, 197, 94, 0.25) !important;
    color: #111827 !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
}
.carousel-nav-btn:hover {
    background: var(--primary) !important;
    color: #ffffff !important;
    border-color: var(--primary) !important;
}

/* FAQ em detalhes clean */
.faq-item {
    background: #ffffff !important;
    border: 1px solid rgba(0, 0, 0, 0.06) !important;
    border-radius: 14px !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
    transition: border-color 0.2s ease;
}
.faq-item[open] {
    border-color: rgba(34, 197, 94, 0.4) !important;
}
.faq-question {
    color: #111827 !important;
    font-weight: 700 !important;
}
.faq-icon i {
    color: var(--primary) !important;
}
.faq-answer p {
    color: #4b5563 !important;
}

/* ---------- 10. CARDS DOS JOGOS (GRID GAMES.PHP) CONSISTENTES COM O DESIGN ---------- */
.game-card-item {
    border-radius: 18px !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    background: #ffffff !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03) !important;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease !important;
}
.game-card-item:hover {
    transform: translateY(-6px) !important;
    border-color: rgba(34, 197, 94, 0.4) !important;
    box-shadow: 0 18px 36px -12px rgba(34, 197, 94, 0.22) !important;
}
.game-card-item .card-thumb {
    border-radius: 12px !important;
    position: relative;
    overflow: hidden;
    background-color: #f1f5f9;
}
.game-card-item .discount-badge {
    background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%) !important;
    color: #ffffff !important;
    font-weight: 800 !important;
    font-size: 0.72rem !important;
    border-radius: 6px !important;
    box-shadow: 0 2px 8px rgba(22, 163, 74, 0.35) !important;
    padding: 0.25rem 0.6rem !important;
}
.game-card-item .current-price {
    color: #111827 !important;
    font-size: 1.35rem !important;
    font-weight: 800 !important;
}
.game-card-item .play-icon-circle {
    background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%) !important;
    box-shadow: 0 4px 14px rgba(34, 197, 94, 0.4) !important;
}

.trust-strip-clean {
    padding: 1.25rem 0;
    margin: 1.5rem 0 0.5rem;
    border-top: 1px solid rgba(34, 197, 94, 0.15);
    border-bottom: 1px solid rgba(34, 197, 94, 0.15);
    background: rgba(255, 255, 255, 0.6);
    backdrop-filter: blur(8px);
}
.trust-strip-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.85rem 1.75rem;
}
.trust-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.88rem;
    color: #374151;
    font-weight: 500;
}
.trust-chip i {
    color: var(--primary);
    font-size: 0.95rem;
}
.trust-chip strong {
    color: #111827;
    font-weight: 700;
}
.trust-sep {
    color: rgba(34, 197, 94, 0.4);
    font-size: 0.8rem;
}
@media (max-width: 768px) {
    .trust-sep { display: none; }
    .trust-strip-inner { justify-content: flex-start; gap: 0.6rem 1rem; }
    .trust-chip { font-size: 0.82rem; }
}
