/* FREDDY THE TRADER - Luxury Fintech & Trading Academy Styles */
@import url('https://fonts.googleapis.com/css2?family=Cabinet+Grotesk:wght@400;500;700;800;900&family=Caveat:wght@600;700&family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600;700&display=swap');

:root {
  --bg-primary: #030806;
  --bg-secondary: #07120E;
  --bg-card: #0A1712;
  --bg-card-hover: #0E2019;
  --border-neon: rgba(50, 255, 140, 0.22);
  --border-neon-bright: rgba(57, 255, 136, 0.6);
  --accent-neon: #39FF88;
  --accent-bright: #72FFAA;
  --accent-gold: #F5B041;
  --text-main: #FFFFFF;
  --text-muted: #9BAAA2;
  --glow-shadow: 0 0 25px rgba(57, 255, 136, 0.25);
  --glow-shadow-lg: 0 0 50px rgba(57, 255, 136, 0.4);
}

* {
  box-sizing: border-box;
  scroll-behavior: smooth;
}

body {
  background-color: var(--bg-primary);
  color: var(--text-main);
  font-family: 'Century Gothic', CenturyGothic, AppleGothic, sans-serif;
  overflow-x: hidden;
}

::selection {
  background: var(--accent-neon);
  color: #030806;
}

/* Custom Typography */
.font-display {
  font-family: 'Cabinet Grotesk', sans-serif;
  letter-spacing: -0.02em;
}

.font-script {
  font-family: 'Caveat', cursive;
}

.font-mono-num {
  font-family: 'JetBrains Mono', monospace;
}

/* White Header & Top Bar Styling (Century Gothic Luxury Sidebar Pattern) */
.top-header-bar {
  background: #061711;
  border-bottom: 1px solid rgba(57, 255, 136, 0.15);
  color: #9BAAA2;
  font-family: 'Century Gothic', CenturyGothic, AppleGothic, 'URW Gothic L', 'Avant Garde', 'Montserrat', sans-serif !important;
}

header#main-header,
.white-header,
.white-header *,
.nav-pill-item,
.header-action-btn,
.header-enroll-btn {
  font-family: 'Century Gothic', CenturyGothic, AppleGothic, 'URW Gothic L', 'Avant Garde', 'Montserrat', sans-serif !important;
}

.white-header {
  background: rgba(255, 255, 255, 0.96) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  border-bottom: 1px solid #E2E8F0 !important;
  box-shadow: 0 4px 20px -2px rgba(15, 23, 42, 0.05) !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.white-header.header-scrolled {
  background: rgba(255, 255, 255, 0.98) !important;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08) !important;
  padding-top: 0.55rem !important;
  padding-bottom: 0.55rem !important;
}

#mobile-menu-btn {
  background: #0F172A !important;
  border: 1px solid rgba(57, 255, 136, 0.4) !important;
  color: #39FF88 !important;
  border-radius: 12px !important;
  box-shadow: 0 0 12px rgba(57, 255, 136, 0.2) !important;
  cursor: pointer !important;
}

#mobile-menu-btn svg {
  stroke: #39FF88 !important;
}

#mobile-menu-btn:hover,
#mobile-menu-btn:active {
  background: #030806 !important;
  border-color: #39FF88 !important;
  box-shadow: 0 0 18px rgba(57, 255, 136, 0.4) !important;
}

/* Bulletproof Mobile Navigation Drawer */
#mobile-drawer {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  z-index: 99999 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  display: block !important;
  transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

#mobile-drawer.is-open {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  display: block !important;
}

@media (min-width: 1024px) {
  #mobile-drawer,
  #mobile-drawer.is-open {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
}

#mobile-drawer #close-mobile-drawer {
  position: absolute !important;
  inset: 0 !important;
  background: rgba(0, 0, 0, 0.85) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  cursor: pointer !important;
}

#mobile-drawer #drawer-panel {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  max-width: 360px !important;
  margin-left: auto !important;
  background: #030806 !important;
  box-shadow: -15px 0 50px rgba(0, 0, 0, 0.8) !important;
  transform: translateX(100%) !important;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  overflow-y: auto !important;
  z-index: 50 !important;
}

#mobile-drawer.is-open #drawer-panel {
  transform: translateX(0) !important;
}

/* Dark Luxury Footer Styling */
.dark-luxury-footer {
  background: #030806 !important;
  color: #9BAAA2 !important;
  border-top: 1px solid rgba(57, 255, 136, 0.2) !important;
}

