/* ===========================
   NK Doctor Portfolio
=========================== */

.nkdp-grid{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:30px;
	margin:30px 0;
	align-items:stretch;
}

@media (max-width:1024px){
	.nkdp-grid{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}
}

@media (max-width:767px){
	.nkdp-grid{
		grid-template-columns:1fr;
	}
}

/* ===========================
   Doctor Card
=========================== */

.nkdp-card{
	display:flex;
	flex-direction:column;
	height:100%;
	background:#fff;
	border-radius:18px;
	padding:25px;
	border:1px solid #edf0f5;
	box-shadow:0 10px 30px rgba(0,0,0,.08);
	transition:all .35s ease;
}

.nkdp-card:hover{
	transform:translateY(-8px);
	box-shadow:0 18px 45px rgba(0,0,0,.15);
}

/* ===========================
   Doctor Image
=========================== */

.nkdp-image{
	display:flex;
	justify-content:center;
	margin-bottom:20px;
}

.nkdp-image img{
	width:150px;
	height:150px;
	border-radius:50%;
	object-fit:cover;
	border:6px solid #fff;
	box-shadow:0 5px 18px rgba(0,0,0,.15);
}

/* ===========================
   Content
=========================== */

.nkdp-content{
	display:flex;
	flex-direction:column;
	flex:1;
	text-align:center;
}

.nkdp-name{
	font-size:24px;
	font-weight:700;
	margin-bottom:15px;
	color:#222;
}

.nkdp-content p{
	margin:7px 0;
	color:#666;
	font-size:15px;
	line-height:1.6;
}

/* ===========================
   Button
=========================== */

.nkdp-book-btn{
	margin-top:auto;
	width:100%;
	padding:14px;
	border:none;
	border-radius:10px;
	background:var(--ast-global-color-0);
	color:#fff;
	font-size:16px;
	font-weight:600;
	cursor:pointer;
	transition:.3s;
}

.nkdp-book-btn:hover{
	background:var(--ast-global-color-1);
}

/* ===========================
   Search
=========================== */

.nkdp-toolbar{
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:20px;
	margin-bottom:30px;
	flex-wrap:wrap;
}

.nkdp-search-wrapper{
	flex:1;
}

.nkdp-search{
	width:100%;
	height:50px;
	padding:0 18px;
	border:1px solid #ddd;
	border-radius:10px;
	font-size:16px;
	outline:none;
	background:#fff;
	transition:.3s;
}

.nkdp-search:focus{
	border-color:var(--ast-global-color-0);
	box-shadow:0 0 0 4px rgba(0,115,170,.12);
}

/* ===========================
   View Switch
=========================== */

.nkdp-view-switch{
    display:flex;
    gap:12px;
}

.nkdp-view-btn{
    min-width:120px;
    height:48px;
    padding:0 18px;
    border:1px solid #ddd;
    background:#fff;
    border-radius:10px;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    font-size:15px;
    font-weight:600;
    color:#333;
    transition:all .3s ease;
}

.nkdp-view-btn .dashicons{
    font-size:18px;
    width:18px;
    height:18px;
    line-height:18px;
}

.nkdp-view-btn.active{
    background:var(--ast-global-color-0);
    color:#fff;
    border-color:var(--ast-global-color-0);
}

.nkdp-view-btn:hover{
    background:var(--ast-global-color-1);
    color:#fff;
    border-color:var(--ast-global-color-1);
}

/* ===========================
   Load More
=========================== */

.nkdp-load-more-wrap{
	text-align:center;
	margin:40px 0;
}

#nkdp-load-more{
	padding:14px 35px;
	border:none;
	border-radius:10px;
	background:var(--ast-global-color-0);
	color:#fff;
	font-size:16px;
	font-weight:600;
	cursor:pointer;
	transition:.3s;
}

#nkdp-load-more:hover{
	background:var(--ast-global-color-1);
}
.nkdp-loader{
    display:inline-block;
    width:18px;
    height:18px;
    margin-right:8px;
    border:3px solid rgba(255,255,255,.3);
    border-top:3px solid #fff;
    border-radius:50%;
    animation:nkdp-spin .8s linear infinite;
    vertical-align:middle;
}

@keyframes nkdp-spin{
    100%{
        transform:rotate(360deg);
    }
}
.nkdp-loader{
    display:inline-block;
    width:18px;
    height:18px;
    margin-right:8px;
    border:3px solid rgba(255,255,255,.3);
    border-top:3px solid #fff;
    border-radius:50%;
    animation:nkdp-spin .8s linear infinite;
    vertical-align:middle;
}

@keyframes nkdp-spin{
    100%{
        transform:rotate(360deg);
    }
}
/* ==========================
   LIST VIEW
========================== */

.nkdp-list{
	display:flex;
	flex-direction:column;
	gap:20px;
	margin-top:30px;
}

.nkdp-list-card{
	display:flex;
	align-items:center;
	gap:25px;
	background:#fff;
	border-radius:15px;
	padding:20px;
	box-shadow:0 8px 25px rgba(0,0,0,.08);
	border:1px solid #eee;
	transition:.3s;
}

.nkdp-list-card:hover{
	transform:translateY(-3px);
	box-shadow:0 12px 30px rgba(0,0,0,.12);
}

.nkdp-list-image img{
	width:110px;
	height:110px;
	object-fit:cover;
	border-radius:50%;
	border:5px solid #fff;
	box-shadow:0 5px 15px rgba(0,0,0,.12);
}

.nkdp-list-content{
	flex:1;
}

.nkdp-list-content h3{
	margin-bottom:10px;
	font-size:24px;
}

.nkdp-list-content p{
	margin:6px 0;
	color:#666;
}

.nkdp-list-action{
	min-width:220px;
	text-align:right;
}

.nkdp-list-action .nkdp-book-btn{
	width:200px;
}

@media(max-width:768px){

	.nkdp-list-card{
		flex-direction:column;
		text-align:center;
	}

	.nkdp-list-action{
		width:100%;
		text-align:center;
	}

	.nkdp-list-action .nkdp-book-btn{
		width:100%;
	}

}