/**
 * Featured Work Showcase - CSS
 */

.fws-widget-container {
	font-family: inherit;
	color: #0f172a;
	width: 100%;
}
.fws-widget-container * {
    box-sizing: border-box;
}

/* Header Area */
.fws-header-area {
	display: flex;
	flex-direction: column;
	gap: 2rem;
	margin-bottom: 4rem;
}
@media (min-width: 992px) {
	.fws-header-area {
		flex-direction: row;
		align-items: flex-end;
		justify-content: space-between;
	}
	.fws-header-content {
		width: 50%;
	}
	.fws-header-desc {
		width: 45%;
	}
}

.fws-eyebrow {
	display: inline-flex;
	align-items: center;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: #64748b;
	margin-bottom: 1.5rem;
}
.fws-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background-color: #a3e635;
	margin-right: 12px;
}
.fws-main-heading {
	font-size: clamp(2rem, 4vw, 3.5rem);
	font-weight: 800;
	line-height: 1.1;
	color: #0f172a;
	margin: 0;
	letter-spacing: -0.02em;
}
.fws-header-desc p {
	font-size: clamp(1rem, 1.5vw, 1.25rem);
	color: #64748b;
	line-height: 1.6;
	margin: 0;
}

/* Filters */
.fws-filters-area {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem;
	margin-bottom: 3rem;
	padding-bottom: 3rem;
	border-bottom: 1px solid #f1f5f9;
}
.fws-filter-label {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.15em;
	color: #94a3b8;
	text-transform: uppercase;
	display: flex;
	align-items: center;
}
.fws-filters-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}
.fws-filter-btn {
	display: inline-flex;
	align-items: center;
	background: #ffffff;
	border: 1px solid #e2e8f0;
	padding: 0.5rem 1rem;
	border-radius: 99px;
	font-size: 0.875rem;
	font-weight: 600;
	color: #475569;
	cursor: pointer;
	transition: all 0.3s ease;
}
.fws-filter-btn:hover {
	border-color: #cbd5e1;
}
.fws-filter-btn.active {
	background: #0f172a;
	border-color: #0f172a;
	color: #ffffff;
}
.fws-count {
	background: #f1f5f9;
	color: #64748b;
	font-size: 0.65rem;
	font-weight: 700;
	padding: 0.15rem 0.5rem;
	border-radius: 99px;
	margin-left: 0.5rem;
	transition: all 0.3s ease;
}
.fws-filter-btn.active .fws-count {
	background: #334155;
	color: #cbd5e1;
}

/* Grid Wrapper & Layouts */
.fws-grid-wrapper {
	display: grid;
	gap: 2rem;
	position: relative;
    min-height: 400px;
}

/* Layout: Agency Grid & Large Featured */
.fws-grid-wrapper.fws-layout-agency_grid,
.fws-grid-wrapper.fws-layout-large_featured {
	grid-template-columns: repeat(1, 1fr);
}
@media(min-width: 768px) {
	.fws-grid-wrapper.fws-layout-agency_grid,
	.fws-grid-wrapper.fws-layout-large_featured {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media(min-width: 1024px) {
	.fws-grid-wrapper.fws-layout-agency_grid,
	.fws-grid-wrapper.fws-layout-large_featured {
		grid-template-columns: repeat(3, 1fr);
	}
}
.fws-featured-full {
	grid-column: 1 / -1;
}

/* Layout: Case Study Alt */
.fws-grid-wrapper.fws-layout-case_study_alt {
	grid-template-columns: 1fr;
	gap: 4rem;
}

/* Card Design & Hover Effects */
.fws-project-card {
	background: #ffffff;
	border-radius: 1.5rem;
	padding: 0.75rem;
	border: 1px solid #f1f5f9;
	box-shadow: 0 4px 20px rgba(0,0,0,0.03);
	transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
}
.fws-project-card.fws-hidden {
    opacity: 0;
    transform: scale(0.95);
    pointer-events: none;
    position: absolute;
}
.fws-project-card:hover {
	transform: translateY(-8px);
	box-shadow: 0 15px 40px rgba(0,0,0,0.08);
}
.fws-card-link {
	text-decoration: none;
	color: inherit;
	display: flex;
	flex-direction: column;
	height: 100%;
}
.fws-grid-wrapper.fws-layout-case_study_alt .fws-card-link {
	flex-direction: column;
}
@media(min-width: 768px) {
	.fws-grid-wrapper.fws-layout-case_study_alt .fws-card-link {
		flex-direction: row;
		align-items: center;
		gap: 2rem;
		padding: 1.5rem;
	}
    .fws-layout-case_study_alt .fws-image-container,
    .fws-layout-case_study_alt .fws-content-container {
        width: 50%;
    }
	.fws-layout-case_study_alt .fws-alt-reverse .fws-image-container {
		order: 2;
	}
}

.fws-image-container {
	position: relative;
	border-radius: 1rem;
	overflow: hidden;
	aspect-ratio: 4/3;
	margin-bottom: 1rem;
	background: #f8fafc;
}
.fws-layout-case_study_alt .fws-image-container {
	aspect-ratio: 16/10;
	margin-bottom: 0;
}
.fws-featured-full .fws-image-container {
	aspect-ratio: 21/9;
}
.fws-image-container img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top;
	transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
	display: block;
}
.fws-project-card:hover .fws-image-container img {
	transform: scale(1.04);
}
.fws-img-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to bottom, rgba(15,23,42,0.15) 0%, transparent 40%);
	pointer-events: none;
}

/* Badges */
.fws-num-badge {
	position: absolute;
	top: 1rem;
	left: 1rem;
	width: 42px;
	height: 42px;
	background: #414a5d;
	color: #fff;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
	font-weight: 700;
	z-index: 2;
	box-shadow: 0 4px 10px rgba(0,0,0,0.1);
	transition: transform 0.3s ease;
}
.fws-project-card:hover .fws-num-badge {
	transform: scale(1.05);
}

.fws-live-btn {
	position: absolute;
	top: 1rem;
	right: 1rem;
	background: rgba(65, 74, 93, 0.95);
	backdrop-filter: blur(4px);
	color: #ffffff;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	padding: 0.6rem 1rem;
	border-radius: 99px;
	z-index: 2;
	transition: all 0.3s ease;
}
.fws-project-card:hover .fws-live-btn {
	transform: translateY(-4px);
	background: rgba(52, 59, 74, 1);
}

/* Content */
.fws-content-container {
	padding: 0.5rem;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}
.fws-card-title {
	font-size: 1.375rem;
	font-weight: 700;
	color: #0f172a;
	margin: 0 0 0.5rem 0;
	transition: opacity 0.3s ease;
}
.fws-project-card:hover .fws-card-title {
	opacity: 0.8;
}
.fws-card-meta {
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	color: #64748b;
	margin-bottom: 0.75rem;
}
.fws-card-desc {
	font-size: 0.9375rem;
	color: #475569;
	line-height: 1.6;
	margin: 0;
}
