/* ============================================
   ENHANCED STYLES - MBA ASPIRANTS
   Premium MBA Preparation Platform
   ============================================ */

:root {
  /* Background Colors */
  --bg-primary: #F8FAFC;
  --bg-secondary: #FFFFFF;
  --bg-tertiary: #F1F5F9;
  
  /* Text Colors */
  --text-primary: #1E2937;
  --text-secondary: #475569;
  --text-tertiary: #64748B;
  
  /* Premium Color Palette */
  --accent-teal: #0F766E;
  --accent-orange: #F97316;
  --accent-gold: #F97316;
  --accent-cyan: #0F766E;
  --accent-purple: #0F766E;
  --accent-pink: #F97316;
  --accent-emerald: #0F766E;
  --accent-rose: #F97316;
  --accent-indigo: #0F766E;
  --accent-white: #FFFFFF;
  
  /* Glow Effects */
  --glow-teal: rgba(15,118,110,.12);
  --glow-orange: rgba(249,115,22,.08);
  --glow-purple: rgba(15,118,110,.12);
  --glow-blue: rgba(15,118,110,.08);
  --glow-pink: rgba(249,115,22,.08);
  --glow-indigo: rgba(15,118,110,.08);
  
  /* Shadows */
  --shadow-premium: 0 24px 80px rgba(15,23,42,.08);
  --shadow-soft: 0 12px 30px rgba(15,23,42,.06);
  --shadow-lg: 0 20px 50px rgba(15,23,42,.1);
  --shadow-glow: 0 0 40px rgba(249,115,22,.15);
  --shadow-teal: 0 20px 40px rgba(15,118,110,.15);
}

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

html {
  scroll-behavior: smooth;
}

body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  background: radial-gradient(circle at top left, rgba(15,118,110,.08), transparent 25%),
              radial-gradient(circle at bottom right, rgba(249,115,22,.08), transparent 22%),
              linear-gradient(180deg, #F8FAFC 0%, #FFFFFF 45%, #F1F5F9 100%);
  background-attachment: scroll;
  color: var(--text-primary);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: 1.6;
}

/* ========================================
   SCROLLBAR
   ======================================== */
::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

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

::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, rgba(15,118,110,0.95), rgba(249,115,22,0.95));
  border-radius: 5px;
  transition: background 0.3s ease;
}

::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg, rgba(249,115,22,0.95), rgba(15,118,110,0.95));
}

/* ========================================
   SELECTION
   ======================================== */
::selection {
  background: rgba(15,118,110,.15);
  color: var(--text-primary);
}

::-moz-selection {
  background: rgba(15,118,110,.15);
  color: var(--text-primary);
}

/* ========================================
   FOCUS STYLES
   ======================================== */
*:focus-visible {
  outline: 3px solid var(--accent-teal);
  outline-offset: 2px;
}

/* ========================================
   CARDS & GLASS MORPHISM
   ======================================== */
.glass-card {
  background: rgba(255,255,255,.97);
  backdrop-filter: blur(20px);
  border: 1px solid rgba(226,232,240,.7);
  border-radius: 1.25rem;
  box-shadow: 0 24px 80px rgba(15,23,42,.06);
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.glass-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 30px 90px rgba(15,23,42,.1);
  border-color: rgba(226,232,240,.9);
}

.glass-card-elevated {
  background: linear-gradient(135deg, rgba(255,255,255,.99) 0%, rgba(248,250,252,.98) 100%);
  backdrop-filter: blur(25px);
  border: 1px solid rgba(226,232,240,.8);
  border-radius: 1.5rem;
  box-shadow: 0 30px 100px rgba(15,23,42,.08);
}

/* ========================================
   BUTTONS - PREMIUM STYLING
   ======================================== */

/* Primary Button - Gold/Blue Gradient */
.btn-primary,
.btn-pill-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.875rem 2rem;
  font-weight: 600;
  font-size: 0.95rem;
  border-radius: 9999px;
  border: none;
  background: linear-gradient(135deg, #0f766e 0%, #ea580c 100%);
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 0 20px 40px rgba(15, 118, 110, 0.28);
  cursor: pointer;
  transition: all 0.3s ease;
  text-decoration: none !important;
}

