/* EduLearn Pro - Main Stylesheet - Copied from Reference */

/* CSS Variables - Design Philosophy Colors */
:root {
    --primary: #1a2332;
    --primary-light: #2c3e50;
    --primary-lighter: #3d5a73;
    --secondary: #ff6b6b;
    --secondary-light: #ff8585;
    --secondary-lighter: #ffa5a5;
    --accent: #4ecdc4;
    --accent-light: #6ee6d9;
    --accent-lighter: #8df0ea;
    --neutral: #f8f9fa;
    --neutral-light: #ffffff;
    --neutral-dark: #e5e7eb;
    --text: #2c3e50;
    --text-light: #6b7280;
    --success: #10b981;
    --warning: #f59e0b;
    --error: #ef4444;
    --info: #3b82f6;
}

body {
    font-family: 'Inter', sans-serif;
    background-color: var(--neutral);
    color: var(--text);
}

.font-display {
    font-family: 'Playfair Display', serif;
}

/* Hero Image - Behind everything */
#home .absolute.inset-0 {
    z-index: 0 !important;
}

#home .absolute.inset-0 img {
    z-index: 0 !important;
}

/* Hero Content - On top */
#home .relative {
    z-index: 10 !important;
    position: relative !important;
}

.hero-gradient .absolute {
    z-index: 0 !important;
}

.hero-gradient .relative {
    z-index: 10 !important;
}

.hero-gradient .grid {
    z-index: 10 !important;
    position: relative !important;
}

.hero-title {
    font-family: 'Playfair Display', serif !important;
    font-size: 3rem !important;
    font-weight: 700 !important;
    color: white !important;
}

@media (min-width: 768px) {
    .hero-title {
        font-size: 3.75rem !important;
    }
}

@media (min-width: 1024px) {
    .hero-title {
        font-size: 4.5rem !important;
    }
}

/* Hero Buttons */
#home .btn-primary {
    background: linear-gradient(135deg, var(--secondary), #ff5252) !important;
    color: white !important;
    padding: 1rem 2rem !important;
    font-size: 1.125rem !important;
    font-weight: 600 !important;
    border-radius: 0.5rem !important;
    border: none !important;
    display: inline-block !important;
}

#home .btn-primary:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 10px 25px rgba(255, 107, 107, 0.4) !important;
}

#home .border-2 {
    border-width: 2px !important;
}

#home .border-white {
    border-color: white !important;
}

#home .text-white {
    color: white !important;
}

#home .hover\:bg-white:hover {
    background-color: white !important;
}

#home .hover\:text-gray-900:hover {
    color: #111827 !important;
}

/* Hero Stats */
#home .stats-counter {
    font-size: 2.5rem !important;
    font-weight: 700 !important;
    color: #fde047 !important;
}

#home .text-blue-100 {
    color: #dbeafe !important;
}

#home .text-sm {
    font-size: 0.875rem !important;
}

/* Hero Video Section */
#home .bg-white\.bg-opacity-10 {
    background-color: rgba(255, 255, 255, 0.1) !important;
}

#home .backdrop-blur-sm {
    backdrop-filter: blur(4px) !important;
}

#home .rounded-2xl {
    border-radius: 1rem !important;
}

#home .aspect-video {
    aspect-ratio: 16 / 9 !important;
}

#home .bg-gray-900 {
    background-color: #111827 !important;
}

#home .rounded-lg {
    border-radius: 0.5rem !important;
}

#home .w-20 {
    width: 5rem !important;
}

#home .h-20 {
    height: 5rem !important;
}

#home .rounded-full {
    border-radius: 9999px !important;
}

#home .hover\:scale-110:hover {
    transform: scale(1.1) !important;
}

#home .transition-transform {
    transition-property: transform !important;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
    transition-duration: 150ms !important;
}

/* Hero Floating Elements */
.floating-element {
    position: absolute !important;
    background-color: rgba(255, 255, 255, 0.1) !important;
    border-radius: 50% !important;
}

@keyframes gradientShift {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}

