/* ================================================
   iV8 Enhancements CSS v1.0 — 2026-04-26
   Performance cost: ZERO (pure CSS, no deps)
   ================================================ */

/* === Card Hover Glow === */
.iv8-card {
  transition: transform 0.28s cubic-bezier(0.34, 1.4, 0.64, 1),
              box-shadow 0.28s ease,
              border-color 0.28s ease;
}
.iv8-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 48px -10px rgba(0, 242, 96, 0.18);
  border-color: rgba(0, 242, 96, 0.28) !important;
}
.iv8-card:hover .material-symbols-outlined {
  transform: scale(1.15);
  transition: transform 0.22s ease;
  color: #00f260;
}

/* === Hero Animated Radial Glow === */
@keyframes iv8GlowPulse {
  0%, 100% { opacity: 0.5; transform: scale(1); }
  50%       { opacity: 0.8; transform: scale(1.06); }
}
.iv8-hero-glow {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 60% 60% at 15% 60%, rgba(0, 242, 96, 0.07) 0%, transparent 70%),
    radial-gradient(ellipse 50% 50% at 85% 20%, rgba(0, 210, 255, 0.06) 0%, transparent 70%);
  pointer-events: none;
  animation: iv8GlowPulse 7s ease-in-out infinite;
  z-index: 1;
}

/* === Typewriter Cursor === */
@keyframes iv8Blink { 0%, 100% { opacity: 1; } 50% { opacity: 0; } }
.iv8-typewriter-cursor::after {
  content: '|';
  color: #00f260;
  margin-left: 2px;
  animation: iv8Blink 0.75s step-end infinite;
}

/* === Section Alternation === */
.iv8-section-alt { background-color: rgba(255,255,255,0.018); }

/* === Footer Top Gradient Border === */
footer {
  border-top: 1px solid transparent !important;
  border-image: linear-gradient(90deg,
    transparent 0%,
    rgba(0,242,96,0.25) 30%,
    rgba(0,210,255,0.25) 70%,
    transparent 100%) 1 !important;
}

/* === Form Field Valid State === */
.iv8-field-valid {
  border-color: rgba(0, 242, 96, 0.5) !important;
  box-shadow: 0 0 0 3px rgba(0, 242, 96, 0.08) !important;
  transition: border-color 0.2s, box-shadow 0.2s;
}

/* === Article Card Lift === */
.iv8-article-card {
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.iv8-article-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 48px -12px rgba(0, 242, 96, 0.14);
  border-color: rgba(0, 242, 96, 0.25) !important;
}

/* === Counter Animation === */
.iv8-counter { font-variant-numeric: tabular-nums; }

/* === Success Message === */
.iv8-success {
  display: none;
  background: linear-gradient(135deg, rgba(0,242,96,0.1), rgba(0,210,255,0.1));
  border: 1px solid rgba(0,242,96,0.3);
  border-radius: 1rem;
  padding: 2rem;
  text-align: center;
  animation: iv8FadeIn 0.4s ease;
}
.iv8-success.visible { display: block; }
@keyframes iv8FadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