.btn-primary:hover,
.btn-pill-primary:hover {
  background: linear-gradient(135deg, #ea580c 0%, #0f766e 100%);
  color: #ffffff !important;
  transform: translateY(-2px);
  box-shadow: 0 24px 50px rgba(15, 118, 110, 0.32);
  text-decoration: none !important;
}

.btn-primary:active {
  transform: translateY(0);
}

/* Secondary Button - White with Teal Border */
.btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.875rem 2rem;
  font-weight: 600;
  font-size: 0.95rem;
  border-radius: 9999px;
  border: 2px solid var(--accent-teal) !important;
  background: white !important;
  color: var(--accent-teal) !important;
  box-shadow: 0 12px 30px rgba(15,118,110,.08);
  cursor: pointer;
  transition: all 0.3s ease;
}

.btn-secondary:hover {
  background: rgba(15,118,110,.05);
  border-color: var(--accent-teal);
  color: var(--accent-teal);
  transform: translateY(-2px);
  box-shadow: 0 15px 40px rgba(15,118,110,.12);
}

/* Tertiary Button - Gold/Warm */
.btn-tertiary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.875rem 2rem;
  font-weight: 600;
  font-size: 0.95rem;
  border-radius: 2rem;
  border: none;
  background: linear-gradient(135deg, #F59E0B 0%, #F97316 100%);
  color: white;
  box-shadow: 0 20px 40px rgba(245,158,11,.2);
  cursor: pointer;
  transition: all 0.3s ease;
}

.btn-tertiary:hover {
  transform: translateY(-2px);
  box-shadow: 0 25px 50px rgba(245,158,11,.3);
}

/* Button Sizes */
.btn-sm {
  padding: 0.5rem 1.25rem;
  font-size: 0.85rem;
}

.btn-lg {
  padding: 1rem 2.5rem;
  font-size: 1.05rem;
}

/* ========================================
   BADGE STYLES
   ======================================== */
.badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.35rem 1rem;
  border-radius: 9999px;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.badge-primary {
  background: linear-gradient(135deg, rgba(15,118,110,0.12) 0%, rgba(249,115,22,0.1) 100%);
  color: var(--accent-teal);
  border: 1px solid rgba(15,118,110,0.15);
}

.badge-gold {
  background: rgba(249,115,22,0.12);
  color: var(--accent-orange);
  border: 1px solid rgba(249,115,22,0.2);
}

.badge-success {
  background: rgba(15,118,110,0.12);
  color: var(--accent-teal);
  border: 1px solid rgba(15,118,110,0.2);
}

/* ========================================
   FORM ELEMENTS
   ======================================== */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
