/* =========================================================================
   Panel4Four - Estilo Global
   Tema: Dark (Preto + Verde Glow)
   ========================================================================= */

:root {
    --clr-bg: #050505;
    --clr-black: #000000;
    --clr-white: #ffffff;
    --clr-text: #e0e0e0;
    --clr-text-muted: #a0a0a0;
    
    --clr-green: #00ff66;
    --clr-green-hover: #00cc52;
    --clr-green-glow: rgba(0, 255, 102, 0.4);
    --clr-green-glow-subtle: rgba(0, 255, 102, 0.15);
    
    --clr-discord: #5865F2; 
    --clr-discord-hover: #4752C4;
    --clr-red: #ff3366;
    --clr-red-glow: rgba(255, 51, 102, 0.2);
    
    --border-radius-sm: 8px;
    --border-radius: 12px;
    --border-radius-lg: 20px;
    --border-radius-pill: 50px;
    
    --glass-bg: rgba(255, 255, 255, 0.02);
    --glass-border: rgba(255, 255, 255, 0.05);
    
    --transition: 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

* {
    margin: 0; padding: 0; box-sizing: border-box;
    font-family: 'Outfit', sans-serif;
}

html { scroll-behavior: smooth; overflow-x: hidden; }

body {
    background-color: var(--clr-bg); color: var(--clr-text); line-height: 1.6;
    overflow-x: hidden; position: relative; display: flex; flex-direction: column; min-height: 100vh;
    background-image: radial-gradient(circle at 50% 0%, rgba(0, 255, 102, 0.05) 0%, transparent 60%);
}

main { flex: 1; }

body::-webkit-scrollbar { width: 10px; }
body::-webkit-scrollbar-track { background: var(--clr-bg); }
body::-webkit-scrollbar-thumb { background: #1a1a1a; border-radius: 10px; }
body::-webkit-scrollbar-thumb:hover { background: var(--clr-green-glow-subtle); }

a { text-decoration: none; color: inherit; transition: var(--transition); }
ul { list-style: none; }

.container { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.section { padding: 100px 0; }
.section-darker { background-color: var(--clr-black); position: relative; }

/* Tipografia */
h1, h2, h3, h4, h5, h6 { color: var(--clr-white); line-height: 1.2; font-weight: 700; }
.text-gradient {
    background: linear-gradient(135deg, var(--clr-white) 0%, var(--clr-green) 100%);
    -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}
.text-green { color: var(--clr-green); }
.text-muted { color: var(--clr-text-muted); }
.text-center { text-align: center; }
.text-right { text-align: right; }

.mt-2 { margin-top: 10px; } .mt-3 { margin-top: 15px; } .mt-4 { margin-top: 30px; } .mt-5 { margin-top: 50px; }
.mb-2 { margin-bottom: 10px; } .mb-3 { margin-bottom: 15px; } .mb-4 { margin-bottom: 30px; } .mb-5 { margin-bottom: 50px; }

/* Botões */
.btn {
    display: inline-flex; align-items: center; justify-content: center;
    gap: 10px; padding: 12px 24px; font-weight: 600; cursor: pointer; border: none; outline: none; transition: var(--transition);
}
.btn-pill { border-radius: var(--border-radius-pill); }
.btn-lg { padding: 16px 32px; font-size: 1.1rem; }
.btn-xl { padding: 18px 40px; font-size: 1.2rem; }
.btn-block { width: 100%; }

.btn-primary { background-color: var(--clr-green); color: var(--clr-bg); }
.btn-primary:hover {
    background-color: var(--clr-green-hover);
    transform: translateY(-3px); box-shadow: 0 5px 20px var(--clr-green-glow);
}
.btn-discord { background-color: var(--clr-discord); color: var(--clr-white); }
.btn-discord:hover {
    background-color: var(--clr-discord-hover);
    transform: translateY(-3px); box-shadow: 0 5px 20px rgba(88, 101, 242, 0.4);
}

.badge {
    padding: 6px 12px; border-radius: var(--border-radius-pill); background: var(--glass-bg);
    border: 1px solid var(--clr-green-glow-subtle); color: var(--clr-green);
    font-size: 0.85rem; font-weight: 600; display: inline-flex; align-items: center;
}

/* Glassmorphism */
.glass-container, .glass-card {
    background: var(--glass-bg); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
    border: 1px solid var(--glass-border); border-radius: var(--border-radius);
    padding: 30px; transition: var(--transition);
}
.glass-container { padding: 0; overflow: hidden; }

.image-glow { box-shadow: 0 0 40px var(--clr-green-glow-subtle); border: 1px solid rgba(0, 255, 102, 0.1); }
.shadow-green { box-shadow: 0 20px 50px -20px var(--clr-green-glow); }

.hover-lift:hover { transform: translateY(-10px); border-color: rgba(0, 255, 102, 0.2); box-shadow: 0 10px 30px var(--clr-green-glow-subtle); }
.lift-hover:hover { transform: translateY(-5px); }
.hover-float { animation: float 6s ease-in-out infinite; }
.hover-float-slow { animation: float 8s ease-in-out infinite reverse; }

@keyframes float { 0% { transform: translateY(0px); } 50% { transform: translateY(-15px); } 100% { transform: translateY(0px); } }

/* =========================================================================
   LOADING SCREEN (Apenas index.html)
   ========================================================================= */
#loading-screen {
    position: fixed; top: 0; left: 0; width: 100vw; height: 100vh;
    background-color: var(--clr-black); display: flex; justify-content: center; align-items: center;
    z-index: 9999; transition: opacity 0.5s ease, visibility 0.5s ease;
}
#loading-particles { display: none; } /* Removed background glow per user request */
.loading-content { position: relative; z-index: 10; display: flex; flex-direction: column; align-items: center; }

/* Logo limpa, cor normal, zero glow/sombra, animação suave */
.loading-logo {
    width: 250px; height: auto;
    filter: none !important;
    box-shadow: none !important;
    animation: loadingSequence 2s cubic-bezier(0.25, 0.8, 0.25, 1) forwards;
}
@keyframes loadingSequence {
    0% { opacity: 0; transform: scale(0.5); }
    15% { opacity: 1; transform: scale(1); }
    85% { opacity: 1; transform: scale(1.05); }
    100% { opacity: 0; transform: scale(1.1); }
}
.hidden { display: none !important; }

/* Transição de slide interno nas outras páginas */
.page-slide-in {
    animation: slideInPage 0.8s cubic-bezier(0.25, 0.8, 0.25, 1) forwards;
}
@keyframes slideInPage {
    0% { opacity: 0; transform: translateY(20px); }
    100% { opacity: 1; transform: translateY(0); }
}

/* Partículas BG - IMUTÁVEL */
#particles-js { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; z-index: -1; pointer-events: none; }

/* Animações (Scroll) */
.animate-on-scroll { opacity: 0; transition: opacity 0.8s ease, transform 0.8s ease; }
.animate-on-scroll.visible { opacity: 1; transform: translate(0, 0); }
.fade-up { transform: translateY(40px); }
.slide-left { transform: translateX(-60px); }
.from-bottom { transform: translateY(100px); }
.delay-1 { transition-delay: 0.2s; }
.delay-2 { transition-delay: 0.4s; }

/* =========================================================================
   HEADER & NAV 
   ========================================================================= */
header {
    position: fixed; top: 0; left: 0; width: 100%; z-index: 100;
    padding: 20px 0; transition: var(--transition); background: transparent;
}
header.scrolled {
    background: rgba(5, 5, 5, 0.9); backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--glass-border); padding: 15px 0;
}
.header-container { display: flex; justify-content: space-between; align-items: center; }
.logo img { height: 95px; width: auto; max-height: 100%; object-fit: contain; }

.desktop-nav {
    display: flex; gap: 8px; align-items: center;
    background: rgba(255,255,255,0.02); border: 1px solid rgba(255,255,255,0.06);
    padding: 6px; border-radius: 12px;
    backdrop-filter: blur(10px);
}
.desktop-nav a {
    color: var(--clr-text-muted); font-size: 0.95rem; font-weight: 500;
    padding: 10px 18px; border-radius: 10px; transition: var(--transition);
    border: 1px solid transparent;
}
.desktop-nav a:hover, .desktop-nav a.active {
    color: var(--clr-green); background: rgba(0, 255, 102, 0.1);
    border: 1px solid rgba(0, 255, 102, 0.2);
    box-shadow: 0 0 15px rgba(0, 255, 102, 0.1);
}

/* =========================================================================
   HERO
   ========================================================================= */
.pt-header { padding-top: 150px; }
.hero-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: center; min-height: 80vh; position: relative; }