.dark-luxury-footer a {
  color: #9BAAA2;
  transition: all 0.2s ease;
}

.dark-luxury-footer a:hover {
  color: #39FF88 !important;
  text-shadow: 0 0 10px rgba(57, 255, 136, 0.4);
}

/* Custom Glassmorphism */
.glass-panel {
  background: rgba(10, 23, 18, 0.75);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid var(--border-neon);
}

.glass-panel-subtle {
  background: rgba(7, 18, 14, 0.55);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(50, 255, 140, 0.15);
}

.glass-panel-card {
  background: linear-gradient(135deg, rgba(13, 31, 24, 0.75) 0%, rgba(6, 17, 13, 0.85) 100%);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid var(--border-neon);
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.glass-panel-card:hover {
  border-color: var(--border-neon-bright);
  transform: translateY(-4px);
  box-shadow: 0 12px 30px -10px rgba(57, 255, 136, 0.2);
}

/* Light Card Styling for specific modules */
.light-glass-card {
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(12px);
  border: 1px solid #E5E7EB;
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05);
}

/* Neon glow utilities */
.text-glow {
  text-shadow: 0 0 18px rgba(57, 255, 136, 0.6), 0 0 40px rgba(57, 255, 136, 0.3);
}

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

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

/* Live Market Ticker */
.ticker-wrap {
  width: 100%;
  overflow: hidden;
  white-space: nowrap;
  position: relative;
}

.ticker-track {
  display: inline-flex;
  animation: tickerAnimation 35s linear infinite;
}

.ticker-wrap:hover .ticker-track {
  animation-play-state: paused;
}

@keyframes tickerAnimation {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

/* ==================== ANIMATED SLIDER BACKGROUND UTILITIES ==================== */
.animated-orb-1 {
  position: absolute;
  top: -15%;
  left: 15%;
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, rgba(57, 255, 136, 0.18) 0%, rgba(3, 8, 6, 0) 70%);
  filter: blur(85px);
  animation: orbFloat1 12s ease-in-out infinite alternate;
  pointer-events: none;
  z-index: 1;
}

.animated-orb-2 {
  position: absolute;
  bottom: 0%;
  right: 10%;
  width: 650px;
  height: 650px;
  background: radial-gradient(circle, rgba(114, 255, 170, 0.14) 0%, rgba(3, 8, 6, 0) 70%);
  filter: blur(95px);
  animation: orbFloat2 15s ease-in-out infinite alternate;
  pointer-events: none;
  z-index: 1;
}

.animated-orb-3 {
  position: absolute;
  top: 35%;
  left: 55%;
  width: 450px;
  height: 450px;
  background: radial-gradient(circle, rgba(57, 255, 136, 0.13) 0%, rgba(3, 8, 6, 0) 70%);
  filter: blur(75px);
  animation: orbFloat3 18s ease-in-out infinite alternate;
  pointer-events: none;
  z-index: 1;
}

@keyframes orbFloat1 {
  0% { transform: translate(0, 0) scale(1); }
  50% { transform: translate(90px, 45px) scale(1.18); }
  100% { transform: translate(-60px, 85px) scale(0.92); }
}

@keyframes orbFloat2 {
  0% { transform: translate(0, 0) scale(1); }
  50% { transform: translate(-100px, -70px) scale(1.22); }
  100% { transform: translate(50px, -35px) scale(0.9); }
}

@keyframes orbFloat3 {
  0% { transform: translate(0, 0) scale(1); }
  100% { transform: translate(-110px, 70px) scale(1.25); }
}

.hero-cyber-grid {
  background-image: 
    linear-gradient(to right, rgba(57, 255, 136, 0.05) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(57, 255, 136, 0.05) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: radial-gradient(ellipse at center, black 40%, transparent 80%);
  -webkit-mask-image: radial-gradient(ellipse at center, black 40%, transparent 80%);
  animation: gridPulse 8s ease-in-out infinite alternate;
}

@keyframes gridPulse {
  0% { opacity: 0.2; transform: scale(1); }
  50% { opacity: 0.45; transform: scale(1.02); }
  100% { opacity: 0.25; transform: scale(1); }
}

/* Dynamic scanning laser beam */
.hero-scan-beam {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent 0%, rgba(57, 255, 136, 0.9) 50%, transparent 100%);
  box-shadow: 0 0 20px rgba(57, 255, 136, 0.8), 0 0 40px rgba(57, 255, 136, 0.4);
  animation: scanLine 6s cubic-bezier(0.4, 0, 0.2, 1) infinite;
  pointer-events: none;
  z-index: 2;
}

