/* ===== PORTFOLIO GRID ===== */

.portfolio-wrapper {
	margin-top: var(--spacing-lg);
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	position: relative;
	z-index: 101;
}

.portfolio-container {
	padding: 0 var(--spacing-3xl);
	max-width: 1000px;
}

.portfolio-grid {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 90%;
	flex-direction: column;
	margin-top: var(--spacing-xl);
}

/* ===== PROJECT CARDS CONTAINER ===== */
.project-container {
	display: flex;
	flex-wrap: wrap;
	gap: var(--spacing-xl);
	align-items: stretch;
	justify-content: center;
	color: white;
	padding: var(--spacing-lg) 0;
	max-width: 1100px;
	width: 90%;
	padding-bottom: var(--spacing-3xl);
}

/* ===== PROJECT CARD ===== */
.project {
	background: #fff;
	flex: 1 1 280px;
	max-width: 320px;
	min-width: 260px;
	border-radius: var(--radius-lg);
	display: flex;
	min-height: 380px;
	flex-direction: column;
	box-shadow: var(--shadow-sm);
	transition:
		transform var(--transition-normal),
		box-shadow var(--transition-normal);
	overflow: hidden;
	justify-content: flex-start;
	align-items: center;
	padding: var(--spacing-lg) var(--spacing-md);
	z-index: 12;
}

.project:hover {
	transform: translateY(-8px);
	box-shadow: var(--shadow-lg);
}

/* ===== PROJECT ICON ===== */
.project-img-container {
	flex: 0 0 auto;
	display: flex;
	width: 100px;
	height: 100px;
	margin-bottom: var(--spacing-md);
	align-items: center;
	justify-content: center;
	border-radius: var(--radius-md);
	background: linear-gradient(135deg, rgba(134,77,148,0.08) 0%, rgba(94,88,158,0.08) 100%);
	padding: var(--spacing-sm);
}

.project-img {
	width: 70%;
	object-fit: contain;
}

/* ===== PROJECT TEXT ===== */
.project-text {
	padding: var(--spacing-sm) var(--spacing-xs);
	position: relative;
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	color: var(--dark);
}

.project-title {
	font-weight: bold;
	font-size: 1.35rem;
	margin-bottom: var(--spacing-sm);
	text-align: center;
	line-height: 1.3;
}

.title-pre {
	font-weight: 300;
	font-size: 1rem;
	color: var(--dark);
	opacity: 0.7;
}

.project-desc {
	font-weight: 400;
	font-size: 0.95rem;
	color: var(--dark);
	line-height: var(--line-height-normal);
	opacity: 0.85;
}

.project:hover .project-desc {
	opacity: 1;
}

/* ===== PROJECT BUTTON ===== */
.project-btn {
	position: relative;
	margin-top: auto;
	color: var(--grad-left);
	border: 1px solid var(--grad-left);
	padding: 0.5rem 1.25rem;
	border-radius: var(--radius-full);
	transition:
		background-color var(--transition-fast),
		color var(--transition-fast);
	font-size: 0.9rem;
}

.project:hover .project-btn {
	background-color: var(--grad-left);
	color: white;
}

/* ===== RESPONSIVE: LARGE TABLET ===== */
@media (max-width: 1150px) {
	.portfolio-container {
		padding: 0 var(--spacing-xl);
	}

	.project-container {
		gap: var(--spacing-lg);
		width: 92%;
	}

	.project {
		flex: 1 1 260px;
		max-width: 300px;
		min-height: 360px;
	}

	.project-title {
		font-size: 1.2rem;
	}

	.project-desc {
		font-size: 0.9rem;
	}
}

/* ===== RESPONSIVE: TABLET ===== */
@media (max-width: 960px) {
	.project-container {
		padding: var(--spacing-md) var(--spacing-sm);
		width: 94%;
	}

	.project {
		flex: 1 1 250px;
		min-width: 240px;
		min-height: 340px;
	}
}

/* ===== RESPONSIVE: SMALL TABLET ===== */
@media (max-width: 750px) {
	.project-container {
		padding: var(--spacing-md) var(--spacing-xs);
		gap: var(--spacing-md);
	}

	.project {
		flex: 1 1 100%;
		max-width: 340px;
		min-height: 320px;
	}
}

/* ===== RESPONSIVE: MOBILE ===== */
@media (max-width: 650px) {
	.project-container {
		padding: var(--spacing-sm);
		width: 90%;
		gap: var(--spacing-md);
	}

	.project {
		min-width: 100%;
		max-width: 100%;
		min-height: auto;
		padding: var(--spacing-md);
	}

	.project-img-container {
		width: 80px;
		height: 80px;
	}

	.project-title {
		font-size: 1.15rem;
	}

	.project-desc {
		font-size: 0.9rem;
	}
}
