/**
 * COURSE SINGLE PAGE - INNOVATIVE DESIGN
 * 
 * Ultra-modern, cutting-edge design with advanced visual effects
 * Glassmorphism, parallax, animations, and innovative layouts
 *
 * @package Coursee
 * @since 1.0.0
 */

/* ============================================
   COURSE SINGLE PAGE - INNOVATIVE DESIGN
   ============================================ */

.course-single-page {
	background: linear-gradient(to bottom, #f9fafb 0%, #ffffff 50%, #f9fafb 100%) !important;
	min-height: 100vh !important;
	padding: 0 !important;
	position: relative !important;
}

.course-single-page::before {
	content: '' !important;
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	background: 
		radial-gradient(circle at 20% 30%, rgba(86, 36, 208, 0.05) 0%, transparent 50%),
		radial-gradient(circle at 80% 70%, rgba(102, 126, 234, 0.05) 0%, transparent 50%) !important;
	pointer-events: none !important;
	z-index: 0 !important;
}

.course-single.udemy-style {
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	position: relative !important;
	z-index: 1 !important;
}

/* ============================================
   COURSE HERO SECTION - INNOVATIVE & STUNNING
   ============================================ */

.course-hero {
	background: linear-gradient(135deg, 
		#1c1d1f 0%,
		#2d2e30 25%,
		#1c1d1f 50%,
		#2d2e30 75%,
		#1c1d1f 100%) !important;
	background-size: 400% 400% !important;
	animation: hero-gradient 15s ease infinite !important;
	color: #ffffff !important;
	padding: 6rem 0 5rem 0 !important;
	position: relative !important;
	overflow: hidden !important;
}

@keyframes hero-gradient {
	0%, 100% { background-position: 0% 50%; }
	50% { background-position: 100% 50%; }
}

.course-hero::before {
	content: '' !important;
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	background: 
		radial-gradient(circle at 20% 30%, rgba(86, 36, 208, 0.2) 0%, transparent 50%),
		radial-gradient(circle at 80% 70%, rgba(102, 126, 234, 0.15) 0%, transparent 50%),
		radial-gradient(circle at 50% 50%, rgba(139, 92, 246, 0.1) 0%, transparent 70%) !important;
	pointer-events: none !important;
	z-index: 0 !important;
	animation: hero-glow 8s ease-in-out infinite alternate !important;
}

@keyframes hero-glow {
	0% { opacity: 0.5; }
	100% { opacity: 1; }
}

.course-hero::after {
	content: '' !important;
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	background-image: 
		linear-gradient(0deg, transparent 24%, rgba(255, 255, 255, 0.02) 25%, rgba(255, 255, 255, 0.02) 26%, transparent 27%, transparent 74%, rgba(255, 255, 255, 0.02) 75%, rgba(255, 255, 255, 0.02) 76%, transparent 77%, transparent),
		linear-gradient(90deg, transparent 24%, rgba(255, 255, 255, 0.02) 25%, rgba(255, 255, 255, 0.02) 26%, transparent 27%, transparent 74%, rgba(255, 255, 255, 0.02) 75%, rgba(255, 255, 255, 0.02) 76%, transparent 77%, transparent) !important;
	background-size: 50px 50px !important;
	opacity: 0.3 !important;
	pointer-events: none !important;
	z-index: 0 !important;
}

.course-hero-container {
	max-width: 1340px !important;
	margin: 0 auto !important;
	padding: 0 2rem !important;
	display: grid !important;
	grid-template-columns: 1fr 450px !important;
	gap: 5rem !important;
	align-items: center !important;
	position: relative !important;
	z-index: 1 !important;
}

.course-hero-content {
	position: relative !important;
	z-index: 2 !important;
	animation: fadeInUp 0.8s ease-out !important;
}

@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translateY(30px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.course-breadcrumb {
	display: flex !important;
	gap: 0.625rem !important;
	margin-bottom: 2rem !important;
	flex-wrap: wrap !important;
}

.breadcrumb-item {
	font-size: 0.8125rem !important;
	color: rgba(255, 255, 255, 0.9) !important;
	padding: 0.5rem 1rem !important;
	background: rgba(255, 255, 255, 0.12) !important;
	backdrop-filter: blur(20px) saturate(180%) !important;
	-webkit-backdrop-filter: blur(20px) saturate(180%) !important;
	border-radius: 8px !important;
	font-weight: 600 !important;
	transition: all 0.3s ease !important;
	border: 1px solid rgba(255, 255, 255, 0.1) !important;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
}

.breadcrumb-item:hover {
	background: rgba(255, 255, 255, 0.2) !important;
	color: #ffffff !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2) !important;
}

.course-hero-title {
	font-size: 3.5rem !important;
	font-weight: 900 !important;
	line-height: 1.1 !important;
	margin: 0 0 1.5rem 0 !important;
	color: #ffffff !important;
	letter-spacing: -0.03em !important;
	text-shadow: 0 4px 16px rgba(0, 0, 0, 0.3) !important;
	background: linear-gradient(135deg, #ffffff 0%, rgba(255, 255, 255, 0.9) 100%) !important;
	-webkit-background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
	background-clip: text !important;
	animation: title-shimmer 3s ease-in-out infinite !important;
}

@keyframes title-shimmer {
	0%, 100% { background-position: 0% 50%; }
	50% { background-position: 100% 50%; }
}

.course-hero-subtitle {
	font-size: 1.5rem !important;
	line-height: 1.6 !important;
	color: rgba(255, 255, 255, 0.95) !important;
	margin: 0 0 2.5rem 0 !important;
	font-weight: 400 !important;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.2) !important;
}

.course-hero-meta {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 1.25rem !important;
	align-items: center !important;
	margin-bottom: 2.5rem !important;
}

.course-rating-hero {
	display: flex !important;
	align-items: center !important;
	gap: 0.625rem !important;
	padding: 0.75rem 1.25rem !important;
	background: rgba(255, 255, 255, 0.1) !important;
	backdrop-filter: blur(20px) saturate(180%) !important;
	-webkit-backdrop-filter: blur(20px) saturate(180%) !important;
	border-radius: 12px !important;
	border: 1px solid rgba(255, 255, 255, 0.1) !important;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
}

.course-rating-hero .rating-stars {
	display: flex !important;
	gap: 0.1875rem !important;
}

.course-rating-hero .star {
	color: #fbbf24 !important;
	font-size: 1.25rem !important;
	filter: drop-shadow(0 2px 4px rgba(251, 191, 36, 0.4)) !important;
	animation: star-glow 2s ease-in-out infinite !important;
}

@keyframes star-glow {
	0%, 100% { filter: drop-shadow(0 2px 4px rgba(251, 191, 36, 0.4)); }
	50% { filter: drop-shadow(0 2px 8px rgba(251, 191, 36, 0.6)); }
}

.course-rating-hero .rating-value {
	font-weight: 700 !important;
	font-size: 1.125rem !important;
	color: #ffffff !important;
}

.course-rating-hero .rating-count {
	font-size: 0.9375rem !important;
	color: rgba(255, 255, 255, 0.9) !important;
}

.course-students-hero,
.course-level-hero,
.course-duration-hero {
	font-size: 0.875rem !important;
	color: rgba(255, 255, 255, 0.95) !important;
	padding: 0.75rem 1.25rem !important;
	background: rgba(255, 255, 255, 0.1) !important;
	backdrop-filter: blur(20px) saturate(180%) !important;
	-webkit-backdrop-filter: blur(20px) saturate(180%) !important;
	border-radius: 12px !important;
	font-weight: 600 !important;
	border: 1px solid rgba(255, 255, 255, 0.1) !important;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
	transition: all 0.3s ease !important;
}

.course-students-hero:hover,
.course-level-hero:hover,
.course-duration-hero:hover {
	background: rgba(255, 255, 255, 0.15) !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2) !important;
}

.course-instructor-hero {
	display: flex !important;
	align-items: center !important;
	gap: 0.75rem !important;
	margin-top: 2rem !important;
	padding-top: 2rem !important;
	border-top: 1px solid rgba(255, 255, 255, 0.15) !important;
}

.instructor-label {
	font-size: 0.875rem !important;
	color: rgba(255, 255, 255, 0.8) !important;
	font-weight: 400 !important;
}

.instructor-name {
	font-size: 1.125rem !important;
	font-weight: 700 !important;
	color: #ffffff !important;
	text-decoration: none !important;
	transition: all 0.3s ease !important;
	background: linear-gradient(135deg, #ffffff 0%, rgba(255, 255, 255, 0.8) 100%) !important;
	-webkit-background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
	background-clip: text !important;
}

.instructor-name:hover {
	background: linear-gradient(135deg, #ffffff 0%, #fbbf24 100%) !important;
	-webkit-background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
	background-clip: text !important;
	transform: translateX(4px) !important;
}

.course-badge-hero {
	display: inline-block !important;
	padding: 0.625rem 1.25rem !important;
	background: rgba(0, 0, 0, 0.8) !important;
	backdrop-filter: blur(20px) saturate(180%) !important;
	-webkit-backdrop-filter: blur(20px) saturate(180%) !important;
	color: #ffffff !important;
	font-size: 0.75rem !important;
	font-weight: 800 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.15em !important;
	border-radius: 8px !important;
	margin-top: 2rem !important;
	border: 1px solid rgba(255, 255, 255, 0.1) !important;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3) !important;
	transition: all 0.3s ease !important;
}

.course-badge-hero:hover {
	transform: scale(1.05) translateY(-2px) !important;
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.4) !important;
}

.course-hero-image {
	position: relative !important;
	border-radius: 16px !important;
	overflow: hidden !important;
	box-shadow: 0 32px 80px rgba(0, 0, 0, 0.5),
	            0 16px 32px rgba(0, 0, 0, 0.3) !important;
	background: #1c1d1f !important;
	animation: image-float 6s ease-in-out infinite !important;
	transform-style: preserve-3d !important;
}

@keyframes image-float {
	0%, 100% { transform: translateY(0) rotateY(0deg); }
	50% { transform: translateY(-10px) rotateY(2deg); }
}

.course-hero-image::before {
	content: '' !important;
	position: absolute !important;
	top: -50% !important;
	left: -50% !important;
	width: 200% !important;
	height: 200% !important;
	background: linear-gradient(45deg, 
		transparent 30%,
		rgba(255, 255, 255, 0.1) 50%,
		transparent 70%) !important;
	animation: shine 3s infinite !important;
	z-index: 1 !important;
	pointer-events: none !important;
}

@keyframes shine {
	0% { transform: translateX(-100%) translateY(-100%) rotate(45deg); }
	100% { transform: translateX(100%) translateY(100%) rotate(45deg); }
}

.course-hero-image img {
	width: 100% !important;
	height: auto !important;
	display: block !important;
	transition: transform 0.5s ease !important;
	position: relative !important;
	z-index: 0 !important;
}

.course-hero-image:hover img {
	transform: scale(1.05) !important;
}

/* ============================================
   COURSE MAIN WRAPPER - INNOVATIVE LAYOUT
   ============================================ */

.course-main-wrapper {
	max-width: 1340px !important;
	margin: 0 auto !important;
	padding: 5rem 2rem !important;
	display: grid !important;
	grid-template-columns: 1fr 420px !important;
	gap: 5rem !important;
	align-items: start !important;
	position: relative !important;
	z-index: 1 !important;
}

/* ============================================
   COURSE SECTIONS - INNOVATIVE CARDS
   ============================================ */

.course-section {
	background: rgba(255, 255, 255, 0.9) !important;
	backdrop-filter: blur(20px) saturate(180%) !important;
	-webkit-backdrop-filter: blur(20px) saturate(180%) !important;
	border-radius: 20px !important;
	padding: 3.5rem !important;
	margin-bottom: 3rem !important;
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08),
	            0 2px 8px rgba(0, 0, 0, 0.04),
	            inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
	border: 1px solid rgba(229, 231, 235, 0.5) !important;
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
	position: relative !important;
	overflow: hidden !important;
}

.course-section::before {
	content: '' !important;
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	height: 4px !important;
	background: linear-gradient(90deg, 
		#5624d0 0%,
		#667eea 25%,
		#8b5cf6 50%,
		#667eea 75%,
		#5624d0 100%) !important;
	background-size: 200% 100% !important;
	animation: border-flow 3s linear infinite !important;
	opacity: 0 !important;
	transition: opacity 0.3s ease !important;
}

@keyframes border-flow {
	0% { background-position: 0% 0%; }
	100% { background-position: 200% 0%; }
}

.course-section:hover::before {
	opacity: 1 !important;
}

.course-section:hover {
	transform: translateY(-4px) !important;
	box-shadow: 0 16px 48px rgba(0, 0, 0, 0.12),
	            0 4px 12px rgba(0, 0, 0, 0.08),
	            inset 0 1px 0 rgba(255, 255, 255, 1) !important;
	border-color: rgba(86, 36, 208, 0.3) !important;
}

.course-section-title {
	font-size: 2rem !important;
	font-weight: 900 !important;
	color: #1c1d1f !important;
	margin: 0 0 2.5rem 0 !important;
	padding-bottom: 1.5rem !important;
	border-bottom: 3px solid transparent !important;
	border-image: linear-gradient(90deg, #5624d0 0%, #667eea 100%) 1 !important;
	letter-spacing: -0.02em !important;
	position: relative !important;
	background: linear-gradient(135deg, #1c1d1f 0%, #5624d0 100%) !important;
	-webkit-background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
	background-clip: text !important;
}

.course-description-content {
	font-size: 1.125rem !important;
	line-height: 1.9 !important;
	color: #3e4143 !important;
}

.course-description-content p {
	margin-bottom: 1.5rem !important;
}

.course-description-content ul,
.course-description-content ol {
	margin-left: 2.5rem !important;
	margin-bottom: 1.5rem !important;
}

.course-description-content li {
	margin-bottom: 1rem !important;
	color: #3e4143 !important;
	position: relative !important;
	padding-left: 0.5rem !important;
}

.course-description-content li::marker {
	color: #5624d0 !important;
}

.course-description-content strong {
	color: #1c1d1f !important;
	font-weight: 700 !important;
}

/* Course Requirements */
.course-requirements-content {
	font-size: 1.125rem !important;
	line-height: 1.9 !important;
	color: #3e4143 !important;
}

.course-requirements-content ul {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

.course-requirements-content li {
	padding-left: 2rem !important;
	position: relative !important;
	margin-bottom: 1rem !important;
	transition: transform 0.2s ease !important;
}

.course-requirements-content li::before {
	content: '✓' !important;
	position: absolute !important;
	left: 0 !important;
	color: #5624d0 !important;
	font-size: 1.25rem !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	background: linear-gradient(135deg, #5624d0 0%, #667eea 100%) !important;
	-webkit-background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
	background-clip: text !important;
}

.course-requirements-content li:hover {
	transform: translateX(4px) !important;
}

/* ============================================
   INSTRUCTOR SECTION - INNOVATIVE DESIGN
   ============================================ */

.instructor-section {
	background: linear-gradient(135deg, 
		rgba(249, 250, 251, 0.9) 0%,
		rgba(255, 255, 255, 0.9) 100%) !important;
	backdrop-filter: blur(20px) saturate(180%) !important;
	-webkit-backdrop-filter: blur(20px) saturate(180%) !important;
	border: 1px solid rgba(229, 231, 235, 0.5) !important;
}

.instructor-card {
	display: flex !important;
	gap: 3rem !important;
	align-items: flex-start !important;
}

.instructor-avatar-large {
	flex-shrink: 0 !important;
	position: relative !important;
}

.instructor-avatar-large::before {
	content: '' !important;
	position: absolute !important;
	top: -4px !important;
	left: -4px !important;
	right: -4px !important;
	bottom: -4px !important;
	border-radius: 50% !important;
	background: linear-gradient(135deg, #5624d0 0%, #667eea 50%, #8b5cf6 100%) !important;
	z-index: -1 !important;
	animation: avatar-glow 3s ease-in-out infinite !important;
}

@keyframes avatar-glow {
	0%, 100% { opacity: 0.5; transform: scale(1); }
	50% { opacity: 1; transform: scale(1.05); }
}

.instructor-avatar-large img {
	width: 112px !important;
	height: 112px !important;
	border-radius: 50% !important;
	border: 4px solid #ffffff !important;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15) !important;
	transition: transform 0.3s ease !important;
}

.instructor-avatar-large:hover img {
	transform: scale(1.05) rotate(5deg) !important;
}

.instructor-details {
	flex: 1 !important;
}

.instructor-name-large {
	font-size: 1.75rem !important;
	font-weight: 900 !important;
	color: #1c1d1f !important;
	margin: 0 0 1rem 0 !important;
	letter-spacing: -0.02em !important;
	background: linear-gradient(135deg, #1c1d1f 0%, #5624d0 100%) !important;
	-webkit-background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
	background-clip: text !important;
}

.instructor-bio {
	font-size: 1.125rem !important;
	line-height: 1.8 !important;
	color: #6b7280 !important;
	margin: 0 0 1.5rem 0 !important;
}

.instructor-rating {
	display: flex !important;
	align-items: center !important;
	gap: 0.625rem !important;
	margin-bottom: 1.5rem !important;
}

.instructor-rating .rating-stars {
	display: flex !important;
	gap: 0.1875rem !important;
}

.instructor-rating .star {
	color: #fbbf24 !important;
	font-size: 1.125rem !important;
	filter: drop-shadow(0 2px 4px rgba(251, 191, 36, 0.3)) !important;
}

.instructor-rating .rating-value {
	font-weight: 700 !important;
	color: #1c1d1f !important;
	font-size: 1.125rem !important;
}

.instructor-profile-link {
	display: inline-block !important;
	padding: 1rem 2rem !important;
	background: linear-gradient(135deg, #1c1d1f 0%, #2d2e30 100%) !important;
	color: #ffffff !important;
	text-decoration: none !important;
	border-radius: 12px !important;
	font-weight: 700 !important;
	font-size: 0.9375rem !important;
	transition: all 0.3s ease !important;
	border: none !important;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
	position: relative !important;
	overflow: hidden !important;
}

.instructor-profile-link::before {
	content: '' !important;
	position: absolute !important;
	top: 0 !important;
	left: -100% !important;
	width: 100% !important;
	height: 100% !important;
	background: linear-gradient(90deg, 
		transparent 0%,
		rgba(255, 255, 255, 0.2) 50%,
		transparent 100%) !important;
	transition: left 0.5s ease !important;
}

.instructor-profile-link:hover::before {
	left: 100% !important;
}

.instructor-profile-link:hover {
	background: linear-gradient(135deg, #000000 0%, #1c1d1f 100%) !important;
	color: #ffffff !important;
	text-decoration: none !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25) !important;
}

/* ============================================
   COURSE SIDEBAR - INNOVATIVE STICKY CARD
   ============================================ */

.course-sidebar-sticky {
	position: sticky !important;
	top: 2rem !important;
}

.course-sidebar-card {
	background: rgba(255, 255, 255, 0.95) !important;
	backdrop-filter: blur(20px) saturate(180%) !important;
	-webkit-backdrop-filter: blur(20px) saturate(180%) !important;
	border-radius: 20px !important;
	padding: 0 !important;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.12),
	            0 4px 12px rgba(0, 0, 0, 0.08),
	            inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
	border: 1px solid rgba(209, 213, 219, 0.5) !important;
	overflow: hidden !important;
	transition: all 0.3s ease !important;
}

.course-sidebar-card:hover {
	box-shadow: 0 16px 48px rgba(0, 0, 0, 0.15),
	            0 6px 16px rgba(0, 0, 0, 0.1),
	            inset 0 1px 0 rgba(255, 255, 255, 1) !important;
	transform: translateY(-2px) !important;
}

.course-sidebar-image {
	width: 100% !important;
	height: 240px !important;
	overflow: hidden !important;
	background: linear-gradient(135deg, #f3f4f6 0%, #e5e7eb 100%) !important;
	position: relative !important;
}

.course-sidebar-image::before {
	content: '' !important;
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	background: linear-gradient(to bottom, 
		transparent 0%,
		rgba(0, 0, 0, 0.1) 100%) !important;
	z-index: 1 !important;
	pointer-events: none !important;
}

.course-sidebar-image img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	transition: transform 0.5s ease !important;
}

.course-sidebar-card:hover .course-sidebar-image img {
	transform: scale(1.1) !important;
}

.course-sidebar-price {
	padding: 2.5rem 2rem !important;
	border-bottom: 1px solid rgba(229, 231, 235, 0.5) !important;
	background: linear-gradient(to bottom, #ffffff 0%, #fafbfc 100%) !important;
}

.price-original {
	font-size: 1.125rem !important;
	color: #9ca3af !important;
	text-decoration: line-through !important;
	margin-right: 1rem !important;
	font-weight: 400 !important;
}

.price-current {
	font-size: 2.5rem !important;
	font-weight: 900 !important;
	color: #1c1d1f !important;
	letter-spacing: -0.03em !important;
	background: linear-gradient(135deg, #1c1d1f 0%, #5624d0 100%) !important;
	-webkit-background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
	background-clip: text !important;
	display: block !important;
	margin-top: 0.5rem !important;
}

.price-free {
	font-size: 2.5rem !important;
	font-weight: 900 !important;
	color: #1c1d1f !important;
	letter-spacing: -0.03em !important;
	background: linear-gradient(135deg, #1c1d1f 0%, #5624d0 100%) !important;
	-webkit-background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
	background-clip: text !important;
}

.button-large {
	padding: 1.25rem 2rem !important;
	font-size: 1.0625rem !important;
	font-weight: 700 !important;
	border-radius: 12px !important;
	background: linear-gradient(135deg, #1c1d1f 0%, #2d2e30 100%) !important;
	color: #ffffff !important;
	border: none !important;
	transition: all 0.3s ease !important;
	position: relative !important;
	overflow: hidden !important;
}

.button-large::before {
	content: '' !important;
	position: absolute !important;
	top: 0 !important;
	left: -100% !important;
	width: 100% !important;
	height: 100% !important;
	background: linear-gradient(90deg, 
		transparent 0%,
		rgba(255, 255, 255, 0.2) 50%,
		transparent 100%) !important;
	transition: left 0.5s ease !important;
}

.button-large:hover::before {
	left: 100% !important;
}

.button-large:hover {
	background: linear-gradient(135deg, #000000 0%, #1c1d1f 100%) !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2) !important;
}

.button-full {
	width: 100% !important;
	display: block !important;
	text-align: center !important;
}

.course-progress-sidebar {
	padding: 2rem !important;
	border-bottom: 1px solid rgba(229, 231, 235, 0.5) !important;
	background: linear-gradient(to bottom, #fafbfc 0%, #ffffff 100%) !important;
}

.progress-bar {
	width: 100% !important;
	height: 10px !important;
	background: #e5e7eb !important;
	border-radius: 10px !important;
	overflow: hidden !important;
	margin-bottom: 1rem !important;
	position: relative !important;
}

.progress-bar::before {
	content: '' !important;
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	background: linear-gradient(90deg, 
		transparent 0%,
		rgba(255, 255, 255, 0.3) 50%,
		transparent 100%) !important;
	animation: progress-shine 2s infinite !important;
}

@keyframes progress-shine {
	0% { transform: translateX(-100%); }
	100% { transform: translateX(100%); }
}

.progress-fill {
	height: 100% !important;
	background: linear-gradient(90deg, #5624d0 0%, #667eea 50%, #8b5cf6 100%) !important;
	background-size: 200% 100% !important;
	border-radius: 10px !important;
	transition: width 0.5s ease !important;
	animation: progress-gradient 3s ease infinite !important;
	position: relative !important;
	z-index: 1 !important;
}

@keyframes progress-gradient {
	0%, 100% { background-position: 0% 0%; }
	50% { background-position: 100% 0%; }
}

.progress-text {
	font-size: 0.9375rem !important;
	color: #6b7280 !important;
	font-weight: 600 !important;
}

.course-features-sidebar {
	padding: 2rem !important;
	border-bottom: 1px solid rgba(229, 231, 235, 0.5) !important;
	background: linear-gradient(to bottom, #ffffff 0%, #fafbfc 100%) !important;
}

.course-features-sidebar h3 {
	font-size: 1.125rem !important;
	font-weight: 700 !important;
	color: #1c1d1f !important;
	margin: 0 0 1.5rem 0 !important;
	letter-spacing: -0.01em !important;
}

.course-features-list {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

.course-features-list li {
	display: flex !important;
	align-items: center !important;
	gap: 1rem !important;
	padding: 1rem 0 !important;
	border-bottom: 1px solid rgba(243, 244, 246, 0.8) !important;
	font-size: 1rem !important;
	color: #3e4143 !important;
	transition: all 0.2s ease !important;
}

.course-features-list li:last-child {
	border-bottom: none !important;
}

.course-features-list li:hover {
	transform: translateX(4px) !important;
	color: #5624d0 !important;
}

.feature-icon {
	color: #5624d0 !important;
	font-size: 1.25rem !important;
	font-weight: 700 !important;
	flex-shrink: 0 !important;
	background: linear-gradient(135deg, #5624d0 0%, #667eea 100%) !important;
	-webkit-background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
	background-clip: text !important;
	animation: icon-bounce 2s ease-in-out infinite !important;
}

@keyframes icon-bounce {
	0%, 100% { transform: scale(1); }
	50% { transform: scale(1.1); }
}

.course-share {
	padding: 2rem !important;
	background: linear-gradient(to bottom, #fafbfc 0%, #ffffff 100%) !important;
}

.course-share-btn {
	width: 100% !important;
	border-radius: 12px !important;
	border: 2px solid #d1d5db !important;
	background: transparent !important;
	color: #1c1d1f !important;
	transition: all 0.3s ease !important;
}

.course-share-btn:hover {
	border-color: #5624d0 !important;
	color: #5624d0 !important;
	background: rgba(86, 36, 208, 0.05) !important;
	transform: translateY(-2px) !important;
}

/* ============================================
   RESPONSIVE DESIGN
   ============================================ */

@media (max-width: 1024px) {
	.course-hero-container {
		grid-template-columns: 1fr !important;
		gap: 4rem !important;
	}
	
	.course-hero-title {
		font-size: 2.75rem !important;
	}
	
	.course-main-wrapper {
		grid-template-columns: 1fr !important;
		gap: 4rem !important;
		padding: 4rem 2rem !important;
	}
	
	.course-sidebar-sticky {
		position: relative !important;
		top: 0 !important;
	}
}

@media (max-width: 768px) {
	.course-hero {
		padding: 4rem 0 3rem 0 !important;
	}
	
	.course-hero-container {
		padding: 0 1.5rem !important;
	}
	
	.course-hero-title {
		font-size: 2rem !important;
	}
	
	.course-hero-subtitle {
		font-size: 1.25rem !important;
	}
	
	.course-main-wrapper {
		padding: 3rem 1.5rem !important;
	}
	
	.course-section {
		padding: 2.5rem 2rem !important;
		border-radius: 16px !important;
	}
	
	.course-section-title {
		font-size: 1.625rem !important;
	}
	
	.instructor-card {
		flex-direction: column !important;
		text-align: center !important;
		gap: 2rem !important;
	}
	
	.instructor-avatar-large {
		margin: 0 auto !important;
	}
}

