/**
 * ULTIMATE GROUPS DESIGN
 * Ultra-professional, modern design for groups pages
 *
 * @package Coursee
 * @since 1.0.0
 */

/* ============================================
   GROUPS PAGE - ULTIMATE DESIGN
   ============================================ */

.coursee-groups-list {
	max-width: 1400px !important;
	margin: 0 auto !important;
	padding: 4rem 2rem !important;
	background: linear-gradient(to bottom, #f9fafb 0%, #ffffff 50%, #f9fafb 100%) !important;
	min-height: 100vh !important;
}

/* Groups Header - Enhanced */
.groups-page-header {
	text-align: center !important;
	margin-bottom: 4rem !important;
	padding: 4rem 2rem !important;
	background: linear-gradient(135deg, 
		#667eea 0%,
		#764ba2 25%,
		#667eea 50%,
		#764ba2 75%,
		#667eea 100%) !important;
	background-size: 400% 400% !important;
	animation: header-gradient 15s ease infinite !important;
	color: #ffffff !important;
	border-radius: 24px !important;
	position: relative !important;
	overflow: hidden !important;
	box-shadow: 0 20px 60px rgba(102, 126, 234, 0.3) !important;
}

@keyframes header-gradient {
	0%, 100% { background-position: 0% 50%; }
	50% { background-position: 100% 50%; }
}

.groups-page-header::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(255, 255, 255, 0.1) 0%, transparent 50%),
		radial-gradient(circle at 80% 70%, rgba(255, 255, 255, 0.1) 0%, transparent 50%) !important;
	pointer-events: none !important;
	z-index: 0 !important;
}

.groups-page-header::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.03) 25%, rgba(255, 255, 255, 0.03) 26%, transparent 27%, transparent 74%, rgba(255, 255, 255, 0.03) 75%, rgba(255, 255, 255, 0.03) 76%, transparent 77%, transparent),
		linear-gradient(90deg, transparent 24%, rgba(255, 255, 255, 0.03) 25%, rgba(255, 255, 255, 0.03) 26%, transparent 27%, transparent 74%, rgba(255, 255, 255, 0.03) 75%, rgba(255, 255, 255, 0.03) 76%, transparent 77%, transparent) !important;
	background-size: 50px 50px !important;
	opacity: 0.3 !important;
	pointer-events: none !important;
	z-index: 0 !important;
}

.groups-page-header h1 {
	font-size: 3.5rem !important;
	font-weight: 900 !important;
	margin: 0 0 1rem 0 !important;
	position: relative !important;
	z-index: 1 !important;
	text-shadow: 0 4px 16px rgba(0, 0, 0, 0.2) !important;
	letter-spacing: -0.03em !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;
}

.groups-page-header p {
	font-size: 1.375rem !important;
	margin: 0 !important;
	opacity: 0.95 !important;
	position: relative !important;
	z-index: 1 !important;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
}

/* Groups Grid - Enhanced */
.groups-grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(360px, 1fr)) !important;
	gap: 2.5rem !important;
	margin-top: 2rem !important;
}

/* Group Item Card - Ultimate Design */
.group-item {
	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: 24px !important;
	padding: 2.5rem !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;
	display: flex !important;
	flex-direction: column !important;
	height: 100% !important;
}

.group-item::before {
	content: '' !important;
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	height: 4px !important;
	background: linear-gradient(90deg, 
		#667eea 0%,
		#764ba2 25%,
		#667eea 50%,
		#764ba2 75%,
		#667eea 100%) !important;
	background-size: 200% 100% !important;
	animation: top-border-flow 3s linear infinite !important;
	transform: scaleX(0) !important;
	transition: transform 0.4s ease !important;
}

@keyframes top-border-flow {
	0% { background-position: 0% 0%; }
	100% { background-position: 200% 0%; }
}

.group-item:hover::before {
	transform: scaleX(1) !important;
}

.group-item:hover {
	transform: translateY(-8px) scale(1.02) !important;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.12),
	            0 8px 24px rgba(0, 0, 0, 0.08),
	            inset 0 1px 0 rgba(255, 255, 255, 1) !important;
	border-color: rgba(102, 126, 234, 0.3) !important;
}

/* Group Header */
.group-item-header {
	display: flex !important;
	align-items: flex-start !important;
	gap: 1.5rem !important;
	margin-bottom: 2rem !important;
}

.group-icon {
	width: 80px !important;
	height: 80px !important;
	border-radius: 16px !important;
	background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 2.5rem !important;
	flex-shrink: 0 !important;
	color: #ffffff !important;
	box-shadow: 0 8px 24px rgba(102, 126, 234, 0.4) !important;
	transition: all 0.3s ease !important;
	position: relative !important;
	overflow: hidden !important;
}

.group-icon::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.3) 50%,
		transparent 70%) !important;
	animation: icon-shine 3s infinite !important;
	z-index: 1 !important;
	pointer-events: none !important;
}

@keyframes icon-shine {
	0% { transform: translateX(-100%) translateY(-100%) rotate(45deg); }
	100% { transform: translateX(100%) translateY(100%) rotate(45deg); }
}

