/**
 * COURSE SINGLE PAGE - ULTRA BEAUTIFUL DESIGN
 * 
 * Professional, elegant design inspired by top LMS platforms
 * Ultra clean, spacious, and visually stunning
 *
 * @package Coursee
 * @since 1.0.0
 */

/* ============================================
   COURSE SINGLE PAGE - ULTRA BEAUTIFUL
   ============================================ */

.course-single-page {
	background: #ffffff !important;
	min-height: 100vh !important;
	padding: 0 !important;
}

.course-single.udemy-style {
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* ============================================
   COURSE HERO SECTION - STUNNING
   ============================================ */

.course-hero {
	background: linear-gradient(135deg, #1c1d1f 0%, #2d2e30 50%, #1c1d1f 100%) !important;
	color: #ffffff !important;
	padding: 5rem 0 4rem 0 !important;
	position: relative !important;
	overflow: hidden !important;
}

.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% 50%, rgba(86, 36, 208, 0.15) 0%, transparent 50%),
	            radial-gradient(circle at 80% 80%, rgba(102, 126, 234, 0.1) 0%, transparent 50%) !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 420px !important;
	gap: 4rem !important;
	align-items: center !important;
	position: relative !important;
	z-index: 1 !important;
}

.course-hero-content {
	position: relative !important;
	z-index: 2 !important;
}

.course-breadcrumb {
	display: flex !important;
	gap: 0.5rem !important;
	margin-bottom: 1.5rem !important;
	flex-wrap: wrap !important;
}

.breadcrumb-item {
	font-size: 0.8125rem !important;
	color: rgba(255, 255, 255, 0.85) !important;
	padding: 0.375rem 0.875rem !important;
	background: rgba(255, 255, 255, 0.1) !important;
	border-radius: 4px !important;
	backdrop-filter: blur(10px) !important;
	-webkit-backdrop-filter: blur(10px) !important;
	font-weight: 500 !important;
	transition: all 0.2s ease !important;
}

.breadcrumb-item:hover {
	background: rgba(255, 255, 255, 0.15) !important;
	color: #ffffff !important;
}

.course-hero-title {
	font-size: 3rem !important;
	font-weight: 900 !important;
	line-height: 1.15 !important;
	margin: 0 0 1.25rem 0 !important;
	color: #ffffff !important;
	letter-spacing: -0.02em !important;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.2) !important;
}

.course-hero-subtitle {
	font-size: 1.375rem !important;
	line-height: 1.6 !important;
	color: rgba(255, 255, 255, 0.9) !important;
	margin: 0 0 2rem 0 !important;
	font-weight: 400 !important;
}

.course-hero-meta {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 1rem !important;
	align-items: center !important;
	margin-bottom: 2rem !important;
}

.course-rating-hero {
	display: flex !important;
	align-items: center !important;
	gap: 0.5rem !important;
}

.course-rating-hero .rating-stars {
	display: flex !important;
	gap: 0.125rem !important;
}

.course-rating-hero .star {
	color: #fbbf24 !important;
	font-size: 1.125rem !important;
	filter: drop-shadow(0 1px 2px rgba(251, 191, 36, 0.3)) !important;
}

.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.85) !important;
}

.course-students-hero,
.course-level-hero,
.course-duration-hero {
	font-size: 0.875rem !important;
	color: rgba(255, 255, 255, 0.9) !important;
	padding: 0.5rem 1rem !important;
	background: rgba(255, 255, 255, 0.1) !important;
	border-radius: 6px !important;
	backdrop-filter: blur(10px) !important;
	-webkit-backdrop-filter: blur(10px) !important;
	font-weight: 500 !important;
	border: 1px solid rgba(255, 255, 255, 0.1) !important;
}

.course-instructor-hero {
	display: flex !important;
	align-items: center !important;
	gap: 0.625rem !important;
	margin-top: 1.5rem !important;
	padding-top: 1.5rem !important;
	border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
}

.instructor-label {
	font-size: 0.875rem !important;
	color: rgba(255, 255, 255, 0.75) !important;
	font-weight: 400 !important;
}

.instructor-name {
	font-size: 1.0625rem !important;
	font-weight: 600 !important;
	color: #ffffff !important;
	text-decoration: none !important;
	transition: color 0.2s ease !important;
}

.instructor-name:hover {
	color: rgba(255, 255, 255, 0.8) !important;
	text-decoration: underline !important;
}

.course-badge-hero {
	display: inline-block !important;
	padding: 0.5rem 1rem !important;
	background: #000000 !important;
	color: #ffffff !important;
	font-size: 0.75rem !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.1em !important;
	border-radius: 0 !important;
	margin-top: 1.5rem !important;
}

