/* =========================
   HONAR SOUND LIBRARY UI
========================= */

.hs-library{
    max-width:1400px;
    margin:40px auto;
    padding:0 20px;
}

body{
    background:#F3F3F3;
}

/* =========================
   FILTERS
========================= */

.hs-filters{
    display:grid;
    grid-template-columns:
    repeat(4,1fr)
    2fr;
    gap:15px;

    background:#fff;

    padding:20px;

    border-radius:24px;

    box-shadow:
    0 10px 30px rgba(0,0,0,.05);

    margin-bottom:30px;
}

.hs-filters select,
.hs-filters input{

    height:56px;

    border:none;

    background:#fff;

    border-radius:16px;

    padding:0 18px;

    box-shadow:
    0 2px 10px rgba(0,0,0,.06);

    font-size:15px;

}

/* =========================
   TABLE
========================= */

.hs-library-table{

    width:100%;

    border-collapse:separate;

    border-spacing:0 15px;

}

.hs-library-table thead th{

    border:none;

    background:transparent;

    padding:10px;

    font-size:13px;

    font-weight:700;

    color:#555;

}

.hs-library-table tbody tr{

    background:#fff;

    box-shadow:
    0 5px 20px rgba(0,0,0,.05);

    border-radius:18px;

}

.hs-library-table tbody td{

    padding:20px 15px;

    border:none;

    vertical-align:middle;

}

/* =========================
   PLAY BUTTON
========================= */

.hs-play-btn{

    width:50px;
    height:50px;

    border:none;

    border-radius:50%;

    background:#fff;

    box-shadow:
    0 2px 10px rgba(0,0,0,.08);

    cursor:pointer;

    transition:.3s;

}

.hs-play-btn:hover{

    transform:scale(1.08);

    background:#2F9F90;

    color:#fff;

}

/* =========================
   DOWNLOAD BUTTON
========================= */

.hs-download-btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    min-width:130px;

    height:46px;

    background:#2F9F90;

    color:#fff !important;

    text-decoration:none;

    border-radius:14px;

    font-size:14px;

    font-weight:700;

    transition:.3s;

}

.hs-download-btn:hover{

    background:#258679;

    transform:translateY(-2px);

}

/* =========================
   LOGIN BUTTON
========================= */

.hs-login-btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:12px 20px;

    background:#fff;

    border-radius:14px;

    text-decoration:none;

    color:#222;

    font-weight:700;

    box-shadow:
    0 2px 10px rgba(0,0,0,.08);

}

/* =========================
   PAGINATION
========================= */

.hs-pagination{

    margin-top:30px;

    text-align:center;

}

.hs-pagination .page-numbers{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    width:42px;

    height:42px;

    border-radius:12px;

    background:#fff;

    margin:0 4px;

    text-decoration:none;

    color:#222;

}

.hs-pagination .current{

    background:#2F9F90;

    color:#fff;

}

/* =========================
   MOBILE
========================= */

@media(max-width:1024px){

    .hs-filters{

        grid-template-columns:
        repeat(2,1fr);

    }

}

@media(max-width:768px){

    .hs-filters{

        grid-template-columns:1fr;

    }

    .hs-library-table{

        display:block;

    }

    .hs-library-table thead{

        display:none;

    }

    .hs-library-table tbody{

        display:block;

    }

    .hs-library-table tr{

        display:block;

        margin-bottom:15px;

        padding:15px;

        border-radius:18px;

    }

    .hs-library-table td{

        display:flex;

        justify-content:space-between;

        align-items:center;

        width:100%;

        padding:10px 0;

    }

}


/* =========================
   Sound Cards Layout
========================= */

.hs-library-table {
    border-collapse: separate;
    border-spacing: 0 16px;
}

.hs-library-table thead {
    display: none;
}

.hs-row-card td {
    padding: 0 !important;
    border: none !important;
}

.hs-sound-card {
    display: flex;
    align-items: center;
    gap: 24px;

    background: #ffffff;

    border-radius: 18px;

    padding: 20px 24px;

    box-shadow:
        0 4px 18px rgba(0,0,0,.05);

    transition: .25s;
}

.hs-sound-card:hover {
    transform: translateY(-2px);

    box-shadow:
        0 8px 24px rgba(0,0,0,.08);
}