@keyframes scanLine {
  0% { top: 0%; opacity: 0; }
  15% { opacity: 0.9; }
  85% { opacity: 0.9; }
  100% { top: 100%; opacity: 0; }
}

/* Ambient Glow Utilities */
.ambient-glow-top {
  position: absolute;
  top: -120px;
  left: 50%;
  transform: translateX(-50%);
  width: 700px;
  height: 350px;
  background: radial-gradient(circle, rgba(57, 255, 136, 0.15) 0%, rgba(3, 8, 6, 0) 70%);
  filter: blur(60px);
  pointer-events: none;
  z-index: 1;
}

.ambient-glow-left {
  position: absolute;
  top: 20%;
  left: -150px;
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(57, 255, 136, 0.1) 0%, rgba(3, 8, 6, 0) 70%);
  filter: blur(80px);
  pointer-events: none;
  z-index: 1;
}

.ambient-glow-right {
  position: absolute;
  bottom: 10%;
  right: -150px;
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(114, 255, 170, 0.08) 0%, rgba(3, 8, 6, 0) 70%);
  filter: blur(80px);
  pointer-events: none;
  z-index: 1;
}

/* Hero Slider Animations & Full Width Transitions */
.hero-slide {
  opacity: 0;
  visibility: hidden;
  position: absolute;
  inset: 0;
  width: 100%;
  transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.8s cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: none;
  display: flex;
  align-items: center;
}

.hero-slide.active {
  opacity: 1;
  visibility: visible;
  position: relative;
  pointer-events: auto;
}

/* Staggered text entry animations on active slide */
.hero-slide.active .slide-content-col > *:nth-child(1) {
  animation: heroSlideFadeUp 0.6s cubic-bezier(0.16, 1, 0.3, 1) 0.1s both;
}
.hero-slide.active .slide-content-col > *:nth-child(2) {
  animation: heroSlideFadeUp 0.6s cubic-bezier(0.16, 1, 0.3, 1) 0.2s both;
}
.hero-slide.active .slide-content-col > *:nth-child(3) {
  animation: heroSlideFadeUp 0.6s cubic-bezier(0.16, 1, 0.3, 1) 0.3s both;
}
.hero-slide.active .slide-content-col > *:nth-child(4) {
  animation: heroSlideFadeUp 0.6s cubic-bezier(0.16, 1, 0.3, 1) 0.4s both;
}
.hero-slide.active .slide-content-col > *:nth-child(5) {
  animation: heroSlideFadeUp 0.6s cubic-bezier(0.16, 1, 0.3, 1) 0.5s both;
}
.hero-slide.active .slide-content-col > *:nth-child(6) {
  animation: heroSlideFadeUp 0.6s cubic-bezier(0.16, 1, 0.3, 1) 0.6s both;
}
.hero-slide.active .slide-content-col > *:nth-child(7) {
  animation: heroSlideFadeUp 0.6s cubic-bezier(0.16, 1, 0.3, 1) 0.7s both;
}

.hero-slide.active .slide-visual-col {
  animation: heroSlideFadeScale 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.25s both;
}

