:root{
	--vs-primary:#E53935;
	--vs-primary-dark:#c62828;
	--vs-dark:#111111;
	--vs-dark-2:#1d1d1d;
	--vs-light:#ffffff;
	--vs-gray:#f5f5f5;
	--vs-gray-2:#f7f7f7;
	--vs-text-muted:#777777;
	--vs-radius:14px;
	--vs-radius-sm:8px;
	--vs-shadow:0 12px 35px rgba(0,0,0,.08);
	--vs-shadow-lg:0 20px 60px rgba(0,0,0,.35);
	--vs-transition:.3s ease;
}

*{
	margin:0;
	padding:0;
	box-sizing:border-box;
}

html{
	scroll-behavior:smooth;
}

body{
	font-family:'IRANYekanX', Tahoma, sans-serif;
	background:var(--vs-gray);
	color:#222;
	line-height:1.8;
	direction:rtl;
}

a{
	text-decoration:none;
	color:inherit;
	transition:var(--vs-transition);
}

img{
	max-width:100%;
	display:block;
}

ul{
	list-style:none;
}

button{
	font-family:inherit;
	cursor:pointer;
}

.container{
	width:1320px;
	max-width:95%;
	margin:auto;
}

.skip-link{
	position:absolute;
	right:-9999px;
	top:0;
	background:var(--vs-primary);
	color:#fff;
	padding:12px 20px;
	z-index:9999;
	border-radius:0 0 0 8px;
}

.skip-link:focus{
	right:0;
}

/* Shared section heading used by categories / products / features */
.section-title{
	text-align:center;
	margin-bottom:50px;
}

.section-title h2{
	font-size:36px;
	margin-bottom:10px;
}

.section-title p{
	color:var(--vs-text-muted);
	font-size:16px;
}

/* Generic page header (blog/search/404/shop archive) */
.vs-page-header{
	background:var(--vs-dark);
	color:#fff;
	padding:60px 0;
	text-align:center;
}

.vs-page-header h1{
	font-size:32px;
	margin-bottom:8px;
}

.vs-page-header p{
	color:#ccc;
}

/* Basic content (page.php / index.php / search.php) */
.vs-basic-content{
	padding:60px 0;
}

.page-title{
	font-size:30px;
	margin-bottom:20px;
}

.page-body{
	background:#fff;
	padding:35px;
	border-radius:var(--vs-radius);
	box-shadow:var(--vs-shadow);
}

.basic-post-list{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:25px;
}

.basic-post-card{
	background:#fff;
	border-radius:var(--vs-radius);
	overflow:hidden;
	box-shadow:var(--vs-shadow);
	transition:var(--vs-transition);
}

.basic-post-card:hover{
	transform:translateY(-6px);
}

.basic-post-thumb img{
	width:100%;
	height:200px;
	object-fit:cover;
}

.basic-post-body{
	padding:20px;
}

.basic-post-body h2{
	font-size:19px;
	margin-bottom:10px;
}

.basic-post-body p{
	color:var(--vs-text-muted);
	font-size:14px;
}

.basic-pagination{
	margin-top:40px;
	display:flex;
	justify-content:center;
	gap:10px;
}

.basic-pagination .page-numbers{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-width:40px;
	height:40px;
	padding:0 12px;
	border-radius:var(--vs-radius-sm);
	background:#fff;
	box-shadow:var(--vs-shadow);
}

.basic-pagination .page-numbers.current{
	background:var(--vs-primary);
	color:#fff;
}

/* 404 */
.vs-404{
	padding:100px 0;
}

.vs-404-inner{
	text-align:center;
	max-width:520px;
	margin:auto;
}

.vs-404-code{
	font-size:80px;
	font-weight:bold;
	color:var(--vs-primary);
	display:block;
	margin-bottom:10px;
}

.vs-404-search{
	margin:30px auto;
	display:flex;
	justify-content:center;
}

.vs-404 .btn-primary{
	margin-top:10px;
}

/* Scroll-reveal (progressive enhancement, added by main.js) */
.vs-reveal{
	opacity:0;
	transform:translateY(24px);
	transition:opacity .6s ease, transform .6s ease;
}

.vs-reveal-in{
	opacity:1;
	transform:translateY(0);
}

/* Back-to-top button */
.vs-back-to-top{
	position:fixed;
	bottom:26px;
	left:26px;
	width:46px;
	height:46px;
	border-radius:50%;
	background:var(--vs-dark);
	color:#fff;
	border:none;
	display:flex;
	align-items:center;
	justify-content:center;
	opacity:0;
	visibility:hidden;
	transform:translateY(10px);
	transition:var(--vs-transition);
	z-index:900;
	box-shadow:var(--vs-shadow);
}

.vs-back-to-top.is-visible{
	opacity:1;
	visibility:visible;
	transform:translateY(0);
}

.vs-back-to-top:hover{
	background:var(--vs-primary);
}
