/* Base styles that won't conflict */
        .courses-page {
            --primary-blue: #050C9C;
            --secondary-blue: #3572EF;
            --accent-blue: #00C9FF;
            --text-dark: #333;
            --text-light: #777;
            --pure-white: #ffffff;
            --light-bg: #f8f9fa;
            --card-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
            --discount-red: #FF3D57;
            --bestseller-gold: #FFD700;
            --highlight-border: #00C9FF;
            background-color: var(--light-bg);
            color: var(--text-dark);
            line-height: 1.6;
            font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
            min-height: 100vh;
        }

        .courses-page * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        /* Courses Container */
        .courses-container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 2rem 1rem;
            padding-top: 5rem; /* Better spacing with navbar */
        }

        /* Search Bar Styles */
        .search-container {
            margin-bottom: 2rem;
            padding: 0 1rem;
        }

        .search-bar {
            max-width: 600px;
            margin: 0 auto;
            position: relative;
            display: flex;
        }

        .search-bar input {
            width: 100%;
            padding: 0.8rem 1.5rem;
            padding-right: 3rem;
            border: 1px solid #ddd;
            border-radius: 30px;
            font-size: 1rem;
            transition: all 0.3s ease;
            background-color: var(--pure-white);
        }

        .search-bar input:focus {
            outline: none;
            border-color: var(--primary-blue);
            box-shadow: 0 0 0 3px rgba(5, 12, 156, 0.1);
        }

        #search-btn {
            position: absolute;
            right: 1rem;
            top: 50%;
            transform: translateY(-50%);
            background: none;
            border: none;
            cursor: pointer;
            color: var(--text-light);
            transition: color 0.3s ease;
        }

        #search-btn:hover {
            color: var(--primary-blue);
        }

        /* Header Section */
        .courses-header {
            text-align: center;
            margin-bottom: 3rem;
            padding: 0 1rem;
        }

        .courses-title {
            font-size: 2.5rem;
            color: var(--primary-blue);
            margin-bottom: 1rem;
            position: relative;
            display: inline-block;
        }

        .courses-title::after {
            content: '';
            position: absolute;
            bottom: -10px;
            left: 50%;
            transform: translateX(-50%);
            width: 80px;
            height: 4px;
            background: linear-gradient(to right, var(--primary-blue), var(--secondary-blue));
            border-radius: 2px;
        }

        .courses-subtitle {
            color: var(--text-light);
            max-width: 700px;
            margin: 0 auto;
            font-size: 1.1rem;
        }

        /* Category Filter */
        .category-filter {
            display: flex;
            justify-content: center;
            flex-wrap: wrap;
            gap: 1rem;
            margin-bottom: 3rem;
        }

        .filter-btn {
            padding: 0.6rem 1.5rem;
            background: var(--pure-white);
            border: 1px solid #ddd;
            border-radius: 30px;
            color: var(--text-dark);
            font-weight: 500;
            cursor: pointer;
            transition: all 0.3s ease;
            font-size: 0.95rem;
        }

        .filter-btn:hover {
            background: var(--primary-blue);
            color: var(--pure-white);
            border-color: var(--primary-blue);
            transform: translateY(-2px);
        }

        .filter-btn.active {
            background: var(--primary-blue);
            color: var(--pure-white);
            border-color: var(--primary-blue);
        }

        /* Courses Grid */
        .courses-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
            gap: 2rem;
        }

        .course-card {
            background: var(--pure-white);
            border-radius: 12px;
            overflow: hidden;
            box-shadow: var(--card-shadow);
            transition: transform 0.3s ease, box-shadow 0.3s ease;
            display: flex;
            flex-direction: column;
            height: 100%;
            position: relative;
        }

        .course-card.highlighted {
            border: 2px solid var(--highlight-border);
            box-shadow: 0 10px 25px rgba(0, 201, 255, 0.2);
        }

        .course-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
        }

        .course-banner {
            width: 100%;
            object-fit: cover;
            display: block;
        }

        .course-content {
            padding: 1.5rem;
            flex-grow: 1;
            display: flex;
            flex-direction: column;
        }

        .course-category {
            display: inline-block;
            padding: 0.3rem 0.8rem;
            background: rgba(5, 12, 156, 0.1);
            color: var(--primary-blue);
            border-radius: 30px;
            font-size: 0.8rem;
            font-weight: 600;
            margin-bottom: 0.8rem;
            align-self: flex-start;
        }

        .course-title {
            font-size: 1.3rem;
            color: var(--text-dark);
            margin-bottom: 0.8rem;
            font-weight: 600;
            line-height: 1.3;
        }

        .course-description {
            color: var(--text-light);
            font-size: 0.95rem;
            margin-bottom: 1.5rem;
            display: -webkit-box;
            -webkit-line-clamp: 3;
            -webkit-box-orient: vertical;
            overflow: hidden;
            flex-grow: 1;
        }

        .course-footer {
            display: flex;
            justify-content: space-between;
            align-items: center;
            border-top: 1px solid #eee;
            padding-top: 1rem;
            margin-top: auto;
        }

        .course-price {
            font-size: 1.2rem;
            font-weight: 700;
            color: var(--primary-blue);
        }

        .course-price span {
            font-size: 0.9rem;
            color: var(--text-light);
            text-decoration: line-through;
            margin-left: 0.5rem;
            font-weight: normal;
        }

        .course-btn {
            padding: 0.5rem 1.2rem;
            background: var(--primary-blue);
            color: var(--pure-white);
            border: none;
            border-radius: 30px;
            font-weight: 500;
            cursor: pointer;
            transition: all 0.3s ease;
            text-decoration: none;
            font-size: 0.9rem;
        }

        .course-btn:hover {
            background: var(--secondary-blue);
            transform: translateY(-2px);
        }

        /* Offer Badge */
        .offer-badge {
            position: absolute;
            top: 15px;
            right: 15px;
            background-color: var(--discount-red);
            color: white;
            padding: 0.3rem 0.8rem;
            border-radius: 30px;
            font-size: 0.8rem;
            font-weight: 600;
            z-index: 1;
            box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
            animation: pulse 1.5s infinite;
        }


        @keyframes pulse {
            0% {
                transform: scale(1);
            }
            50% {
                transform: scale(1.05);
            }
            100% {
                transform: scale(1);
            }
        }

        /* Responsive Design */
        @media (max-width: 992px) {
            .courses-grid {
                grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
            }
        }

        @media (max-width: 768px) {
            .courses-container {
                padding-top: 4rem;
                margin-top:2rem;
            }
            
            .courses-title {
                font-size: 2rem;
            }
            
            .courses-subtitle {
                font-size: 1rem;
            }
            
            .course-banner {
                height: 100%;
                width:100%;
            }
        }

        @media (max-width: 576px) {
            .courses-title {
                font-size: 1.8rem;
            }
            
            .courses-grid {
                grid-template-columns: 1fr;
            }
            
            .category-filter {
                gap: 0.5rem;
            }
            
            .filter-btn {
                padding: 0.5rem 1rem;
                font-size: 0.85rem;
            }
        }

.free-btn {
  position: relative;
  padding: 12px 30px;
  font-size: 16px;
  font-weight: bold;
  color: #ffffff;
  background-color: #3572EF; /* secondary-blue */
  border: 2px solid transparent;
  border-radius: 50px;
  cursor: pointer;
  z-index: 1;
  overflow: hidden;
  transition: all 0.3s ease;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.free-btn::before {
  content: '';
  position: absolute;
  top: -2px;
  left: -2px;
  right: -2px;
  bottom: -2px;
  background: linear-gradient(
    120deg,
    #00C9FF,  /* accent-blue */
    #00C9FF,  /* highlight-border */
    #3572EF,
    #00C9FF
  );
  border-radius: 50px;
  z-index: -2;
  background-size: 300% 300%;
  animation: shineBorder 3s linear infinite;
}

.free-btn::after {
  content: '';
  position: absolute;
  top: 2px;
  left: 2px;
  right: 2px;
  bottom: 2px;
  background: #3572EF; /* same as button background */
  border-radius: 45px;
  z-index: -1;
}

@keyframes shineBorder {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}

.free-btn:hover {
  transform: scale(1.05);
  color: #00C9FF;
}
