@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,700;1,400&display=swap');

:root {
  --forest-green: #0f3d2e;
  --flame-orange: #f37021;
  --soft-white: #fdfdfd;
}

body {
  font-family: 'Montserrat', sans-serif;
  color: #333;
  background-color: var(--soft-white);
  overflow-x: hidden;
}

h1, h2, h3, h4, .serif {
  font-family: 'Playfair Display', serif;
}

.bg-forest { background-color: var(--forest-green); }
.bg-flame { background-color: var(--flame-orange); }
.text-forest { color: var(--forest-green); }
.text-flame { color: var(--flame-orange); }
.border-forest { border-color: var(--forest-green); }
.border-flame { border-color: var(--flame-orange); }

.nav-link {
  position: relative;
  transition: color 0.3s ease;
}

.nav-link::after {
  content: '';
  position: absolute;
  width: 0;
  height: 2px;
  bottom: -4px;
  left: 0;
  background-color: var(--flame-orange);
  transition: width 0.3s ease;
}

.nav-link:hover::after {
  width: 100%;
}

.btn-premium {
  @apply px-8 py-3 rounded-sm font-semibold transition-all duration-300 transform hover:-translate-y-1 active:scale-95 shadow-lg hover:shadow-xl;
}

.glass-header {
  backdrop-filter: blur(10px);
  background-color: rgba(255, 255, 255, 0.95);
  border-bottom: 1px solid rgba(15, 61, 46, 0.1);
}

.academic-card {
  transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.academic-card:hover {
  transform: translateY(-10px);
}

.fade-in-up {
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.6s ease-out;
}

.fade-in-up.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Form Styles */
input, select, textarea {
  transition: border-color 0.3s ease;
}

/* Sidebar Styles */
.sidebar-event:hover {
  background-color: rgba(243, 112, 33, 0.05);
}

/* FAQ Accordion Placeholder */
.faq-item {
  @apply border-b border-gray-100 py-6;
}

/* Mobile Navigation */
.nav-link-mobile {
  transition: all 0.3s ease;
}

.nav-link-mobile:hover {
  color: var(--flame-orange);
}
