/* ════════════════════════════════════════════════════════════════
   CREATIVE CORE · GPU OPTIMIZE  (carregar POR ÚLTIMO)
   Reduz custo de GPU/VRAM SEM mudar o visual percebido.
   Ativado globalmente; regras cc-gpu-low / cc-gpu-tier-1 aplicam
   equivalentes mais baratos que parecem idênticos no tema escuro.
   ════════════════════════════════════════════════════════════════ */

/* ── 1. GLOW ORBS — gradiente radial pré-difundido (sem filter:blur) ── */
.glow-orb {
  filter: none !important;
  background: radial-gradient(circle,
    var(--orb-c) 0%, var(--orb-c) 26%, transparent 68%) !important;
  will-change: transform;
}
.orb-orange { --orb-c: var(--cor-secundaria, #FF3D14); }
.orb-cyan   { --orb-c: #3b82f6; }
.orb-purple { --orb-c: #8b5cf6; }
@keyframes orb-drift-a { from { transform: translate3d(-30px,-20px,0); } to { transform: translate3d(50px,40px,0); } }
@keyframes orb-drift-b { from { transform: translate3d(20px,30px,0); }  to { transform: translate3d(-40px,-30px,0); } }
@keyframes orb-drift-c { from { transform: translate3d(-20px,20px,0); } to { transform: translate3d(40px,-30px,0); } }

/* Tier baixo: orbs só transform (sem hue-rotate / scale animado) */
html.cc-gpu-low .glow-orb {
  animation-duration: 24s, 27s, 22s !important;
  opacity: .11 !important;
}

/* ── 2. HEADER — blur menor (global); tier baixo = fundo sólido translúcido ── */
body.dark-theme .nav-header {
  backdrop-filter: blur(14px) saturate(160%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(160%) !important;
}
html.cc-gpu-low body.dark-theme .nav-header {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  background: rgba(6, 9, 15, 0.94) !important;
}

/* ── 2b. FULL-SCREEN BLENDS → normal (evita recomposição por frame) ── */
.h26-crt { mix-blend-mode: normal !important; opacity: .42 !important; }
body.dark-theme .hud-canopy__nebula { mix-blend-mode: normal !important; }
body.dark-theme .hud-canopy__grid   { mix-blend-mode: normal !important; opacity: .34 !important; }

/* ── 3. will-change permanente desnecessário → liberado ── */
.nav-menu a { will-change: auto !important; }
.hero-word  { will-change: auto !important; }
.hero-title-v3,
.hero-sub-grid,
.hero-bg,
.hero-grain,
.sec-head,
.spec-header,
.hero-container-v3 { will-change: auto !important; }

/* Só promove camada durante hover ativo (main.js seta inline) */
html.cc-gpu-low .magnetic-btn,
html.cc-gpu-low .btn-nav-cta,
html.cc-gpu-low .btn-hero { will-change: auto !important; }

/* ── 4. MODO OCIOSO (cc-idle) — congela washes ambientes ── */
html.cc-idle .glow-orb,
html.cc-idle .hud-canopy__nebula,
html.cc-idle .hud-canopy__grid,
html.cc-idle .hero-grain,
html.cc-idle .h26-crt,
html.cc-idle .h26-crt::after,
html.cc-idle .h26-noise i,
html.cc-idle .h26-glitchband,
html.cc-idle .hero-bg__node,
html.cc-idle .hero-bg__scan,
html.cc-idle .hero-bg__glow,
html.cc-idle #cc-depth .ccd-neb,
html.cc-idle #cc-depth .ccd-stars i,
html.cc-idle #cc-depth .ccd-dust,
html.cc-idle #cc-depth .ccd-shape,
html.cc-idle #cc-depth-fg .ccd-fg-motes i,
html.cc-idle #cc-depth-fg .ccd-fg-glow,
html.cc-idle .cc-ship .ship-scanline,
html.cc-idle .cc-ship .ship-radar__sweep,
html.cc-idle .cc-ship .ship-radar__blip,
html.cc-idle .cc-ship .ship-status .sdot,
html.cc-idle .ascend__beam,
html.cc-idle .ascend__particles {
  animation-play-state: paused !important;
}

/* ── 5. OFF-SCREEN SECTIONS — pausa ambientes (não UI interativa) ── */
html.cc-offscreen-pause .cc-section-offscreen .glow-orb,
html.cc-offscreen-pause .cc-section-offscreen .hud-canopy__nebula,
html.cc-offscreen-pause .cc-section-offscreen .hud-canopy__grid,
html.cc-offscreen-pause .cc-section-offscreen .hero-grain,
html.cc-offscreen-pause .cc-section-offscreen .h26-crt,
html.cc-offscreen-pause .cc-section-offscreen .h26-crt::after,
html.cc-offscreen-pause .cc-section-offscreen .h26-noise i,
html.cc-offscreen-pause .cc-section-offscreen .hero-bg__node,
html.cc-offscreen-pause .cc-section-offscreen .hero-bg__scan,
html.cc-offscreen-pause .cc-section-offscreen .hero-bg__glow,
html.cc-offscreen-pause .cc-section-offscreen .ahud,
html.cc-offscreen-pause .cc-section-offscreen .cyb-tel,
html.cc-offscreen-pause .cc-section-offscreen .spec-depth__neb,
html.cc-offscreen-pause .cc-section-offscreen .spec-depth__stars i,
html.cc-offscreen-pause .cc-section-offscreen .marquee-track {
  animation-play-state: paused !important;
}

/* ── 6. DEPTH FIELD ── */
#cc-depth-fg { will-change: auto !important; }
.hero-bg__node { will-change: auto !important; }

html.cc-gpu-low #cc-depth .ccd-fg-glow {
  filter: none !important;
  opacity: .85 !important;
}
html.cc-gpu-low #cc-depth .ccd-stars i,
html.cc-gpu-low #cc-depth-fg .ccd-fg-motes i {
  box-shadow: 0 0 2px rgba(255,255,255,.5) !important;
}

/* ── 7. content-visibility + contain (below-fold) ── */
html.cc-gpu-low .stats-strip,
html.cc-gpu-low .probsol,
html.cc-gpu-low .cs2,
html.cc-gpu-low .spec,
html.cc-gpu-low .proc,
html.cc-gpu-low .faq-section,
html.cc-gpu-low .proof,
html.cc-gpu-low .signup-strip {
  content-visibility: auto;
  contain-intrinsic-size: auto 720px;
  contain: layout style paint;
}
html.cc-gpu-low .page-hero,
html.cc-gpu-low .svp-sec,
html.cc-gpu-low .ctaform.ctaform--cockpit,
html.cc-gpu-low .cases.cases--cockpit,
html.cc-gpu-low .clients-sec.clients-sec--cockpit {
  content-visibility: auto;
  contain-intrinsic-size: auto 480px;
  contain: layout style paint;
}
@media (max-width: 768px) {
  /* content-visibility no touch repinta texto ao entrar na viewport */
  html.cc-gpu-low .hero-v3,
  html.cc-gpu-low .marquee-strip,
  html.cc-gpu-low .stats-strip,
  html.cc-gpu-low .probsol,
  html.cc-gpu-low .cs2,
  html.cc-gpu-low .spec,
  html.cc-gpu-low .proc,
  html.cc-gpu-low .faq-section,
  html.cc-gpu-low .proof,
  html.cc-gpu-low .signup-strip,
  html.cc-gpu-low .page-hero,
  html.cc-gpu-low .svp-sec,
  html.cc-gpu-low .ctaform.ctaform--cockpit,
  html.cc-gpu-low .cases.cases--cockpit,
  html.cc-gpu-low .clients-sec.clients-sec--cockpit {
    content-visibility: visible !important;
    contain: none !important;
    contain-intrinsic-size: auto !important;
  }
}

html.cc-gpu-low section.reveal,
html.cc-gpu-low .cases,
html.cc-gpu-low .clients-sec {
  contain: layout style paint;
}

/* ── 8. backdrop-filter → fundo estático (tema escuro, visual idêntico) ── */
html.cc-gpu-low body.dark-theme .spec .spec-status {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  background: rgba(5, 7, 14, 0.88) !important;
}
html.cc-gpu-low body.dark-theme .spec .spec-slider .spec-card,
html.cc-gpu-low body.dark-theme .spec .spec-card--cockpit {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  background: rgba(9, 12, 24, 0.72) !important;
}

/* Modais / overlays com blur leve */
html.cc-gpu-low [class*="backdrop"],
html.cc-gpu-low .mobile-menu {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* ── 9. filter:blur em elementos grandes ── */
html.cc-gpu-low .hero-bg__glow {
  filter: none !important;
  background: radial-gradient(ellipse 80% 60% at 50% 40%,
    rgba(255, 61, 20, .12), transparent 70%) !important;
}
html.cc-gpu-low .ccd-neb {
  animation-duration: 32s !important;
}

/* ── 10. box-shadow — camadas redundantes simplificadas ── */
html.cc-gpu-low .bento-case:hover,
html.cc-gpu-low .spec-card--cockpit.is-stack-active {
  box-shadow: 6px 6px 0 var(--cor-secundaria) !important;
}

/* ── 11. MASCOT — drop-shadow → opacidade (mesmo contraste no dock escuro) ── */
html.cc-gpu-low .robo--pet-v6 .robo__body,
html.cc-gpu-low .cc-prompt-dock__mascot .robo--pet-v6 {
  filter: drop-shadow(0 calc(var(--r-px) * 1) 0 rgba(0, 0, 0, 0.55)) !important;
}
html.cc-gpu-low .robo--pet-v6 .robo__visor,
html.cc-gpu-low .robo--pet-v6 .robo__eye-glow {
  filter: none !important;
  opacity: .95 !important;
}
html.cc-gpu-low .robo--pet-v6.robo--offscreen,
html.cc-gpu-low .robo--pet-v6.robo--offscreen * {
  animation-play-state: paused !important;
}

/* ── 12. Hero vídeo pausado — tint cobre frame estático ── */
.hero-video video.cc-video-paused {
  object-fit: cover;
}
html.cc-gpu-low .hero-video video.cc-video-paused + .hero-video__tint {
  opacity: 1 !important;
}

/* ── 13. Cursor custom — oculto em GPU baixa (main.js também pula init) ── */
html.cc-gpu-low #cc-ring,
html.cc-gpu-low #cc-dot {
  display: none !important;
}