@keyframes heroSlideFadeUp {
  0% {
    opacity: 0;
    transform: translateY(24px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes heroSlideFadeScale {
  0% {
    opacity: 0;
    transform: scale(0.94) translateY(16px);
  }
  100% {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

.hero-slide-img {
  transform: scale(1.05);
  transition: transform 7s cubic-bezier(0.25, 1, 0.5, 1);
}

.hero-slide.active .hero-slide-img {
  transform: scale(1);
}

/* Floating animation */
@keyframes floatSlow {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-8px);
  }
}

.animate-float-slow {
  animation: floatSlow 4.5s ease-in-out infinite;
}

/* Pulse Glow Animation */
@keyframes pulseGlow {
  0%, 100% {
    box-shadow: 0 0 10px rgba(57, 255, 136, 0.4), 0 0 20px rgba(57, 255, 136, 0.2);
  }
  50% {
    box-shadow: 0 0 20px rgba(57, 255, 136, 0.8), 0 0 35px rgba(57, 255, 136, 0.4);
  }
}

.animate-pulse-glow {
  animation: pulseGlow 2.5s infinite;
}

/* Slider Segmented Tabs & Progress Bar */
.slider-tab-btn {
  background: rgba(10, 23, 18, 0.6);
  border: 1px solid rgba(57, 255, 136, 0.15);
  transition: all 0.3s ease;
  cursor: pointer;
}

.slider-tab-btn:hover {
  background: rgba(14, 32, 25, 0.9);
  border-color: rgba(57, 255, 136, 0.4);
}

.slider-tab-btn.active {
  background: rgba(14, 35, 27, 0.95) !important;
  border-color: #39FF88 !important;
  box-shadow: 0 0 20px rgba(57, 255, 136, 0.25);
}

.tab-progress-bar {
  position: absolute;
  bottom: 0;
  left: 0;
  height: 2.5px;
  width: 0%;
  background: linear-gradient(90deg, #39FF88, #72FFAA);
  transition: width 0.1s linear;
  box-shadow: 0 0 8px rgba(57, 255, 136, 0.8);
}

.slider-tab-btn.active .tab-progress-bar {
  /* Dynamic width driven by JS */
}

.glass-stat-card {
  transition: all 0.3s ease;
}

.glass-stat-card:hover {
  border-color: rgba(57, 255, 136, 0.5);
  transform: translateY(-2px);
  box-shadow: 0 8px 20px -5px rgba(57, 255, 136, 0.2);
}

/* Button shine effect */
.btn-shine {
  position: relative;
  overflow: hidden;
}

.btn-shine::after {
  content: '';
  position: absolute;
  top: -50%;
  left: -60%;
  width: 40%;
  height: 200%;
  background: linear-gradient(
    60deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.35) 50%,
    rgba(255, 255, 255, 0) 100%
  );
  transform: rotate(25deg);
  transition: all 0.6s ease;
}

.btn-shine:hover::after {
  left: 130%;
}

/* Course Tab Filters */
.course-filter-btn.active {
  background-color: #39FF88 !important;
  color: #030806 !important;
  font-weight: 700;
  box-shadow: 0 0 15px rgba(57, 255, 136, 0.4);
}

/* Ultra-Stylish Luxury Course Card Styling */
.course-card {
  background: linear-gradient(180deg, rgba(13, 34, 25, 0.9) 0%, rgba(7, 20, 15, 0.96) 100%);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(57, 255, 136, 0.22);
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  position: relative;
  border-radius: 1.5rem;
}

.course-card::before {
  content: '';
  position: absolute;
  inset: -1px;
  border-radius: 1.5rem;
  padding: 1px;
  background: linear-gradient(135deg, rgba(57, 255, 136, 0.6), transparent 50%, rgba(114, 255, 170, 0.4));
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
  opacity: 0.35;
  transition: opacity 0.4s ease;
}

.course-card:hover {
  border-color: rgba(57, 255, 136, 0.65);
  transform: translateY(-8px);
  box-shadow: 0 20px 45px -10px rgba(0, 0, 0, 0.7), 0 0 30px rgba(57, 255, 136, 0.2);
}

.course-card:hover::before {
  opacity: 1;
}

.course-card-img-wrapper {
  overflow: hidden;
  border-radius: 1.5rem 1.5rem 0 0;
  position: relative;
}

.course-card-img-wrapper img {
  transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}

.course-card:hover .course-card-img-wrapper img {
  transform: scale(1.08);
}

/* Custom Scrollbars */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: #030806;
}

::-webkit-scrollbar-thumb {
  background: #0d271c;
  border-radius: 4px;
  border: 1px solid rgba(50, 255, 140, 0.2);
}

::-webkit-scrollbar-thumb:hover {
  background: var(--accent-neon);
}

/* ==================== REAL-TIME TICKER FLASH EFFECTS ==================== */
.ticker-flash-up {
  color: #39FF88 !important;
  text-shadow: 0 0 12px rgba(57, 255, 136, 0.9);
  transition: all 0.2s ease;
}

.ticker-flash-down {
  color: #FF5555 !important;
  text-shadow: 0 0 12px rgba(255, 85, 85, 0.9);
  transition: all 0.2s ease;
}

.ticker-item {
  transition: background-color 0.3s ease;
}

.ticker-item:hover {
  background-color: rgba(57, 255, 136, 0.08);
}

/* ==================== HOW IT WORKS TIMELINE & STEP STYLING ==================== */
.step-card {
  background: linear-gradient(180deg, rgba(10, 26, 19, 0.85) 0%, rgba(5, 16, 12, 0.95) 100%);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(57, 255, 136, 0.2);
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  position: relative;
}

.step-card::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 1.25rem;
  padding: 1px;
  background: linear-gradient(135deg, rgba(57, 255, 136, 0.5), transparent 50%, rgba(114, 255, 170, 0.2));
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
  opacity: 0.3;
  transition: opacity 0.35s ease;
}

.step-card:hover {
  border-color: #39FF88;
  transform: translateY(-8px);
  box-shadow: 0 20px 40px -10px rgba(0, 0, 0, 0.7), 0 0 30px rgba(57, 255, 136, 0.25);
}

.step-card:hover::before {
  opacity: 1;
}

.step-connector-line {
  background: linear-gradient(90deg, #39FF88, rgba(57, 255, 136, 0.2));
}

/* ==================== FOREX & ECONOMIC CALENDAR STYLES ==================== */
.session-card {
  background: linear-gradient(180deg, rgba(11, 28, 20, 0.85) 0%, rgba(6, 18, 13, 0.95) 100%);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(57, 255, 136, 0.2);
  transition: all 0.35s ease;
}

.session-card.session-active {
  border-color: #39FF88;
  box-shadow: 0 0 30px rgba(57, 255, 136, 0.2), inset 0 0 20px rgba(57, 255, 136, 0.05);
}

.session-card:hover {
  transform: translateY(-4px);
  border-color: rgba(57, 255, 136, 0.6);
}

.economic-news-row {
  transition: all 0.25s ease;
}

.economic-news-row:hover {
  background: rgba(57, 255, 136, 0.05);
  border-color: rgba(57, 255, 136, 0.4);
}

.news-filter-btn.active {
  background-color: #39FF88 !important;
  color: #030806 !important;
  font-weight: 700;
  box-shadow: 0 0 15px rgba(57, 255, 136, 0.4);
}

/* ==================== STYLISH HEADER NAV PILLS WITH ICONS (SIDEBAR PATTERN) ==================== */
.nav-pill-item {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.45rem 0.85rem;
  border-radius: 0.75rem;
  font-size: 0.84rem;
  font-weight: 700;
  color: #334155;
  white-space: nowrap;
  letter-spacing: -0.01em;
  transition: all 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
  border: 1px solid transparent;
  text-decoration: none !important;
}

.nav-pill-item i,
.nav-pill-item svg {
  color: #64748B;
  transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1), color 0.25s ease;
}

.nav-pill-item:hover {
  background-color: rgba(58, 87, 232, 0.08);
  color: #3A57E8 !important;
  border-color: rgba(58, 87, 232, 0.2);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(58, 87, 232, 0.12);
}

.nav-pill-item:hover i,
.nav-pill-item:hover svg {
  color: #3A57E8;
  transform: scale(1.15);
}

.nav-pill-item.active {
  background: linear-gradient(135deg, #3A57E8 0%, #2563EB 100%) !important;
  color: #FFFFFF !important;
  border-color: transparent !important;
  box-shadow: 0 4px 14px rgba(37, 99, 235, 0.35) !important;
}

.nav-pill-item.active i,
.nav-pill-item.active svg {
  color: #FFFFFF !important;
}

/* Header Action Buttons */
.header-action-btn {
  font-weight: 700 !important;
  border-radius: 0.75rem !important;
  transition: all 0.25s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}

.header-action-btn:hover {
  transform: translateY(-2px) scale(1.02);
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.1) !important;
}

.header-enroll-btn {
  font-weight: 800 !important;
  border-radius: 0.75rem !important;
  letter-spacing: -0.01em !important;
  transition: all 0.25s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}

.header-enroll-btn:hover {
  transform: translateY(-2px) scale(1.03);
  box-shadow: 0 6px 20px rgba(57, 255, 136, 0.55) !important;
}

/* ==================== STYLISH LOGIN & AUTH ANIMATIONS ==================== */
.auth-glass-card {
  background: linear-gradient(135deg, rgba(10, 26, 19, 0.96) 0%, rgba(4, 13, 9, 0.98) 100%);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border: 1px solid rgba(57, 255, 136, 0.35);
  box-shadow: 0 25px 60px -15px rgba(0, 0, 0, 0.8), 0 0 40px rgba(57, 255, 136, 0.2);
}

.auth-input {
  background: rgba(3, 10, 7, 0.8);
  border: 1px solid rgba(57, 255, 136, 0.2);
  transition: all 0.25s ease;
}

.auth-input:focus {
  border-color: #39FF88;
  box-shadow: 0 0 15px rgba(57, 255, 136, 0.3);
}

.btn-auth-animated {
  background: linear-gradient(90deg, #39FF88 0%, #72FFAA 50%, #39FF88 100%);
  background-size: 200% auto;
  transition: all 0.35s ease;
}

.btn-auth-animated:hover {
  background-position: right center;
  box-shadow: 0 0 25px rgba(57, 255, 136, 0.6);
  transform: translateY(-2px);
}

.btn-auth-animated:active {
  transform: scale(0.98);
}

/* ==================== FREDDY MENTOR SHOWCASE CARD ==================== */
.freddy-hero-card {
  background: linear-gradient(135deg, rgba(13, 34, 25, 0.9) 0%, rgba(5, 16, 12, 0.96) 100%);
  border: 1px solid rgba(57, 255, 136, 0.3);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.7), 0 0 35px rgba(57, 255, 136, 0.15);
}

.freddy-img-wrapper {
  position: relative;
  overflow: hidden;
  border-radius: 1.5rem;
}

.badge-float-left {
  animation: floatSlow 5s ease-in-out infinite;
}

.badge-float-right {
  animation: floatSlow 6s ease-in-out infinite 1s;
}

@keyframes floatSlow {
  0%, 100% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-8px);
  }
}