textarea,
select {
  width: 100%;
  padding: 0.75rem 1rem;
  font-family: inherit;
  border: 1px solid #E2E8F0;
  border-radius: 0.75rem;
  background: white;
  color: var(--text-primary);
  font-size: 0.95rem;
  transition: all 0.3s ease;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
textarea:focus,
select:focus {
  outline: none;
  border-color: var(--accent-teal);
  box-shadow: 0 0 0 3px rgba(15,118,110,0.12);
  background: rgba(15,118,110,0.03);
}

textarea {
  resize: vertical;
  min-height: 120px;
}

/* ========================================
   ANIMATIONS
   ======================================== */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes slideInRight {
  from {
    opacity: 0;
    transform: translateX(-20px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes slideInLeft {
  from {
    opacity: 0;
    transform: translateX(20px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes pulse-glow {
  0%, 100% {
    box-shadow: 0 0 20px rgba(37,99,235,.3);
  }
  50% {
    box-shadow: 0 0 40px rgba(37,99,235,.5);
  }
}

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

@keyframes shimmer {
  0% {
    background-position: -1000px 0;
  }
  100% {
    background-position: 1000px 0;
  }
}

/* Animation Utilities */
.animate-fadeInUp {
  animation: fadeInUp 0.6s ease-out;
}

.animate-slideInRight {
  animation: slideInRight 0.6s ease-out;
}

.animate-slideInLeft {
  animation: slideInLeft 0.6s ease-out;
}

.animate-pulse-glow {
  animation: pulse-glow 2s ease-in-out infinite;
}

.animate-float {
  animation: float 3s ease-in-out infinite;
}

/* ========================================
   TEXT & TYPOGRAPHY
   ======================================== */
h1, h2, h3, h4, h5, h6 {
  font-weight: 700;
  line-height: 1.2;
  color: var(--text-primary);
}

/* Light text on dark gradient heroes (overrides heading color above) */
.ph-hero h1,
.ph-hero h2,
.ph-hero h3,
.ph-hero h4,
.ph-hero .ph-hero__title,
.cat-hero h1,
.cat-hero h2,
.cat-hero h3,
.cat-hero h4,
.ud-hero--premium h1,
.ud-hero--premium .ud-hero__title,
.ud-final-cta h2,
.ud-final-cta .ud-final-cta__title,
.ud-promo .ud-promo__title {
  color: #fff !important;
}

.ph-hero .ph-hero__lead,
.ph-hero p.ph-hero__lead {
  color: rgb(204 251 241 / 0.92) !important;
}

h1 {
  font-size: 3.5rem;
  letter-spacing: -0.02em;
}

h2 {
  font-size: 2.5rem;
  letter-spacing: -0.01em;
}

h3 {
  font-size: 1.875rem;
}

h4 {
  font-size: 1.5rem;
}

p {
  color: var(--text-secondary);
  line-height: 1.7;
}

.text-gradient {
  background: linear-gradient(135deg, var(--accent-teal) 0%, var(--accent-orange) 50%, var(--accent-teal) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.text-gradient-warm {
  background: linear-gradient(135deg, var(--accent-orange) 0%, #F97316 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* ========================================
   LINKS & INTERACTIVE ELEMENTS (2026 — no orange underlines)
   ======================================== */
:root {
  --link-teal: #0f766e;
  --link-teal-hover: #0d9488;
  --link-motion: cubic-bezier(0.22, 1, 0.36, 1);
}

/* Inline text links — sliding teal accent line instead of underline */
a:not(.btn-on-color):not(.btn-primary):not(.btn-pill-primary):not(.magnetic-btn):not(.btn-gradient):not(.ud-btn-primary):not(.ud-btn-secondary):not(.ud-btn-outline):not(.ud-promo__btn):not(.ud-strip__item):not(.ud-strip__link):not(.brand-logo):not(.prog-btn-view):not(.ud-filter-chip):not(.ud-action-primary):not(.ud-action-outline):not(.ud-action-filter):not(.ud-action-muted):not(.ud-pill):not(.ud-pill-active):not(.ud-learning-card):not(.ud-continue-card):not(.ud-instructor-card):not(.ud-tool-card):not(.ud-value-prop):not(.ph-card--link):not(.ph-community-btn):not(.prep-btn):not(.prep-discover__link):not(.link-unstyled):not(.link-surface):not(.cat-hero__pill):not(.cat-hero__btn-teal):not(.cat-hero__btn-light):not([class*="bg-teal-"]):not([class*="bg-emerald-"]):not([class*="bg-slate-9"]) {
  color: var(--link-teal);
  text-decoration: none !important;
  background-image: linear-gradient(var(--link-teal-hover), var(--link-teal-hover));
  background-size: 0% 2px;
  background-position: 0 100%;
  background-repeat: no-repeat;
  transition: color 0.22s ease, background-size 0.32s var(--link-motion);
}

a:not(.btn-on-color):not(.btn-primary):not(.btn-pill-primary):not(.magnetic-btn):not(.btn-gradient):not(.ud-btn-primary):not(.ud-btn-secondary):not(.ud-btn-outline):not(.ud-promo__btn):not(.ud-strip__item):not(.ud-strip__link):not(.brand-logo):not(.prog-btn-view):not(.ud-filter-chip):not(.ud-action-primary):not(.ud-action-outline):not(.ud-action-filter):not(.ud-action-muted):not(.ud-pill):not(.ud-pill-active):not(.ud-learning-card):not(.ud-continue-card):not(.ud-instructor-card):not(.ud-tool-card):not(.ud-value-prop):not(.ph-card--link):not(.ph-community-btn):not(.prep-btn):not(.prep-discover__link):not(.link-unstyled):not(.link-surface):not([class*="bg-teal-"]):not([class*="bg-emerald-"]):not([class*="bg-slate-9"]):hover {
  color: var(--link-teal-hover);
  text-decoration: none !important;
  background-size: 100% 2px;
}

nav .ud-nav-links a {
  color: #64748b !important;
  text-decoration: none !important;
  font-weight: 600;
}

nav .ud-nav-links a:hover {
  color: #0f172a !important;
  text-decoration: none !important;
}

nav .ud-nav-links a.text-teal-600 {
  color: #0d9488 !important;
}

.brand-logo,
.brand-logo:hover,
.brand-logo:focus,
.brand-logo * {
  text-decoration: none !important;
  color: inherit;
}

.brand-logo:hover .text-slate-900,
.brand-logo:hover p {
  color: #0f172a !important;
}

.link-unstyled {
  color: inherit;
  text-decoration: none;
}

.link-unstyled:hover {
  text-decoration: none;
}

/* ========================================
   UTILITY CLASSES
   ======================================== */
.container-wide {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 1.5rem;
}

.section-padding {
  padding: 4rem 1.5rem;
}

@media (min-width: 768px) {
  .section-padding {
    padding: 6rem 1.5rem;
  }
}

.bg-gradient-primary {
  background: linear-gradient(135deg, var(--accent-teal) 0%, var(--accent-orange) 100%);
}

.bg-gradient-warm {
  background: linear-gradient(135deg, var(--accent-orange) 0%, #F97316 100%);
}

.bg-gradient-cool {
  background: linear-gradient(135deg, var(--accent-teal) 0%, var(--accent-orange) 100%);
}

/* ========================================
   HOVER EFFECTS
   ======================================== */
.hover-lift {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.hover-lift:hover {
  transform: translateY(-8px);
  box-shadow: 0 30px 60px rgba(15,23,42,.15);
}

.hover-scale {
  transition: transform 0.3s ease;
}

.hover-scale:hover {
  transform: scale(1.05);
}

.hover-glow-blue {
  transition: all 0.3s ease;
}

/* ========================================
   MODERN BUTTONS & CARDS
   ======================================== */
.btn-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  padding: 0.95rem 1.75rem;
  font-weight: 700;
  transition: all 0.25s ease;
  text-decoration: none;
}

.btn-pill-primary {
  background: var(--accent-teal);
  color: #FFFFFF;
  border: 1px solid rgba(15,118,110,0.2);
  box-shadow: 0 18px 40px rgba(15,118,110,0.18);
}

.btn-pill-primary:hover,
.btn-pill-primary:focus {
  background: var(--accent-orange);
  box-shadow: 0 22px 45px rgba(15,118,110,0.22);
}

.btn-pill-secondary {
  background: #FFFFFF;
  color: var(--accent-teal);
  border: 1px solid rgba(15,118,110,0.3);
}

.btn-pill-secondary:hover,
.btn-pill-secondary:focus {
  background: rgba(15,118,110,0.08);
}

.card-modern {
  border-radius: 1.75rem;
  border: 1px solid rgba(226,232,240,0.75);
  background: rgba(255,255,255,0.96);
  box-shadow: 0 24px 60px rgba(15,23,42,0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.card-modern:hover {
  transform: translateY(-4px);
  box-shadow: 0 30px 70px rgba(15,23,42,0.12);
}

.card-section {
  padding: 2rem;
}

.card-accent-line {
  position: relative;
}

.card-accent-line::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.8rem;
  height: 0.25rem;
  width: 4rem;
  border-radius: 9999px;
  background: linear-gradient(90deg, var(--accent-teal) 0%, var(--accent-orange) 100%);
}

.hover-glow-blue:hover {
  box-shadow: 0 0 30px rgba(15,118,110,.3);
}

.hover-glow-gold {
  transition: all 0.3s ease;
}

.hover-glow-gold:hover {
  box-shadow: 0 0 30px rgba(249,115,22,.3);
}

/* ========================================
   RESPONSIVE UTILITIES
   ======================================== */
@media (max-width: 768px) {
  h1 {
    font-size: 2.25rem;
  }

  h2 {
    font-size: 1.75rem;
  }

  .section-padding {
    padding: 2.5rem 1rem;
  }
}

/* ========================================
   ACCESSIBILITY
   ======================================== */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border-width: 0;
}

.sr-only:focus {
  position: static;
  width: auto;
  height: auto;
  padding: inherit;
  margin: inherit;
  overflow: visible;
  clip: auto;
  white-space: normal;
}

/* Footer nav links — plain text, no button chrome */
footer ul li > a,
footer ul li > a:hover,
footer a.footer-link,
footer a.footer-link:hover,
footer a.secondary-btn,
footer a.secondary-btn:hover,
footer a[href*="mocktests"],
footer a[href*="mocktests"]:hover {
  display: inline !important;
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  border-width: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
  transform: none !important;
  font-weight: 400 !important;
  color: #475569 !important;
  -webkit-text-fill-color: #475569 !important;
}

footer ul li > a:hover,
footer a.footer-link:hover,
footer a.secondary-btn:hover,
footer a[href*="mocktests"]:hover {
  color: var(--accent-teal) !important;
  -webkit-text-fill-color: var(--accent-teal) !important;
  text-decoration: none !important;
  background-image: none !important;
}
