/**
 * Case Studies — Elementor Widget Styles (Modern)
 *
 * Modern design with:
 * - Phosphor Icons integration
 * - Smooth animations & hover effects
 * - Glass morphism effects
 * - Responsive layout
 *
 * All selectors nested under .csp-case-studies-wrapper for max specificity.
 * Depends on: csp-variables.css, csp-utilities.css
 *
 * @package Case_Studies_Portfolio
 */

.csp-case-studies-wrapper {
	padding: var(--csp-space-xl) 0;

	/* ── Filter Buttons ── */
	& .csp-filter-buttons {
		display: flex;
		flex-wrap: wrap;
		gap: var(--csp-space-sm);
		margin-bottom: var(--csp-space-xl);
		justify-content: center;

		& .csp-filter-btn {
			display: inline-flex;
			align-items: center;
			gap: var(--csp-space-xs);
			padding: var(--csp-space-sm) var(--csp-space-lg);
			background: var(--csp-bg-light);
			border: 1px solid var(--csp-border);
			border-radius: var(--csp-radius-sm);
			cursor: pointer;
			font-size: var(--csp-font-size-sm);
			font-weight: 500;
			color: var(--csp-text-light);
			transition: all var(--csp-transition);

			&:hover {
				background: rgba(14, 165, 233, 0.1);
				border-color: var(--csp-primary);
				color: var(--csp-primary);
			}

			&.active {
				background: var(--csp-primary);
				color: var(--csp-text-white);
				border-color: var(--csp-primary);
				box-shadow: 0 4px 12px rgba(14, 165, 233, 0.3);
			}
		}
	}

	/* ── Carousel Container ── */
	& .csp-carousel-container {
		position: relative;
		padding: 0 var(--csp-space-xl);

		/* ── Case Study Cards ── */
		& .csp-case-study-card {
			background: var(--csp-bg-white);
			border-radius: var(--csp-radius-lg);
			overflow: hidden;
			box-shadow: 0 2px 12px var(--csp-shadow-sm);
			transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);

			&:hover {
				transform: translateY(-8px);
				box-shadow:
					0 12px 24px var(--csp-shadow),
					0 24px 48px rgba(0, 0, 0, 0.08);

				& .csp-card-image img {
					transform: scale(1.08);
				}

				& .csp-case-study-link {
					background: var(--csp-primary-dark);
					gap: var(--csp-space-md);

					& i {
						transform: translateX(4px);
					}
				}
			}

			/* Card Image */
			& .csp-card-image {
				position: relative;
				overflow: hidden;
				aspect-ratio: 16 / 10;

				& img {
					width: 100%;
					height: 100%;
					object-fit: cover;
					transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
				}

				& .csp-card-image-overlay {
					position: absolute;
					inset: 0;
					background: linear-gradient(
						to bottom,
						transparent 50%,
						rgba(10, 37, 64, 0.6) 100%
					);
					opacity: 0;
					transition: opacity var(--csp-transition);
				}

				&:hover .csp-card-image-overlay {
					opacity: 1;
				}

				/* Featured Badge */
				& .csp-featured-badge {
					position: absolute;
					top: var(--csp-space-md);
					left: var(--csp-space-md);
					display: inline-flex;
					align-items: center;
					gap: var(--csp-space-xs);
					padding: var(--csp-space-xs) var(--csp-space-md);
					background: linear-gradient(135deg, var(--csp-primary) 0%, var(--csp-primary-dark) 100%);
					color: var(--csp-text-white);
					font-size: var(--csp-font-size-xs);
					font-weight: 600;
					border-radius: var(--csp-radius-xs);
					box-shadow: 0 4px 12px rgba(14, 165, 233, 0.4);
					z-index: var(--csp-z-badge);

					& i {
						font-size: var(--csp-font-size-sm);
						animation: csp-float 2s ease-in-out infinite;
					}
				}
			}

			/* Card Content */
			& .csp-card-content {
				padding: var(--csp-space-xl);

				& .csp-case-study-title {
					margin: 0 0 var(--csp-space-sm);
					font-size: var(--csp-font-size-lg);
					font-weight: 700;

					& a {
						color: var(--csp-text-dark);
						text-decoration: none;
						transition: color var(--csp-transition);

						&:hover {
							color: var(--csp-primary);
						}
					}
				}

				& .csp-case-study-excerpt {
					color: var(--csp-text-light);
					font-size: var(--csp-font-size-sm);
					line-height: 1.6;
					margin: 0 0 var(--csp-space-lg);
				}

				& .csp-case-study-link {
					display: inline-flex;
					align-items: center;
					gap: var(--csp-space-sm);
					padding: var(--csp-space-sm) var(--csp-space-lg);
					background: var(--csp-primary);
					color: var(--csp-text-white);
					text-decoration: none;
					border-radius: var(--csp-radius-sm);
					font-size: var(--csp-font-size-sm);
					font-weight: 600;
					transition: all var(--csp-transition);

					& i {
						transition: transform var(--csp-transition);
					}

					&:hover {
						background: var(--csp-primary-dark);
						gap: var(--csp-space-md);

						& i {
							transform: translateX(4px);
						}
					}
				}
			}
		}
	}

	/* ── Carousel Navigation ── */
	& .csp-carousel-nav {
		position: absolute;
		top: 50%;
		left: 0;
		right: 0;
		transform: translateY(-50%);
		pointer-events: none;
		z-index: var(--csp-z-nav);

		& button {
			pointer-events: all;
			display: flex;
			align-items: center;
			justify-content: center;
			width: 44px;
			height: 44px;
			background: var(--csp-bg-white);
			border: 1px solid var(--csp-border);
			border-radius: var(--csp-radius-full);
			cursor: pointer;
			color: var(--csp-text-dark);
			transition: all var(--csp-transition);
			box-shadow: 0 2px 8px var(--csp-shadow-sm);

			&:hover {
				background: var(--csp-primary);
				border-color: var(--csp-primary);
				color: var(--csp-text-white);
				transform: scale(1.1);
				box-shadow: 0 4px 16px rgba(14, 165, 233, 0.3);
			}

			& i {
				font-size: var(--csp-font-size-lg);
			}
		}

		& .swiper-button-prev {
			position: absolute;
			left: -22px;
		}

		& .swiper-button-next {
			position: absolute;
			right: -22px;
		}
	}
}

/* ── Responsive ── */
@media (max-width: 768px) {
	.csp-case-studies-wrapper {
		& .csp-carousel-container {
			padding: 0 var(--csp-space-md);

			& .csp-case-study-card {
				& .csp-card-content {
					padding: var(--csp-space-md);
				}
			}
		}

		& .csp-carousel-nav {
			display: none;
		}
	}
}