/* ==================== SINGLE MASTER PROGRAM SHOWCASE ==================== */
.master-program-hero-card {
  background: linear-gradient(135deg, rgba(10, 26, 19, 0.95) 0%, rgba(4, 14, 10, 0.98) 100%);
  border: 1px solid rgba(57, 255, 136, 0.35);
  box-shadow: 0 25px 60px -15px rgba(0, 0, 0, 0.9), 0 0 40px rgba(57, 255, 136, 0.2);
}

.module-card {
  background: rgba(8, 20, 15, 0.75);
  border: 1px solid rgba(57, 255, 136, 0.15);
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.module-card:hover {
  background: rgba(12, 28, 21, 0.95);
  border-color: rgba(57, 255, 136, 0.5);
  transform: translateY(-3px);
  box-shadow: 0 12px 30px -8px rgba(0, 0, 0, 0.6), 0 0 20px rgba(57, 255, 136, 0.2);
}

.module-card.active-module {
  border-color: #39FF88;
  background: rgba(14, 34, 25, 0.95);
  box-shadow: 0 0 25px rgba(57, 255, 136, 0.25);
}

/* ==================== MULTI-ROLE PORTAL HUB & CRM STYLES ==================== */
.portal-sidebar-btn {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
  padding: 0.75rem 1rem;
  border-radius: 0.875rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #9BAAA2;
  transition: all 0.25s ease;
  border: 1px solid transparent;
}

.portal-sidebar-btn:hover {
  color: #FFFFFF;
  background: rgba(57, 255, 136, 0.08);
  border-color: rgba(57, 255, 136, 0.2);
}

.portal-sidebar-btn.active {
  color: #030806;
  background: #39FF88;
  font-weight: 800;
  box-shadow: 0 0 20px rgba(57, 255, 136, 0.4);
}

.portal-kpi-card {
  background: linear-gradient(135deg, rgba(8, 22, 16, 0.9) 0%, rgba(4, 12, 8, 0.95) 100%);
  border: 1px solid rgba(57, 255, 136, 0.2);
  border-radius: 1.25rem;
  padding: 1.25rem;
  transition: all 0.3s ease;
}

.portal-kpi-card:hover {
  border-color: rgba(57, 255, 136, 0.5);
  transform: translateY(-2px);
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.5), 0 0 20px rgba(57, 255, 136, 0.15);
}