.group-item:hover .group-icon {
	transform: scale(1.1) rotate(5deg) !important;
	box-shadow: 0 12px 32px rgba(102, 126, 234, 0.5) !important;
}

.group-item h3 {
	font-size: 1.75rem !important;
	font-weight: 900 !important;
	color: #1a1a1a !important;
	margin: 0 !important;
	flex: 1 !important;
	line-height: 1.3 !important;
	letter-spacing: -0.02em !important;
	transition: color 0.3s ease !important;
}

.group-item:hover h3 {
	color: #667eea !important;
}

/* Group Content */
.group-item p {
	font-size: 1.0625rem !important;
	line-height: 1.7 !important;
	color: #6b7280 !important;
	margin: 0 0 2rem 0 !important;
	flex: 1 !important;
}

/* Group Meta */
.group-meta {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 1.25rem !important;
	margin-bottom: 2rem !important;
	padding-top: 2rem !important;
	border-top: 1px solid rgba(229, 231, 235, 0.5) !important;
}

.group-meta-item {
	display: flex !important;
	align-items: center !important;
	gap: 0.625rem !important;
	font-size: 0.9375rem !important;
	color: #6b7280 !important;
	padding: 0.625rem 1rem !important;
	background: rgba(249, 250, 251, 0.8) !important;
	border-radius: 10px !important;
	transition: all 0.3s ease !important;
}

.group-meta-item:hover {
	background: rgba(102, 126, 234, 0.1) !important;
	color: #667eea !important;
	transform: translateY(-2px) !important;
}

.group-meta-item-icon {
	width: 24px !important;
	height: 24px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	color: #667eea !important;
	font-size: 1.125rem !important;
}

.group-members-count,
.group-posts-count {
	font-weight: 700 !important;
	color: #1a1a1a !important;
}

/* Group Actions */
.group-actions {
	display: flex !important;
	gap: 1rem !important;
	margin-top: auto !important;
}

.group-item .button {
	flex: 1 !important;
	padding: 1rem 1.5rem !important;
	font-weight: 700 !important;
	border-radius: 12px !important;
	text-align: center !important;
	transition: all 0.3s ease !important;
	border: 2px solid transparent !important;
	font-size: 0.9375rem !important;
	position: relative !important;
	overflow: hidden !important;
}

.group-item .button::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;
}

.group-item .button:hover::before {
	left: 100% !important;
}

.group-item .button-primary {
	background: linear-gradient(135deg, #1a1a1a 0%, #2d2e30 100%) !important;
	color: #ffffff !important;
	border-color: transparent !important;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
}

.group-item .button-primary:hover {
	background: linear-gradient(135deg, #000000 0%, #1a1a1a 100%) !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25) !important;
}

.group-item .button-outline {
	background: transparent !important;
	color: #1a1a1a !important;
	border-color: #d1d5db !important;
}

.group-item .button-outline:hover {
	background: #1a1a1a !important;
	color: #ffffff !important;
	border-color: #1a1a1a !important;
	transform: translateY(-2px) !important;
}

/* Create Group Button */
.create-group-section {
	text-align: center !important;
	margin-bottom: 4rem !important;
}

.create-group-button {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.875rem !important;
	padding: 1.25rem 2.5rem !important;
	background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
	color: #ffffff !important;
	font-size: 1.125rem !important;
	font-weight: 700 !important;
	border-radius: 16px !important;
	text-decoration: none !important;
	box-shadow: 0 8px 24px rgba(102, 126, 234, 0.4) !important;
	transition: all 0.3s ease !important;
	border: none !important;
	cursor: pointer !important;
	position: relative !important;
	overflow: hidden !important;
}

.create-group-button::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;
}

.create-group-button:hover::before {
	left: 100% !important;
}

.create-group-button:hover {
	transform: translateY(-4px) scale(1.02) !important;
	box-shadow: 0 12px 32px rgba(102, 126, 234, 0.5) !important;
}

.create-group-button-icon {
	font-size: 1.5rem !important;
}

/* Empty State */
.coursee-groups-list > p {
	text-align: center !important;
	padding: 5rem 2rem !important;
	font-size: 1.25rem !important;
	color: #6b7280 !important;
	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: 24px !important;
	border: 2px dashed rgba(229, 231, 235, 0.8) !important;
}

/* Responsive Design */
@media (max-width: 1024px) {
	.groups-grid {
		grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)) !important;
		gap: 2rem !important;
	}
}

@media (max-width: 768px) {
	.coursee-groups-list {
		padding: 2rem 1rem !important;
	}
	
	.groups-page-header {
		padding: 3rem 1.5rem !important;
		margin-bottom: 3rem !important;
	}
	
	.groups-page-header h1 {
		font-size: 2.25rem !important;
	}
	
	.groups-page-header p {
		font-size: 1.125rem !important;
	}
	
	.groups-grid {
		grid-template-columns: 1fr !important;
		gap: 1.5rem !important;
	}
	
	.group-item {
		padding: 2rem !important;
	}
	
	.group-item h3 {
		font-size: 1.5rem !important;
	}
	
	.group-actions {
		flex-direction: column !important;
	}
	
	.group-item .button {
		width: 100% !important;
	}
}