/* Fundo da Logo Suave no Hero */
.hero-bg-logo {
    position: absolute; top: 50%; left: 30%; transform: translate(-50%, -50%);
    width: 60%; opacity: 0.02; z-index: -1; filter: grayscale(100%) blur(4px); pointer-events: none;
}

.hero-content h1 { font-size: 3.5rem; margin-bottom: 20px; }
.hero-subtitle { font-size: 1.2rem; color: var(--clr-text-muted); margin-bottom: 40px; max-width: 90%; }
.hero-buttons { display: flex; gap: 15px; flex-wrap: wrap; }
.hero-image img { width: 100%; height: auto; border-radius: var(--border-radius); display: block; }

/* =========================================================================
   FUNCIONALIDADES & SFX
   ========================================================================= */
.section-title { font-size: 2.5rem; margin-bottom: 15px; }
.section-desc { color: var(--clr-text-muted); font-size: 1.1rem; }
.features-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 25px; }
.f-icon {
    font-size: 2rem; margin-bottom: 20px; display: inline-flex;
    padding: 15px; border-radius: 50%; background: rgba(0, 255, 102, 0.05);
}
.f-icon.green-icon { color: var(--clr-green); box-shadow: inset 0 0 20px rgba(0, 255, 102, 0.1); }
.feature-card h3 { font-size: 1.2rem; margin-bottom: 10px; }
.feature-card p { color: var(--clr-text-muted); font-size: 0.95rem; }
.sfx-preview-container img {
    width: 100%; max-width: 800px; height: auto; border-radius: var(--border-radius); display: block; margin: 0 auto;
}
.sfx-3d-wrapper {
    margin-bottom: -10px; /* Reduz espaço vazio abaixo */
    margin-top: -30px; /* Reduz espaço vazio acima */
}
.sfx-3d-img { /* Substitui o 'img' genérico pro 3D */
    max-width: 550px !important;
    width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
    filter: drop-shadow(0 20px 30px rgba(0,0,0,0.5));
}

