/* ===== SCROLLBAR ===== */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #0F172A; }
::-webkit-scrollbar-thumb { background: #2563EB; border-radius: 4px; }

/* ===== HEADER (transparente no topo, escuro ao rolar) ===== */
#header.header-scrolled {
  background: rgba(2, 6, 23, 0.9);
  backdrop-filter: blur(16px);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.3);
}

/* ===== HERO ===== */
.hero-gradient {
  background: linear-gradient(135deg, #020617 0%, #0F172A 50%, #1E293B 100%);
}
.hero-glow {
  position: absolute;
  width: 500px;
  height: 500px;
  border-radius: 9999px;
  filter: blur(120px);
  opacity: 0.15;
  pointer-events: none;
}
.hero-glow-1 { top: -100px; right: -100px; background: #2563EB; }
.hero-glow-2 { bottom: -100px; left: -100px; background: #06B6D4; }

/* ===== FLOAT ===== */
@keyframes float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-20px); }
}
@keyframes float-delay {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-15px); }
}
.float-animation { animation: float 6s ease-in-out infinite; }
.float-animation-delay { animation: float-delay 5s ease-in-out infinite 1s; }

/* ===== PULSE GLOW (CTA) ===== */
@keyframes pulse-glow {
  0%, 100% { box-shadow: 0 0 0 0 rgba(37, 99, 235, 0.4); }
  50% { box-shadow: 0 0 0 15px rgba(37, 99, 235, 0); }
}
.pulse-glow { animation: pulse-glow 2.2s infinite; }

/* ===== SERVICE CARD HOVER ===== */
.service-card { transition: all 0.4s ease; }
.service-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 25px 50px rgba(37, 99, 235, 0.15);
}
.service-card:hover .service-icon {
  background: linear-gradient(135deg, #2563EB, #06B6D4);
  color: white;
}

/* ===== COUNTER SHIMMER ===== */
.counter-box { position: relative; overflow: hidden; }
.counter-box::before {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: linear-gradient(45deg, transparent, rgba(37, 99, 235, 0.06), transparent);
  animation: shimmer 3s infinite;
}
@keyframes shimmer {
  0% { transform: translateX(-100%) rotate(45deg); }
  100% { transform: translateX(100%) rotate(45deg); }
}

/* ===== IMAGE PLACEHOLDER ===== */
.img-placeholder {
  border: 2px dashed rgba(255, 255, 255, 0.15);
  background: #0F172A;
  color: #94A3B8;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 14px;
  padding: 24px;
}

/* ===== FORM STATUS ===== */
.form-error { color: #F87171; }
.form-status[data-tipo="erro"] { color: #F87171; }
.form-status[data-tipo="sucesso"] { color: #06B6D4; }