.hs-card-play {
    flex-shrink: 0;
}

.hs-card-play .hs-play-btn {
    width: 60px;
    height: 60px;

    border: none;
    border-radius: 50%;

    background: #2F9F90;
    color: #fff;

    font-size: 22px;
    cursor: pointer;
}

.hs-card-content {
    flex: 1;
}

.hs-card-title {
    margin: 0 0 12px;
    font-size: 16px;
    font-weight: 700;
    color: #222;
}

.hs-card-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;

    margin-bottom: 10px;
}

.hs-tag {
    background: #F3F3F3;

    padding: 6px 12px;

    border-radius: 999px;

    font-size: 12px;

    color: #555;
}

.hs-card-meta {
    font-size: 13px;
    color: #888;
}

.hs-card-download {
    flex-shrink: 0;
}

.hs-card-download .hs-download-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 120px;
    height: 46px;

    background: #2F9F90;
    color: #fff;

    border-radius: 12px;

    text-decoration: none;
    font-weight: 700;
}

.hs-login-required {
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: center;
}

.hs-members-only {
    font-size: 12px;
    color: #666;
}

.hs-login-btn {
    background: #2F9F90;
    color: #fff;

    padding: 10px 16px;

    border-radius: 10px;

    text-decoration: none;
}

/* =========================
   Mobile
========================= */

@media (max-width: 768px){

    .hs-sound-card{
    display:flex;
    align-items:center;
}

.hs-card-play{
    order:1;
}

.hs-card-content{
    order:2;
    flex:1;
}

.hs-card-download{
    order:3;
}

    .hs-card-tags{
        justify-content: center;
    }

    .hs-card-download{
        width: 100%;
    }

    .hs-card-download .hs-download-btn{
        width: 100%;
    }


.hs-card-content{
    flex:1;
    text-align:right;
}

.hs-card-download{
    flex-shrink:0;
    margin-right:20px;
}


.hs-sound-card{
    min-height:120px;
}
}



/* =========================
   HONAR SOUND LIBRARY V2
========================= */

.hs-library-list{
	display:flex;
	flex-direction:column;
	gap:18px;
}

.hs-sound-item{
	width:100%;
}

.hs-sound-card{
	display:flex;
	align-items:center;
	justify-content:space-between;

	background:#ffffff;

	border-radius:18px;

	padding:20px;

	box-shadow:
		0 4px 20px rgba(0,0,0,.06);

	border:1px solid #e9e9e9;

	transition:.25s;
}

.hs-sound-card:hover{
	transform:translateY(-3px);

	box-shadow:
		0 10px 30px rgba(0,0,0,.08);
}

.hs-card-play{
	flex-shrink:0;
	margin-left:20px;
}

.hs-play-btn{
	width:58px;
	height:58px;

	border:none;
	border-radius:50%;

	background:#2F9F90;
	color:#fff;

	cursor:pointer;

	font-size:20px;

	display:flex;
	align-items:center;
	justify-content:center;

	transition:.25s;
}

.hs-play-btn:hover{
	transform:scale(1.08);
}

.hs-card-content{
	flex:1;
}

.hs-card-title{
	margin:0 0 10px;
	font-size:18px;
	font-weight:700;
	color:#222;
}

.hs-card-tags{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	margin-bottom:10px;
}

.hs-tag{
	background:#f3f3f3;

	padding:6px 12px;

	border-radius:999px;

	font-size:12px;
	font-weight:600;

	color:#555;
}

.hs-card-meta{
	font-size:13px;
	color:#888;
	font-weight:600;
}

.hs-card-download{
	flex-shrink:0;
	margin-right:20px;
}

.hs-download-btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;

	height:48px;

	padding:0 24px;

	background:#2F9F90;

	color:#fff !important;

	border-radius:12px;

	text-decoration:none;

	font-weight:700;

	transition:.25s;
}

.hs-download-btn:hover{
	transform:translateY(-2px);
}

.hs-login-required{
	display:flex;
	flex-direction:column;
	gap:8px;
	align-items:center;
}

.hs-members-only{
	font-size:12px;
	color:#777;
	font-weight:600;
}