/* Telecalling & Remark Timeline */
.remark-timeline-item {
  position: relative;
  padding-left: 1.5rem;
}

.remark-timeline-item::before {
  content: '';
  position: absolute;
  left: 0.375rem;
  top: 1.25rem;
  bottom: -0.75rem;
  width: 2px;
  background: rgba(57, 255, 136, 0.2);
}

.remark-timeline-item:last-child::before {
  display: none;
}

.remark-timeline-dot {
  position: absolute;
  left: 0;
  top: 0.25rem;
  width: 0.875rem;
  height: 0.875rem;
  border-radius: 9999px;
  background: #39FF88;
  border: 2px solid #030806;
  box-shadow: 0 0 10px rgba(57, 255, 136, 0.6);
}

/* Call Button Pulse Animation */
.btn-call-pulse {
  animation: callPulse 2s infinite;
}

@keyframes callPulse {
  0% {
    box-shadow: 0 0 0 0 rgba(57, 255, 136, 0.7);
  }
  70% {
    box-shadow: 0 0 0 12px rgba(57, 255, 136, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(57, 255, 136, 0);
  }
}

/* Custom Scrollbar for Portal Grids */
.custom-portal-scroll::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
.custom-portal-scroll::-webkit-scrollbar-track {
  background: #030806;
}
.custom-portal-scroll::-webkit-scrollbar-thumb {
  background: #0D3323;
  border-radius: 4px;
}
.custom-portal-scroll::-webkit-scrollbar-thumb:hover {
  background: #39FF88;
}

/* ==================== SOCIAL COMMUNITY HUB STYLES ==================== */
.community-card {
  background: linear-gradient(135deg, rgba(8, 22, 16, 0.9) 0%, rgba(4, 12, 8, 0.96) 100%);
  border: 1px solid rgba(57, 255, 136, 0.2);
  border-radius: 1.25rem;
  padding: 1.25rem;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.community-card:hover {
  border-color: #39FF88;
  transform: translateY(-3px) scale(1.02);
  box-shadow: 0 15px 35px -10px rgba(0, 0, 0, 0.7), 0 0 25px rgba(57, 255, 136, 0.3);
}

.community-icon-wrapper {
  width: 3rem;
  height: 3rem;
  border-radius: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.3s ease;
}

.community-card:hover .community-icon-wrapper {
  transform: scale(1.1) rotate(4deg);
}

/* ==================== CART & MANUAL UPI/BANK CHECKOUT STYLES ==================== */
.bank-qr-card {
  background: linear-gradient(135deg, #0A2417 0%, #030B07 100%);
  border: 2px solid rgba(57, 255, 136, 0.4);
  box-shadow: 0 0 35px rgba(57, 255, 136, 0.2);
}

.proof-upload-box {
  border: 2px dashed rgba(57, 255, 136, 0.3);
  background: rgba(4, 14, 10, 0.7);
  transition: all 0.25s ease;
}

.proof-upload-box:hover {
  border-color: #39FF88;
  background: rgba(7, 24, 16, 0.85);
}

/* ==================== ADMIN CMS COURSE BUILDER & VAULT ==================== */
.admin-course-item-card {
  background: rgba(6, 18, 13, 0.85);
  border: 1px solid rgba(57, 255, 136, 0.2);
  border-radius: 1.25rem;
  transition: all 0.25s ease;
}

.admin-course-item-card:hover {
  border-color: rgba(57, 255, 136, 0.6);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5), 0 0 20px rgba(57, 255, 136, 0.15);
}

.badge-free {
  background: rgba(57, 255, 136, 0.15);
  color: #39FF88;
  border: 1px solid rgba(57, 255, 136, 0.4);
}

.badge-paid {
  background: rgba(245, 176, 65, 0.15);
  color: #F5B041;
  border: 1px solid rgba(245, 176, 65, 0.4);
}

/* Video Classroom Frame */
.video-classroom-container {
  border: 1px solid rgba(57, 255, 136, 0.3);
  box-shadow: 0 0 40px rgba(0, 0, 0, 0.8), 0 0 25px rgba(57, 255, 136, 0.15);
}

/* ==========================================================================
   COMPREHENSIVE RESPONSIVENESS SYSTEM (MOBILE TO ULTRA-WIDE DESKTOP)
   ========================================================================== */

/* Universal Overflow Prevention */
html, body {
  max-width: 100vw !important;
  overflow-x: hidden !important;
  position: relative;
}

img, video, iframe, canvas, svg {
  max-width: 100%;
  height: auto;
}

/* Fluid Typography for Hero */
@media (max-width: 640px) {
  h1.font-display {
    font-size: 2.15rem !important;
    line-height: 1.15 !important;
  }
  
  .slide-content-col {
    space-y: 1rem !important;
  }
  
  .hero-slide-img {
    height: 350px !important;
    object-position: 50% 12% !important;
  }
  
  .freddy-img-wrapper {
    min-height: 350px !important;
  }
  
  .freddy-img-wrapper img {
    object-position: 50% 8% !important;
  }
  
  .glass-stat-card {
    padding: 0.65rem !important;
  }
  
  .glass-stat-card .text-xl,
  .glass-stat-card .text-2xl {
    font-size: 1.15rem !important;
  }
  
  /* Navigation header touch sizing */
  .header-action-btn {
    padding: 0.45rem 0.65rem !important;
    font-size: 11px !important;
  }
  
  .header-enroll-btn {
    padding: 0.45rem 0.85rem !important;
    font-size: 11.5px !important;
  }
  
  /* Mobile padding buffers */
  .modal-content {
    max-width: 95vw !important;
    max-height: 88vh !important;
    padding: 1.25rem !important;
  }
}

/* Universal Section Scroll Margin to Prevent Sticky Header Button Overlap */
section[id], div[id] {
  scroll-margin-top: 85px !important;
}

/* Tablet & Medium Screen Optimization (641px - 1024px) */
@media (min-width: 641px) and (max-width: 1024px) {
  h1.font-display {
    font-size: 3.25rem !important;
  }
  
  .hero-slide-img {
    height: 380px !important;
  }
  
  .step-card {
    padding: 1.25rem !important;
  }
}

/* Ultra-wide Desktop Optimization (1440px+) */
@media (min-width: 1440px) {
  .max-w-7xl {
    max-width: 88rem !important;
  }
  
  #hero-slider-wrapper {
    min-height: 780px !important;
  }
  
  h1.font-display {
    font-size: 4.5rem !important;
  }
}

/* Safe Area Padding for Mobile Bottom Bar */
@media (max-width: 1023px) {
  body {
    padding-bottom: 5.5rem !important;
  }
}

/* ==========================================================================
   SUBTLE ARCHITECTURAL TEXTURES (REFINED & LUXURY — ZERO EYE STRAIN)
   ========================================================================== */

/* 1. Subtle Red Grid Texture (For Video Reviews / Testimonials matching reference image) */
.subtle-texture-grid-red {
  position: relative !important;
  background-color: #070303 !important;
}
.subtle-texture-grid-red::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background-size: 72px 72px !important;
  background-image: 
    linear-gradient(to right, rgba(220, 38, 38, 0.15) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(220, 38, 38, 0.15) 1px, transparent 1px) !important;
  pointer-events: none !important;
  z-index: 1 !important;
}
.subtle-texture-grid-red::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: radial-gradient(circle at 50% 50%, transparent 40%, rgba(7, 3, 3, 0.85) 100%) !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