/* =========================================================================
   COMUNIDADE E DISCORD
   ========================================================================= */
.community-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.discord-mockup {
    width: 200px; height: 200px; border-radius: 50%; display: flex;
    justify-content: center; align-items: center; position: relative;
    background: linear-gradient(135deg, #2c2f33 0%, #23272a 100%);
}
.discord-xl { font-size: 6rem; z-index: 2; color: var(--clr-discord); }

/* =========================================================================
   TERMOS DE USO
   ========================================================================= */
.terms-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.terms-block h4 { margin-bottom: 15px; font-size: 1.2rem; }
.success-list { display: flex; flex-direction: column; gap: 12px; }
.success-list li { position: relative; padding-left: 25px; color: var(--clr-text-muted); }
.success-list li::before {
    content: '\f00c'; font-family: "Font Awesome 6 Free"; font-weight: 900;
    position: absolute; left: 0; top: 2px; color: var(--clr-green); font-size: 0.9rem;
}

/* =========================================================================
   LOJA E BUGS
   ========================================================================= */
.page-header { padding-top: 150px; padding-bottom: 50px; text-align: center; }
.store-box { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: center; padding: 50px; }
.store-image img { width: 100%; height: auto; border-radius: var(--border-radius); }
.store-title { font-size: 3rem; margin-bottom: 15px; }

.bugs-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 20px; }
.bug-card.border-red { border-top: 3px solid var(--clr-red); }
.bug-card.border-red:hover { box-shadow: 0 10px 30px var(--clr-red-glow); border-color: var(--clr-red); }
.bug-card.border-green { border-top: 3px solid var(--clr-green); }

.bug-icon { font-size: 1.8rem; margin-bottom: 15px; }
.bug-icon.red { color: var(--clr-red); }
.bug-icon.green { color: var(--clr-green); }
.bug-card h4 { margin-bottom: 10px; }
.bug-card p { color: var(--clr-text-muted); font-size: 0.9rem; }

.steps-container { display: flex; justify-content: center; align-items: center; gap: 20px; flex-wrap: wrap; margin-top: 30px; }
.step-box { display: flex; flex-direction: column; align-items: center; gap: 10px; font-weight: 500; }
.glass-circle {
    width: 60px; height: 60px; border-radius: 50%; background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.1); display: flex; justify-content: center; align-items: center;
    font-size: 1.5rem; font-weight: 700; color: var(--clr-green);
}
.step-connector { color: var(--clr-text-muted); font-size: 1.5rem; }

/* =========================================================================
   FOOTER E SUPORTE
   ========================================================================= */