.course-hero-image {
	position: relative !important;
	border-radius: 8px !important;
	overflow: hidden !important;
	box-shadow: 0 24px 64px rgba(0, 0, 0, 0.4), 0 8px 16px rgba(0, 0, 0, 0.2) !important;
	background: #1c1d1f !important;
}

.course-hero-image img {
	width: 100% !important;
	height: auto !important;
	display: block !important;
	transition: transform 0.3s ease !important;
}

.course-hero-image:hover img {
	transform: scale(1.02) !important;
}

/* ============================================
   COURSE MAIN WRAPPER - SPACIOUS & ELEGANT
   ============================================ */

.course-main-wrapper {
	max-width: 1340px !important;
	margin: 0 auto !important;
	padding: 4rem 2rem !important;
	display: grid !important;
	grid-template-columns: 1fr 400px !important;
	gap: 4rem !important;
	align-items: start !important;
}

/* ============================================
   COURSE SECTIONS - BEAUTIFUL CARDS
   ============================================ */

.course-section {
	background: #ffffff !important;
	border-radius: 0 !important;
	padding: 3rem !important;
	margin-bottom: 2.5rem !important;
	box-shadow: none !important;
	border: 1px solid #e5e7eb !important;
	transition: box-shadow 0.3s ease !important;
}

.course-section:hover {
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05) !important;
}

.course-section-title {
	font-size: 1.75rem !important;
	font-weight: 900 !important;
	color: #1c1d1f !important;
	margin: 0 0 2rem 0 !important;
	padding-bottom: 1.25rem !important;
	border-bottom: 2px solid #e5e7eb !important;
	letter-spacing: -0.01em !important;
}

.course-description-content {
	font-size: 1.0625rem !important;
	line-height: 1.8 !important;
	color: #3e4143 !important;
}

.course-description-content p {
	margin-bottom: 1.25rem !important;
}

.course-description-content ul,
.course-description-content ol {
	margin-left: 2rem !important;
	margin-bottom: 1.25rem !important;
}

.course-description-content li {
	margin-bottom: 0.75rem !important;
	color: #3e4143 !important;
}

.course-description-content strong {
	color: #1c1d1f !important;
	font-weight: 700 !important;
}

/* Course Requirements */
.course-requirements-content {
	font-size: 1.0625rem !important;
	line-height: 1.8 !important;
	color: #3e4143 !important;
}

.course-requirements-content ul {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

.course-requirements-content li {
	padding-left: 1.75rem !important;
	position: relative !important;
	margin-bottom: 0.75rem !important;
}

.course-requirements-content li::before {
	content: '•' !important;
	position: absolute !important;
	left: 0 !important;
	color: #5624d0 !important;
	font-size: 1.5rem !important;
	font-weight: 700 !important;
	line-height: 1 !important;
}

/* ============================================
   INSTRUCTOR SECTION - ELEGANT
   ============================================ */

.instructor-section {
	background: #f9fafb !important;
	border: 1px solid #e5e7eb !important;
}

.instructor-card {
	display: flex !important;
	gap: 2.5rem !important;
	align-items: flex-start !important;
}

.instructor-avatar-large {
	flex-shrink: 0 !important;
}

.instructor-avatar-large img {
	width: 112px !important;
	height: 112px !important;
	border-radius: 50% !important;
	border: 3px solid #ffffff !important;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
}

.instructor-details {
	flex: 1 !important;
}

.instructor-name-large {
	font-size: 1.5rem !important;
	font-weight: 900 !important;
	color: #1c1d1f !important;
	margin: 0 0 0.75rem 0 !important;
	letter-spacing: -0.01em !important;
}

.instructor-bio {
	font-size: 1.0625rem !important;
	line-height: 1.7 !important;
	color: #6b7280 !important;
	margin: 0 0 1.25rem 0 !important;
}

.instructor-rating {
	display: flex !important;
	align-items: center !important;
	gap: 0.5rem !important;
	margin-bottom: 1.25rem !important;
}

.instructor-rating .rating-stars {
	display: flex !important;
	gap: 0.125rem !important;
}

.instructor-rating .star {
	color: #fbbf24 !important;
	font-size: 1rem !important;
}

.instructor-rating .rating-value {
	font-weight: 700 !important;
	color: #1c1d1f !important;
	font-size: 1rem !important;
}

.instructor-profile-link {
	display: inline-block !important;
	padding: 0.875rem 1.75rem !important;
	background: #1c1d1f !important;
	color: #ffffff !important;
	text-decoration: none !important;
	border-radius: 0 !important;
	font-weight: 700 !important;
	font-size: 0.9375rem !important;
	transition: all 0.2s ease !important;
	border: 1px solid #1c1d1f !important;
}

.instructor-profile-link:hover {
	background: #000000 !important;
	color: #ffffff !important;
	text-decoration: none !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
}

/* ============================================
   COURSE SIDEBAR - STUNNING STICKY CARD
   ============================================ */

.course-sidebar-sticky {
	position: sticky !important;
	top: 2rem !important;
}

.course-sidebar-card {
	background: #ffffff !important;
	border-radius: 0 !important;
	padding: 0 !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
	border: 1px solid #d1d5db !important;
	overflow: hidden !important;
}

.course-sidebar-image {
	width: 100% !important;
	height: 220px !important;
	overflow: hidden !important;
	background: #f3f4f6 !important;
}

.course-sidebar-image img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
}

