﻿/* =========================================
   CONFIGURAÇÕES GERAIS
   ========================================= */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600;700&display=swap');

:root {
    --neon-green: #00ff88;
    --dark-bg: #0a0a0a;
    --card-bg: #111111;
}

body {
    font-family: 'Inter', sans-serif;
    background-color: #050505;
    color: white;
    overflow-x: hidden;
}

/* =========================================
   RESPONSIVIDADE MOBILE
   ========================================= */

/* Melhora o toque em dispositivos móveis */
@media (hover: none) and (pointer: coarse) {

    button,
    a {
        -webkit-tap-highlight-color: rgba(0, 255, 136, 0.2);
    }
}

/* Ajusta tamanho de texto em telas pequenas */
@media (max-width: 640px) {
    html {
        font-size: 14px;
    }
}

/* Garante que os cards fiquem bem em mobile */
.glass {
    min-height: fit-content;
}

/* Melhora o menu mobile */
#mobile-menu {
    max-height: calc(100vh - 4rem);
    overflow-y: auto;
}

/* Smooth scroll para navegação */
html {
    scroll-behavior: smooth;
}

/* =========================================
   EFEITOS VISUAIS (GLOW & NEON)
   ========================================= */

/* Efeito de brilho ambiental atrás dos elementos */
.glow-effect {
    position: absolute;
    width: 300px;
    height: 300px;
    background: radial-gradient(circle, rgba(0, 255, 136, 0.15) 0%, rgba(0, 0, 0, 0) 70%);
    border-radius: 50%;
    pointer-events: none;
    /* O clique passa através do brilho */
    z-index: -1;
}

/* Bolha de desfoque para imagens */
.blur-blob {
    position: absolute;
    inset: 0;
    background-color: var(--neon-green);
    filter: blur(100px);
    opacity: 0.2;
    border-radius: 9999px;
}

/* =========================================
   COMPONENTES
   ========================================= */

/* Cartões de Diferenciais */
.feature-card {
    transition: all 0.3s ease;
    border: 1px solid #222;
    background-color: var(--card-bg);
}

.feature-card:hover {
    transform: translateY(-5px);
    border-color: var(--neon-green);
    box-shadow: 0 10px 30px -10px rgba(0, 255, 136, 0.2);
}

/* Botão Principal com Gradiente */
.btn-primary {
    background: linear-gradient(90deg, #00cc6a 0%, #00ff88 100%);
    transition: all 0.3s ease;
    color: black;
    font-weight: bold;
}

.btn-primary:hover {
    box-shadow: 0 0 25px rgba(0, 255, 136, 0.6);
    transform: scale(1.05);
}

/* Botão Secundário (Outline) */
.btn-secondary {
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: white;
    font-weight: 600;
    transition: all 0.3s ease;
}

.btn-secondary:hover {
    border-color: var(--neon-green);
    color: var(--neon-green);
    box-shadow: 0 0 15px rgba(0, 255, 136, 0.2);
}

/* Botão Play na imagem */
.play-button {
    width: 4rem;
    height: 4rem;
    background-color: var(--neon-green);
    border-radius: 9999px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 0 20px rgba(0, 255, 136, 0.4);
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(0, 255, 136, 0.7);
    }

    70% {
        box-shadow: 0 0 0 15px rgba(0, 255, 136, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(0, 255, 136, 0);
    }
}

/* Glitch Title Effect */
.glitch-title {
    position: relative;
    display: inline-block;
}

.glitch-title::before,
.glitch-title::after {
    content: attr(data-text);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0.8;
}

.glitch-title::before {
    left: 2px;
    text-shadow: -2px 0 red;
    clip: rect(24px, 550px, 90px, 0);
    animation: glitch-anim-2 3s infinite linear alternate-reverse;
}

.glitch-title::after {
    left: -2px;
    text-shadow: -2px 0 blue;
    clip: rect(85px, 550px, 140px, 0);
    animation: glitch-anim 2.5s infinite linear alternate-reverse;
}

@keyframes glitch-anim {
    0% {
        clip: rect(10px, 9999px, 83px, 0);
    }

    20% {
        clip: rect(62px, 9999px, 20px, 0);
    }

    40% {
        clip: rect(84px, 9999px, 15px, 0);
    }

    60% {
        clip: rect(32px, 9999px, 45px, 0);
    }

    80% {
        clip: rect(12px, 9999px, 90px, 0);
    }

    100% {
        clip: rect(44px, 9999px, 10px, 0);
    }
}

@keyframes glitch-anim-2 {
    0% {
        clip: rect(65px, 9999px, 100px, 0);
    }

    20% {
        clip: rect(20px, 9999px, 5px, 0);
    }

    40% {
        clip: rect(40px, 9999px, 25px, 0);
    }

    60% {
        clip: rect(80px, 9999px, 75px, 0);
    }

    80% {
        clip: rect(10px, 9999px, 45px, 0);
    }

    100% {
        clip: rect(55px, 9999px, 80px, 0);
    }
}

@keyframes textShimmer {
    0% {
        background-position: -200% 50%;
    }

    100% {
        background-position: 200% 50%;
    }
}

.animate-text-shimmer {
    background: linear-gradient(90deg, #00ff88 0%, #ffffff 50%, #00ff88 100%);
    background-size: 200% auto;
    color: transparent;
    -webkit-background-clip: text;
    background-clip: text;
    animation: textShimmer 4s linear infinite;
}

/* Detalhe de Mira (Crosshair) para cantos */
.crosshair-corners {
    position: relative;
}

.crosshair-corners::before,
.crosshair-corners::after {
    content: '';
    position: absolute;
    width: 15px;
    height: 15px;
    border: 1px solid var(--neon-green);
    pointer-events: none;
}

.crosshair-corners::before {
    top: -5px;
    left: -5px;
    border-right: none;
    border-bottom: none;
}

.crosshair-corners::after {
    bottom: -5px;
    right: -5px;
    border-left: none;
    border-top: none;
}

html.no-copy,
html.no-copy body,
html.no-copy body * {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
}

html.no-copy img,
html.no-copy svg,
html.no-copy canvas,
html.no-copy video {
    -webkit-user-drag: none;
    user-drag: none;
}

html.no-copy input,
html.no-copy textarea,
html.no-copy select,
html.no-copy [contenteditable="true"] {
    -webkit-user-select: text;
    -moz-user-select: text;
    -ms-user-select: text;
    user-select: text;
}

