/*
Theme Name: Core Bridge Solutions
Theme URI: https://intelliversetechllc.com
Author: IntelliVerse Tech LLC
Author URI: https://intelliversetechllc.com
Description: Official website for IntelliVerse Tech LLC — Play. Imagine. Evolve.
Version: 1.0.0
Requires at least: 5.8
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: core-bridge-solutions
*/

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');

:root {
  --background: #07071a;
  --foreground: #f0f0ff;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html, body { height: 100%; }

body {
  background: var(--background);
  color: var(--foreground);
  font-family: 'Inter', Arial, Helvetica, sans-serif;
  min-height: 100%;
  overflow-x: hidden;
}

/* ── Keyframe Animations ── */

@keyframes float {
  0%, 100% { transform: translateY(0px) rotate(0deg); }
  33%       { transform: translateY(-18px) rotate(1deg); }
  66%       { transform: translateY(-8px) rotate(-1deg); }
}
@keyframes float-slow {
  0%, 100% { transform: translateY(0px); }
  50%       { transform: translateY(-28px); }
}
@keyframes orb-drift {
  0%, 100% { transform: translate(0,0) scale(1); opacity: 0.5; }
  33%       { transform: translate(40px,-30px) scale(1.1); opacity: 0.7; }
  66%       { transform: translate(-20px,20px) scale(0.95); opacity: 0.4; }
}
@keyframes glow-pulse {
  0%, 100% { opacity: 0.35; transform: scale(1); }
  50%       { opacity: 0.65; transform: scale(1.08); }
}
@keyframes fade-up {
  from { opacity: 0; transform: translateY(36px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes fade-in {
  from { opacity: 0; }
  to   { opacity: 1; }
}
@keyframes shimmer {
  0%   { background-position: -200% center; }
  100% { background-position: 200% center; }
}
@keyframes spin-slow {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}
@keyframes gradient-border {
  0%, 100% { background-position: 0% 50%; }
  50%       { background-position: 100% 50%; }
}
@keyframes bounce-dot {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-6px); }
}

/* ── Animation Utilities ── */

.animate-float        { animation: float 6s ease-in-out infinite; }
.animate-float-slow   { animation: float-slow 8s ease-in-out infinite; }
.animate-orb          { animation: orb-drift 10s ease-in-out infinite; }
.animate-glow-pulse   { animation: glow-pulse 3s ease-in-out infinite; }
.animate-fade-up      { animation: fade-up 0.7s ease-out both; }
.animate-fade-in      { animation: fade-in 0.6s ease-out both; }
.animate-spin-slow    { animation: spin-slow 20s linear infinite; }

.delay-100  { animation-delay: 0.1s; }
.delay-200  { animation-delay: 0.2s; }
.delay-300  { animation-delay: 0.3s; }
.delay-400  { animation-delay: 0.4s; }
.delay-500  { animation-delay: 0.5s; }
.delay-600  { animation-delay: 0.6s; }
.delay-2s   { animation-delay: 2s; }
.delay-4s   { animation-delay: 4s; }

/* ── Shimmer button ── */

.btn-shimmer {
  background: linear-gradient(120deg, #7c3aed 0%, #a855f7 40%, #c084fc 50%, #a855f7 60%, #7c3aed 100%);
  background-size: 200% auto;
  animation: shimmer 3s linear infinite;
  display: inline-flex;
  align-items: center;
}

/* ── Gradient border wrapper ── */

.gradient-border-wrapper {
  background: linear-gradient(135deg, #06b6d4, #8b5cf6, #ec4899, #06b6d4);
  background-size: 300% 300%;
  animation: gradient-border 4s ease infinite;
  padding: 2px;
  border-radius: 18px;
}

/* ── Glass card ── */

.glass {
  background: rgba(255,255,255,0.04);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,0.08);
}

/* ── Scroll-reveal ── */

[data-reveal] {
  opacity: 0;
  transform: translateY(32px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
[data-reveal][data-dir="left"]  { transform: translateX(-32px); }
[data-reveal][data-dir="right"] { transform: translateX(32px); }
[data-reveal].iv-visible { opacity: 1 !important; transform: translate(0,0) !important; }

[data-delay="1"] { transition-delay: 0.1s; }
[data-delay="2"] { transition-delay: 0.2s; }
[data-delay="3"] { transition-delay: 0.3s; }
[data-delay="4"] { transition-delay: 0.4s; }
[data-delay="5"] { transition-delay: 0.5s; }
[data-delay="6"] { transition-delay: 0.6s; }

/* ── Misc ── */

.duration-400 { transition-duration: 400ms; }

::-webkit-scrollbar       { width: 6px; }
::-webkit-scrollbar-track { background: #07071a; }
::-webkit-scrollbar-thumb { background: #4c1d95; border-radius: 3px; }