.course-sidebar-price {
	padding: 2rem 1.5rem !important;
	border-bottom: 1px solid #e5e7eb !important;
}

.price-original {
	font-size: 1rem !important;
	color: #6b7280 !important;
	text-decoration: line-through !important;
	margin-right: 0.75rem !important;
	font-weight: 400 !important;
}

.price-current {
	font-size: 2.25rem !important;
	font-weight: 900 !important;
	color: #1c1d1f !important;
	letter-spacing: -0.02em !important;
}

.price-free {
	font-size: 2.25rem !important;
	font-weight: 900 !important;
	color: #1c1d1f !important;
	letter-spacing: -0.02em !important;
}

.button-large {
	padding: 1rem 2rem !important;
	font-size: 1rem !important;
	font-weight: 700 !important;
	border-radius: 0 !important;
}

.button-full {
	width: 100% !important;
	display: block !important;
	text-align: center !important;
}

.course-progress-sidebar {
	padding: 1.5rem !important;
	border-bottom: 1px solid #e5e7eb !important;
}

.progress-bar {
	width: 100% !important;
	height: 8px !important;
	background: #e5e7eb !important;
	border-radius: 0 !important;
	overflow: hidden !important;
	margin-bottom: 0.75rem !important;
}

.progress-fill {
	height: 100% !important;
	background: #1c1d1f !important;
	border-radius: 0 !important;
	transition: width 0.3s ease !important;
}

.progress-text {
	font-size: 0.875rem !important;
	color: #6b7280 !important;
	font-weight: 600 !important;
}

.course-features-sidebar {
	padding: 1.5rem !important;
	border-bottom: 1px solid #e5e7eb !important;
}

.course-features-sidebar h3 {
	font-size: 1rem !important;
	font-weight: 700 !important;
	color: #1c1d1f !important;
	margin: 0 0 1.25rem 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: 0.875rem !important;
	padding: 0.875rem 0 !important;
	border-bottom: 1px solid #f3f4f6 !important;
	font-size: 0.9375rem !important;
	color: #3e4143 !important;
}

.course-features-list li:last-child {
	border-bottom: none !important;
}

.feature-icon {
	color: #1c1d1f !important;
	font-size: 1.125rem !important;
	font-weight: 700 !important;
	flex-shrink: 0 !important;
}

.course-share {
	padding: 1.5rem !important;
}

.course-share-btn {
	width: 100% !important;
	border-radius: 0 !important;
}

/* ============================================
   RESPONSIVE DESIGN
   ============================================ */

@media (max-width: 1024px) {
	.course-hero-container {
		grid-template-columns: 1fr !important;
		gap: 3rem !important;
	}
	
	.course-hero-title {
		font-size: 2.25rem !important;
	}
	
	.course-main-wrapper {
		grid-template-columns: 1fr !important;
		gap: 3rem !important;
		padding: 3rem 2rem !important;
	}
	
	.course-sidebar-sticky {
		position: relative !important;
		top: 0 !important;
	}
}

@media (max-width: 768px) {
	.course-hero {
		padding: 3rem 0 2.5rem 0 !important;
	}
	
	.course-hero-container {
		padding: 0 1.5rem !important;
	}
	
	.course-hero-title {
		font-size: 1.875rem !important;
	}
	
	.course-hero-subtitle {
		font-size: 1.125rem !important;
	}
	
	.course-main-wrapper {
		padding: 2.5rem 1.5rem !important;
	}
	
	.course-section {
		padding: 2rem 1.5rem !important;
	}
	
	.course-section-title {
		font-size: 1.5rem !important;
	}
	
	.instructor-card {
		flex-direction: column !important;
		text-align: center !important;
		gap: 1.5rem !important;
	}
	
	.instructor-avatar-large {
		margin: 0 auto !important;
	}
}

