/*==================================================
Recipe Archive
==================================================*/

.srm-archive{
	max-width:1280px;
	margin:80px auto;
	padding:0 20px;
}

.srm-archive-header{
	text-align:center;
	margin-bottom:40px;
}

.srm-archive-title{
	font-size:48px;
	font-weight:700;
	color:#c8102e;
	line-height:1.2;
	margin:0 0 15px;
}

.srm-archive-subtitle{
	max-width:650px;
	margin:0 auto;
	font-size:18px;
	color:#6b7280;
	line-height:1.8;
}

/*==================================================
Search
==================================================*/

.srm-search{
	max-width:520px;
	margin:45px auto 35px;
	position:relative;
}

.srm-search svg{
	position:absolute;
	left:18px;
	top:50%;
	transform:translateY(-50%);
	color:#9ca3af;
	pointer-events:none;
}

.srm-search input{
	width:100%;
	height:54px;
	padding:0 20px 0 50px;
	border:1px solid #e5e7eb;
	border-radius:50px;
	font-size:15px;
	background:#fff;
	transition:.3s;
	box-shadow:0 5px 18px rgba(0,0,0,.04);
}

.srm-search input:focus{
	outline:none;
	border-color:#c8102e;
	box-shadow:0 12px 30px rgba(200,16,46,.12);
}

/*==================================================
Categories
==================================================*/

.srm-category-filter{
	display:flex;
	justify-content:center;
	align-items:center;
	flex-wrap:wrap;
	gap:12px;
	margin-bottom:55px;
}

.srm-category-filter button{
	background:#f3f4f6;
	border:none;
	border-radius:40px;
	padding:12px 24px;
	font-size:14px;
	font-weight:600;
	color:#374151;
	cursor:pointer;
	transition:.25s;
}

.srm-category-filter button:hover{
	background:#c8102e;
	color:#fff;
	transform:translateY(-2px);
}

.srm-category-filter button.active{
	background:#c8102e;
	color:#fff;
}

/*==================================================
Grid
==================================================*/

.srm-archive-grid{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:32px;
	align-items:stretch;
}

/*==================================================
Card
==================================================*/

.srm-archive-card{
	background:#fff;
	border-radius:22px;
	overflow:hidden;
	border:1px solid #ececec;
	box-shadow:0 10px 35px rgba(0,0,0,.05);
	transition:.35s;
	height:100%;
}

.srm-archive-card:hover{
	transform:translateY(-8px);
	box-shadow:0 22px 55px rgba(0,0,0,.10);
}

.srm-archive-card a{
	display:flex;
	flex-direction:column;
	height:100%;
	text-decoration:none;
	color:inherit;
}

/*==================================================
Image
==================================================*/

.srm-card-image{
	height:240px;
	background:#fafafa;
	overflow:hidden;
}

.srm-card-image img{
	width:100%;
	height:100%;
	object-fit:cover;
	transition:.45s;
	display:block;
}

.srm-archive-card:hover .srm-card-image img{
	transform:scale(1.06);
}

.srm-no-image{
	height:100%;
	display:flex;
	align-items:center;
	justify-content:center;
	background:#f8fafc;
}

/*==================================================
Content
==================================================*/

.srm-card-content{
	padding:26px;
	display:flex;
	flex-direction:column;
	flex:1;
}

.srm-card-title{
	font-size:24px;
	font-weight:700;
	line-height:1.3;
	color:#1f2937;
	margin:0 0 10px;
}

.srm-card-subtitle{
	font-size:15px;
	line-height:1.7;
	color:#6b7280;
	margin:0 0 22px;
	min-height:48px;
}

/*==================================================
Meta
==================================================*/

.srm-card-meta{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	margin-bottom:28px;
}

.srm-card-meta span{
	display:flex;
	align-items:center;
	gap:7px;
	background:#f9fafb;
	border:1px solid #ececec;
	border-radius:30px;
	padding:8px 12px;
	font-size:13px;
	font-weight:600;
	color:#4b5563;
}

.srm-card-meta svg{
	width:14px;
	height:14px;
	color:#c8102e;
	flex-shrink:0;
}

/*==================================================
Button
==================================================*/

.srm-read-more{
	margin-top:auto;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:10px;
	height:48px;
	padding:0 22px;
	border-radius:10px;
	border:2px solid #c8102e;
	background:#fff;
	color:#c8102e;
	font-size:15px;
	font-weight:600;
	transition:.3s;
}

.srm-archive-card:hover .srm-read-more{
	background:#c8102e;
	color:#fff;
}

.srm-read-more svg{
	transition:.3s;
}

.srm-archive-card:hover .srm-read-more svg{
	transform:translateX(4px);
}

/*==================================================
No Results
==================================================*/

.srm-no-results{
	text-align:center;
	padding:80px 20px;
	color:#6b7280;
	font-size:18px;
	display:none;
}

/*==================================================
Responsive
==================================================*/

@media(max-width:1024px){

	.srm-archive-grid{
		grid-template-columns:repeat(2,1fr);
	}

	.srm-archive-title{
		font-size:42px;
	}

}

@media(max-width:767px){

	.srm-archive{
		margin:50px auto;
		padding:0 16px;
	}

	.srm-archive-title{
		font-size:34px;
	}

	.srm-archive-subtitle{
		font-size:16px;
	}

	.srm-search{
		margin:30px auto;
	}

	.srm-category-filter{
		justify-content:flex-start;
		flex-wrap:nowrap;
		overflow-x:auto;
		padding-bottom:8px;
		scrollbar-width:none;
	}

	.srm-category-filter::-webkit-scrollbar{
		display:none;
	}

	.srm-category-filter button{
		flex:0 0 auto;
	}

	.srm-archive-grid{
		grid-template-columns:1fr;
		gap:24px;
	}

	.srm-card-image{
		height:220px;
	}

	.srm-card-content{
		padding:22px;
	}

	.srm-card-title{
		font-size:22px;
	}

}

/*=========================================
Load More
=========================================*/

.srm-load-more-wrap{
	text-align:center;
	margin-top:60px;
}

.srm-load-more{
	height:54px;
	padding:0 32px;
	border:none;
	border-radius:50px;
	background:#c8102e;
	color:#fff;
	font-size:15px;
	font-weight:600;
	cursor:pointer;
	transition:.3s;
}

.srm-load-more:hover{
	background:#a40d25;
	transform:translateY(-2px);
}

/*=========================================
No Results
=========================================*/

.srm-no-results{
	display:none;
	text-align:center;
	padding:80px 20px;
}

.srm-no-results h3{
	font-size:28px;
	margin-bottom:10px;
	color:#222;
}

.srm-no-results p{
	color:#666;
	font-size:16px;
	max-width:450px;
	margin:auto;
	line-height:1.8;
}