/*
Theme Name: Nova IA
Theme URI: https://axus.dev
Author: Nova IA
Author URI: https://axus.dev
Description: Tema dark futurista com glassmorphism, gradientes neon e seções editáveis via Customizer. Inspirado em landing pages premium de IA.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: nova-ia
Tags: dark, one-page, custom-colors, custom-logo, custom-menu, featured-images, threaded-comments
*/

/* ============================================
   Nova IA — Design System
   Dark futurista, glassmorphism, gradientes roxo neon + magenta
   ============================================ */

:root {
  --background: 240 24% 4%;
  --foreground: 240 10% 96%;
  --card: 240 20% 7%;
  --card-foreground: 240 10% 96%;
  --primary: 271 91% 65%;
  --primary-foreground: 240 10% 98%;
  --primary-glow: 285 95% 72%;
  --secondary: 240 15% 12%;
  --secondary-foreground: 240 10% 96%;
  --muted: 240 12% 14%;
  --muted-foreground: 240 6% 65%;
  --accent: 322 84% 60%;
  --accent-foreground: 240 10% 98%;
  --border: 240 15% 18%;
  --ring: 271 91% 65%;
  --radius: 1rem;

  --gradient-primary: linear-gradient(135deg, hsl(271 91% 65%), hsl(322 84% 60%));
  --gradient-vivid: linear-gradient(135deg, hsl(252 95% 68%), hsl(271 91% 65%) 45%, hsl(322 84% 60%));
  --gradient-text: linear-gradient(110deg, hsl(252 95% 78%), hsl(271 91% 70%) 35%, hsl(322 84% 68%) 70%, hsl(252 95% 78%));

  --glow-primary: 0 0 60px -15px hsl(271 91% 65% / 0.6);
  --glow-soft: 0 10px 40px -10px hsl(271 91% 65% / 0.35);
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  background-color: hsl(var(--background));
  color: hsl(var(--foreground));
  font-family: 'Inter', ui-sans-serif, system-ui, -apple-system, sans-serif;
  -webkit-font-smoothing: antialiased;
  background-image:
    radial-gradient(ellipse 80% 50% at 50% -10%, hsl(271 91% 65% / 0.18), transparent 60%),
    radial-gradient(ellipse 60% 40% at 90% 20%, hsl(322 84% 60% / 0.12), transparent 60%);
  background-attachment: fixed;
}

::selection { background: hsl(271 91% 65% / 0.35); color: hsl(240 10% 98%); }

a { color: inherit; text-decoration: none; }
img, svg, video, iframe { display: block; max-width: 100%; }
button { font: inherit; cursor: pointer; }

/* Utilities replicating Tailwind tokens */
.text-gradient {
  background-image: var(--gradient-text);
  background-size: 200% auto;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  animation: gradient-shift 6s linear infinite;
}

.bg-gradient-vivid { background-image: var(--gradient-vivid); }
.bg-gradient-primary { background-image: var(--gradient-primary); }

.glass {
  background: hsl(240 20% 8% / 0.55);
  backdrop-filter: blur(18px) saturate(140%);
  -webkit-backdrop-filter: blur(18px) saturate(140%);
  border: 1px solid hsl(0 0% 100% / 0.08);
}

.glass-strong {
  background: hsl(240 20% 6% / 0.75);
  backdrop-filter: blur(24px) saturate(160%);
  -webkit-backdrop-filter: blur(24px) saturate(160%);
  border: 1px solid hsl(0 0% 100% / 0.1);
}

.glow-primary { box-shadow: var(--glow-primary); }
.glow-soft { box-shadow: var(--glow-soft); }

.gradient-border { position: relative; isolation: isolate; }
.gradient-border::before {
  content: '';
  position: absolute;
  inset: 0;
  padding: 1px;
  border-radius: inherit;
  background: var(--gradient-vivid);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  opacity: 0.35;
  transition: opacity 0.4s ease;
  pointer-events: none;
}
.gradient-border:hover::before { opacity: 1; }

.bg-grid {
  background-image:
    linear-gradient(hsl(0 0% 100% / 0.04) 1px, transparent 1px),
    linear-gradient(90deg, hsl(0 0% 100% / 0.04) 1px, transparent 1px);
  background-size: 56px 56px;
  -webkit-mask-image: radial-gradient(ellipse 70% 60% at 50% 30%, #000 30%, transparent 80%);
          mask-image: radial-gradient(ellipse 70% 60% at 50% 30%, #000 30%, transparent 80%);
}

.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1), transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}
.reveal.is-visible { opacity: 1; transform: translateY(0); }

@keyframes gradient-shift {
  0% { background-position: 0% center; }
  100% { background-position: 200% center; }
}
@keyframes float-slow {
  0%, 100% { transform: translate(0, 0) scale(1); }
  50% { transform: translate(20px, -30px) scale(1.05); }
}
@keyframes fade-in {
  0% { opacity: 0; transform: translateY(16px); }
  100% { opacity: 1; transform: translateY(0); }
}
@keyframes slide-up {
  0% { opacity: 0; transform: translateY(40px); }
  100% { opacity: 1; transform: translateY(0); }
}
.animate-float-slow { animation: float-slow 14s ease-in-out infinite; }
.animate-fade-in { animation: fade-in 0.6s cubic-bezier(0.22,1,0.36,1) both; }
.animate-slide-up { animation: slide-up 0.8s cubic-bezier(0.22,1,0.36,1) both; }

/* WordPress core required */
.alignleft { float: left; margin-right: 1.5em; }
.alignright { float: right; margin-left: 1.5em; }
.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.screen-reader-text {
  border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
  height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; word-wrap: normal !important;
}
.sticky, .gallery-caption, .bypostauthor, .wp-caption, .wp-caption-text { display: block; }