/* Card Hover Effects */
.card-hover {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.card-hover:hover {
    transform: translateY(-8px) rotateX(5deg);
    box-shadow: 0 20px 40px rgba(0,0,0,0.1);
}

/* Fade In Animation */
.fade-in {
    opacity: 0;
    transform: translateY(20px);
}

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

/* Floating Elements */
.floating-element {
    animation: float 6s ease-in-out infinite;
}

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

/* Navigation Links */
.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(--secondary);
    transition: width 0.3s ease;
}

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

/* Primary Button */
.btn-primary {
    background: linear-gradient(135deg, var(--secondary), #ff5252);
    transition: all 0.3s ease;
}

.btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 25px rgba(255, 107, 107, 0.3);
}

/* Stats Counter */
.stats-counter {
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--primary);
}

/* Scroll Reveal Animation */
.scroll-reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.6s ease;
}

.scroll-reveal.revealed {
    opacity: 1;
    transform: translateY(0);
}

/* Course Cards */
.course-card {
    background: white;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
    transition: all 0.3s ease;
}

.course-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 12px 40px rgba(0,0,0,0.15);
}

.course-image {
    width: 100%;
    height: 200px;
    object-fit: cover;
}

/* Rating Stars */
.rating-stars {
    color: #ffc107;
}

/* Fade In Up */
.fade-in-up {
    opacity: 0;
    transform: translateY(16px);
    animation: fadeInUp 0.6s ease-out forwards;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(16px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Gradient Text */
.gradient-text {
    background: linear-gradient(135deg, var(--primary), var(--secondary), var(--accent));
    background-size: 200% 200%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    animation: gradientFlow 4s ease infinite;
}

@keyframes gradientFlow {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}

/* Accessibility - Reduced Motion */
@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* Responsive */
@media (max-width: 768px) {
    .stats-counter {
        font-size: 2rem;
    }
    .hero-title {
        font-size: 2.5rem;
    }
}

/* Odoo Specific Overrides */
.o_header_is_scrolled .hero-gradient {
    /* Keep gradient on scroll if needed */
}

.font-display {
    font-family: 'Playfair Display', serif !important;
}

.text-yellow-300 {
    color: #fde047;
}

.bg-blue-600 {
    background-color: #2563eb;
}

.hover\:bg-blue-700:hover {
    background-color: #1d4ed8;
}

.bg-green-600 {
    background-color: #16a34a;
}

.bg-purple-600 {
    background-color: #9333ea;
}

.bg-orange-100 {
    background-color: #ffedd5;
}

.bg-red-100 {
    background-color: #fee2e2;
}

.bg-indigo-100 {
    background-color: #e0e7ff;
}

.text-blue-600 {
    color: #2563eb;
}

.text-green-600 {
    color: #16a34a;
}

.text-purple-600 {
    color: #9333ea;
}

.text-orange-600 {
    color: #ea580c;
}

.text-red-600 {
    color: #dc2626;
}

.text-indigo-600 {
    color: #4f46e5;
}

.hover\:bg-blue-50:hover {
    background-color: #eff6ff;
}

.hover\:bg-green-50:hover {
    background-color: #f0fdf4;
}

.hover\:bg-purple-50:hover {
    background-color: #faf5ff;
}

.hover\:bg-orange-50:hover {
    background-color: #fff7ed;
}

.hover\:bg-red-50:hover {
    background-color: #fef2f2;
}

.hover\:bg-indigo-50:hover {
    background-color: #eef2ff;
}

.from-indigo-50 {
    --tw-gradient-from: #eef2ff;
}

.to-purple-50 {
    --tw-gradient-to: #faf5ff;
}

.bg-gradient-to-br {
    background-image: linear-gradient(to bottom right, var(--tw-gradient-from), var(--tw-gradient-to));
}

/* Course nav margin on slides page */
.o_wslides_course_nav {
    margin-top: 5px;
}

/* Move form down */
div.col-md-4:nth-child(2) > form:nth-child(1) {
    margin-top: 20px;
}