.hs-login-btn{
	background:#fff;

	border:1px solid #2F9F90;

	color:#2F9F90 !important;

	padding:10px 18px;

	border-radius:12px;

	text-decoration:none;

	font-size:13px;
	font-weight:700;

	transition:.25s;
}

.hs-login-btn:hover{
	background:#2F9F90;
	color:#fff !important;
}

/* =========================
   MOBILE
========================= */

@media(max-width:768px){

	.hs-sound-card{

		flex-direction:column;
		align-items:flex-start;

		gap:16px;
	}

	.hs-card-play{
		margin:0;
	}

	.hs-card-download{
		margin:0;
		width:100%;
	}

	.hs-download-btn,
	.hs-login-btn{
		width:100%;
		text-align:center;
		justify-content:center;
	}

}




/* =========================
   AJAX LOADER
========================= */

.hs-loader{

	display:none;

	padding:30px;

	text-align:center;
}

.hs-loader.active{
	display:block;
}

.hs-loader-spinner{

	width:42px;
	height:42px;

	margin:0 auto;

	border:4px solid #e5e5e5;
	border-top:4px solid #2F9F90;

	border-radius:50%;

	animation:hsSpin .8s linear infinite;
}

@keyframes hsSpin{

	from{
		transform:rotate(0deg);
	}

	to{
		transform:rotate(360deg);
	}

}


/* =========================
   Results Count
========================= */

.hs-results-count{

	display:inline-flex;
	align-items:center;

	padding:12px 18px;

	margin-bottom:20px;

	background:#ffffff;

	border:1px solid #e7e7e7;
	border-radius:14px;

	font-size:14px;
	font-weight:700;

	color:#2F9F90;

	box-shadow:
		0 4px 18px rgba(0,0,0,.04);

	transition:.3s;
}

.hs-results-count:hover{

	transform:translateY(-2px);

	box-shadow:
		0 8px 25px rgba(47,159,144,.12);

}


.hs-no-results{

	color:#d35454;

	border-color:#f0d0d0;

	background:#fff7f7;
}




/* =========================
   Card Hover Effect
========================= */

.hs-sound-card{

	transition:
		transform .25s ease,
		box-shadow .25s ease,
		border-color .25s ease;

	border:1px solid transparent;

}

.hs-sound-card:hover{

	transform:translateY(-4px);

	box-shadow:
		0 15px 35px rgba(0,0,0,.08);

	border-color:#2F9F90;

}

/* =========================
   Play Button
========================= */

.hs-play-btn{

	width:58px;
	height:58px;

	border:none;
	border-radius:50%;

	background:#2F9F90;

	color:#fff;

	font-size:20px;

	cursor:pointer;

	transition:.25s;

}

.hs-play-btn:hover{

	transform:scale(1.08);

	box-shadow:
		0 10px 25px rgba(47,159,144,.35);

}

/* =========================
   Tags
========================= */

.hs-tag{

	background:#fff;

	border:1px solid #e6e6e6;

	padding:7px 14px;

	border-radius:999px;

	font-size:12px;

	font-weight:500;

	transition:.25s;

}

.hs-tag:hover{

	background:#2F9F90;

	color:#fff;

	border-color:#2F9F90;

}

/* =========================
   Download Button
========================= */

.hs-download-btn{

	position:relative;

	overflow:hidden;

}

.hs-download-btn:before{

	content:'';

	position:absolute;

	top:0;
	left:-120%;

	width:100%;
	height:100%;

	background:
		linear-gradient(
			90deg,
			transparent,
			rgba(255,255,255,.35),
			transparent
		);

	transition:.7s;

}

.hs-download-btn:hover:before{

	left:120%;

}



/* =========================
   Audio Progress
========================= */

.hs-progress{

	width:100%;
	height:6px;

	background:#e9e9e9;

	border-radius:999px;

	margin-top:14px;

	overflow:hidden;

}

.hs-progress-bar{

	width:0%;

	height:100%;

	background:#2F9F90;

	border-radius:999px;

	transition:width .1s linear;

}



/* =========================
   Download Button Upgrade
========================= */

.hs-download-btn,
.hs-login-btn{

	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:8px;

	min-width:140px;

	font-weight:600;

	letter-spacing:.2px;

}