/* --- css/global.css --- */
:root {
  --neon-blue: #00f2ff;
  --bg-dark: #06090f;
  --panel-bg: rgba(22, 27, 34, 0.98);
  --card-bg: #161b22;
  --danger: #ff4444;
  --sidebar-width: 290px;
}

body { background-color: var(--bg-dark); color: white; font-family: 'Roboto', sans-serif; margin: 0; overflow-x: hidden; display: flex; flex-direction: column; align-items: center; min-height: 100vh; }

/* --- BARRA DE STATUS --- */
.user-status-bar { position: fixed; top: 0; left: 0; width: 100%; height: 35px; background: linear-gradient(90deg, var(--bg-dark), var(--card-bg)); border-bottom: 1px solid var(--neon-blue); z-index: 1001; display: flex; align-items: center; justify-content: flex-end; padding: 0 20px; box-sizing: border-box; }
.user-tag { font-family: 'Orbitron', sans-serif; font-size: 0.65rem; color: var(--neon-blue); text-transform: uppercase; letter-spacing: 1px; display: flex; align-items: center; gap: 8px; text-shadow: 0 0 5px var(--neon-blue); }

/* --- SIDEBAR FLUIDA --- */
.sidebar { height: 100%; width: var(--sidebar-width); position: fixed; top: 0; left: 0; z-index: 1005; background: var(--panel-bg); border-right: 1px solid var(--neon-blue); box-shadow: 5px 0 20px rgba(0, 0, 0, 0.8); padding-top: 60px; transform: translateX(-100%); transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1); }
.sidebar.active { transform: translateX(0); }
.sidebar-user-info { padding: 20px 25px; border-bottom: 2px solid var(--neon-blue); margin-bottom: 10px; background: rgba(0, 242, 255, 0.05); }
.sidebar a { padding: 12px 25px; display: flex; align-items: center; gap: 12px; font: 0.75rem 'Orbitron', sans-serif; color: var(--neon-blue); text-decoration: none; text-transform: uppercase; letter-spacing: 1px; border-bottom: 1px solid rgba(0, 242, 255, 0.05); transition: 0.3s; text-shadow: 0 0 5px var(--neon-blue); }
.sidebar a i { font-size: 18px; width: 20px; text-align: center; }
.sidebar a:hover { background: rgba(0, 242, 255, 0.1); padding-left: 32px; color: #fff; }
.sidebar .close-btn { position: absolute; top: 15px; right: 20px; font-size: 28px; cursor: pointer; color: var(--neon-blue); }
.sidebar .nav-auth, .sidebar .logout-item { color: var(--danger); text-shadow: 0 0 5px var(--danger); }
.sidebar .logout-item { border-bottom: none; }

/* --- INTERFACE --- */
.menu-btn { position: fixed; top: 50px; left: 20px; z-index: 1001; font-size: 32px; cursor: pointer; color: var(--neon-blue); text-shadow: 0 0 10px var(--neon-blue); transition: 0.3s; }
.menu-btn:hover { transform: scale(1.1); }
.overlay { display: none; position: fixed; inset: 0; z-index: 1004; background: rgba(0,0,0,0.7); backdrop-filter: blur(3px); }

/* --- HERO SECTION (Específico do Index) --- */
.hero-section { text-align: center; padding: 120px 20px 40px; max-width: 1000px; width: 100%; box-sizing: border-box; display: flex; flex-direction: column; align-items: center; }
.main-logo { width: 100%; max-width: 450px; filter: drop-shadow(0 0 15px var(--neon-blue)); margin-bottom: 30px; }
h1 { font-family: 'Orbitron', sans-serif; font-weight: 700; font-size: clamp(1.1rem, 5vw, 1.8rem); color: var(--neon-blue); text-transform: uppercase; letter-spacing: 2px; margin-bottom: 50px; text-shadow: 0 0 10px var(--neon-blue); line-height: 1.4; }
.secondary-logos { display: flex; justify-content: center; align-items: center; gap: clamp(20px, 5vw, 50px); flex-wrap: wrap; margin-top: 20px; }
.secondary-logos img { height: clamp(50px, 12vw, 80px); opacity: 0.8; transition: 0.3s; }
.secondary-logos img:hover { opacity: 1; transform: scale(1.1); filter: drop-shadow(0 0 10px var(--neon-blue)); }

/* --- VISIT COUNTER --- */
.visit-counter { margin-top: 40px; padding: 8px 15px; border: 1px solid var(--neon-blue); border-radius: 4px; background: rgba(0, 242, 255, 0.05); display: inline-flex; align-items: center; gap: 10px; font-family: 'Orbitron', sans-serif; font-size: 0.75rem; color: var(--neon-blue); text-shadow: 0 0 5px var(--neon-blue); }

/* --- FOOTER SOCIAL --- */
.footer-social { position: fixed; bottom: 25px; right: 30px; display: flex; gap: 25px; z-index: 10; }
.footer-social a { color: var(--neon-blue); font-size: clamp(30px, 7vw, 40px); transition: 0.3s; opacity: 0.7; filter: drop-shadow(0 0 5px rgba(0, 242, 255, 0.4)); }
.footer-social a:hover { opacity: 1; transform: translateY(-5px); filter: drop-shadow(0 0 15px var(--neon-blue)); }

/* --- RESPONSIVIDADE --- */
@media (max-width: 600px) {
  .hero-section { padding-top: 140px; }
  .footer-social { position: relative; bottom: auto; right: auto; margin: 50px 0 30px 0; width: 100%; justify-content: center; gap: 40px; }
}