/* 2. Subtle Dark Blueprint Grid (For Global Sessions & Economic News Matrix) */
.subtle-texture-grid {
  position: relative !important;
}
.subtle-texture-grid::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background-size: 64px 64px !important;
  background-image: 
    linear-gradient(to right, rgba(255, 255, 255, 0.035) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255, 255, 255, 0.035) 1px, transparent 1px) !important;
  pointer-events: none !important;
  z-index: 1 !important;
}
.subtle-texture-grid::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: radial-gradient(circle at 50% 50%, transparent 60%, rgba(3, 8, 6, 0.85) 100%) !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

/* 3. Subtle Cyber Dot Matrix (For Trading Tools & Calculators Desk) */
.subtle-texture-dots {
  position: relative !important;
}
.subtle-texture-dots::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background-image: radial-gradient(rgba(57, 255, 136, 0.08) 1.2px, transparent 1.2px) !important;
  background-size: 24px 24px !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

/* 4. Subtle Emerald Grid (For Roadmap / How It Works) */
.subtle-texture-emerald {
  position: relative !important;
}
.subtle-texture-emerald::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background-size: 64px 64px !important;
  background-image: 
    linear-gradient(to right, rgba(57, 255, 136, 0.06) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(57, 255, 136, 0.06) 1px, transparent 1px) !important;
  pointer-events: none !important;
  z-index: 1 !important;
}
.subtle-texture-emerald::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: radial-gradient(circle at 50% 50%, transparent 55%, rgba(3, 8, 6, 0.85) 100%) !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

/* Floating Logo Badges matching reference photo */
.floating-logo-badge {
  width: 48px;
  height: 48px;
  background: #FFFFFF;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 25px rgba(0,0,0,0.6), 0 2px 6px rgba(0,0,0,0.2);
  transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  cursor: pointer;
}
.floating-logo-badge:hover {
  transform: scale(1.15) rotate(3deg);
}

/* Phone Mockup Frame matching green app mockup in reference photo */
.phone-mockup-card {
  aspect-ratio: 9 / 16;
  border-radius: 26px;
  background: #071711;
  border: 2px solid rgba(57, 255, 136, 0.35);
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 20px 45px rgba(0,0,0,0.85);
  transition: all 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
  cursor: pointer;
}
.phone-mockup-card:hover {
  transform: translateY(-8px) scale(1.02);
  border-color: rgba(57, 255, 136, 0.8);
  box-shadow: 0 25px 55px rgba(57, 255, 136, 0.25);
}