footer { background-color: #030303; padding: 60px 0 40px; border-top: 1px solid var(--glass-border); }
.footer-grid { display: grid; grid-template-columns: 1fr 2fr 1fr; align-items: center; margin-bottom: 40px; }
.footer-left .logo img { height: 130px; width: auto; object-fit: contain; margin-bottom: 5px; }
.copyright-text { color: var(--clr-text-muted); font-size: 0.85rem; line-height: 1.4; }
.footer-links-inline { display: flex; justify-content: center; gap: 25px; }
.footer-links-inline a { color: var(--clr-text-muted); font-size: 0.85rem; }
.footer-links-inline a:hover { color: var(--clr-white); }
.social-links.inline { display: flex; justify-content: flex-end; gap: 15px; }

.social-icon {
    width: 40px; height: 40px; border-radius: 50%; background: rgba(255,255,255,0.05);
    display: flex; justify-content: center; align-items: center; font-size: 1.2rem;
    transition: var(--transition); color: var(--clr-text-muted);
}
.tiktok-hover:hover { background: #000000; color: #ffffff; transform: translateY(-3px); }
.instagram-hover:hover { background: var(--clr-green); color: #ffffff; transform: translateY(-3px); box-shadow: 0 5px 15px var(--clr-green-glow); }
.discord-hover:hover { background: var(--clr-discord); color: #ffffff; transform: translateY(-3px); box-shadow: 0 5px 15px rgba(88, 101, 242, 0.4); }

/* Bloco de Suporte Moderno/Clean/Glass */
.support-small {
    background: rgba(255, 255, 255, 0.03) !important;
    backdrop-filter: blur(15px) !important; -webkit-backdrop-filter: blur(15px) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    max-width: 350px; margin: 0 auto; padding: 30px;
    border-radius: var(--border-radius-lg);
}
.support-small h4 { font-size: 1.3rem; margin-bottom: 8px; }
.support-small p { font-size: 0.95rem; margin-bottom: 20px; }

/* Botão de suporte limpo e retangular com borda */
.btn-support {
    display: inline-flex; align-items: center; justify-content: center;
    background: rgba(255, 255, 255, 0.05);
    color: var(--clr-white);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 6px;
    padding: 10px 24px;
    font-weight: 500;
    transition: var(--transition);
}
.btn-support:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.4);
    transform: translateY(-3px);
}

/* =========================================================================
   RESPONSIVIDADE
   ========================================================================= */
@media (max-width: 992px) {
    .desktop-nav { display: none; }
    .hero-grid { grid-template-columns: 1fr; text-align: center; margin-top: 40px; }
    .hero-bg-logo { left: 50%; width: 90%; }
    .hero-subtitle { margin-left: auto; margin-right: auto; }
    .hero-buttons { justify-content: center; }
    .community-grid, .store-box, .terms-grid { grid-template-columns: 1fr; }
    .text-center-mobile { text-align: center; }
    .footer-grid { grid-template-columns: 1fr; gap: 30px; text-align: center; }
    .social-links.inline { justify-content: center; margin-top: 15px; }
    .footer-right { text-align: center; }
}
@media (max-width: 768px) {
    .hero-content h1 { font-size: 2.5rem; }
    .section { padding: 60px 0; }
    .store-box { padding: 30px; }
    .steps-container { flex-direction: column; gap: 15px; }
    .step-connector { transform: rotate(90deg); }
}

/* =========================================================================
   EFEITOS DINÂMICOS DO PAINEL (MOCKUP)
   ========================================================================= */
.panel-mockup {
    transform: none;
    box-shadow: 0 10px 40px rgba(0,0,0,0.5), 0 0 20px rgba(0, 255, 102, 0.1) !important;
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}
.panel-mockup:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 50px rgba(0,0,0,0.6), 0 0 30px rgba(0, 255, 102, 0.15) !important;
}

/* =========================================================================
   CROSSFADE IMAGEM PAINEL HOVER
   ========================================================================= */
.crossfade-wrapper { position: relative; width: 100%; overflow: hidden; }
.crossfade-wrapper img { width: 100%; height: auto; display: block; border-radius: var(--border-radius); transition: opacity 0.5s ease-in-out; }
.crossfade-wrapper .hover-img { position: absolute; top: 0; left: 0; opacity: 0; }
.panel-mockup:hover .crossfade-wrapper .hover-img { opacity: 1; }

/* =========================================================================
   ANIMATED GLOW BORDER (CAIXA LOJA)
   ========================================================================= */
@property --border-angle-anim {
    syntax: "<angle>";
    inherits: false;
    initial-value: 0turn;
}

.glow-border {
    position: relative;
    /* Suave iluminação interna */
    box-shadow: inset 0 0 30px rgba(0, 255, 102, 0.05);
}

.glow-border::after {
    content: "";
    position: absolute;
    inset: -1px; /* Cobre exatamente a borda original */
    border-radius: inherit;
    padding: 2px; /* Espessura da borda animada */
    background: conic-gradient(
        from var(--border-angle-anim),
        transparent 50%,
        rgba(0, 255, 102, 0.1) 75%,
        rgba(0, 255, 102, 0.9) 95%,
        #ffffff 100%
    );
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask-composite: exclude;
    z-index: 10;
    pointer-events: none;
    animation: glow-border-spin 3.5s linear infinite;
    /* Efeito de brilho radiante pro lado de fora */
    filter: drop-shadow(0 0 10px rgba(0, 255, 102, 0.4));
}

@keyframes glow-border-spin {
    to { --border-angle-anim: 1turn; }
}
