/* РПСЦ — Электронная библиотека: каталог */

.rpsc-catalog { max-width: 1180px; margin: 0 auto; width: 100%; }
.rpsc-archive-header { max-width: 1180px; margin: 0 auto 1.2rem; }
.rpsc-archive-title { margin: 0 0 .3em; }

/* filters */
.rpsc-filters {
	display: flex; flex-wrap: wrap; gap: .6rem; align-items: center;
	margin: 0 0 1.6rem; padding: .9rem 1rem;
	background: #f4efe6; border: 1px solid #e2d9c8; border-radius: 12px;
}
.rpsc-filters .rpsc-search { flex: 1 1 220px; min-width: 180px; }
.rpsc-filters input, .rpsc-filters select {
	height: 42px; border: 1px solid #d9cfbb; border-radius: 8px;
	background: #fff; padding: 0 .7rem; font-size: 15px; color: #3a342b;
}
.rpsc-filters .rpsc-btn {
	height: 42px; padding: 0 1.2rem; border: none; border-radius: 8px;
	background: #7c2d2d; color: #fff; font-size: 15px; cursor: pointer;
	transition: background .15s;
}
.rpsc-filters .rpsc-btn:hover { background: #5f2020; }

/* grid */
.rpsc-grid {
	display: grid; gap: 1.4rem 1.2rem;
	grid-template-columns: repeat(auto-fill, minmax(168px, 1fr));
}
.rpsc-card { display: flex; flex-direction: column; }
.rpsc-card-cover {
	display: block; position: relative; aspect-ratio: 3 / 4; overflow: hidden;
	border-radius: 8px; background: #ece6da; border: 1px solid #e2d9c8;
	box-shadow: 0 3px 12px rgba(0,0,0,.10); transition: transform .18s, box-shadow .18s;
	line-height: 0;
}
.rpsc-card-cover:hover { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(0,0,0,.18); }
.rpsc-card-cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rpsc-card-nocover {
	position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
	font-size: 54px; opacity: .5;
}
.rpsc-card-body { padding: .55rem .15rem 0; }
.rpsc-card-title { margin: 0 0 .15em; font-size: 1rem; line-height: 1.25; }
.rpsc-card-title a { text-decoration: none; color: #2c2620; }
.rpsc-card-title a:hover { color: #7c2d2d; }
.rpsc-card-author { font-size: .86rem; color: #6a6258; }
.rpsc-card-author a { color: inherit; text-decoration: none; }
.rpsc-card-year { font-size: .82rem; color: #938a78; margin-top: .1em; }

.rpsc-empty { padding: 2rem; text-align: center; color: #6a6258; }

/* pagination */
.rpsc-pagination { margin-top: 2rem; }
.rpsc-pagination ul { display: flex; flex-wrap: wrap; gap: .35rem; justify-content: center; list-style: none; padding: 0; margin: 0; }
.rpsc-pagination a, .rpsc-pagination span {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 40px; height: 40px; padding: 0 .6rem; border-radius: 8px;
	border: 1px solid #e2d9c8; text-decoration: none; color: #3a342b; background: #fff;
}
.rpsc-pagination .current { background: #7c2d2d; color: #fff; border-color: #7c2d2d; }
.rpsc-pagination a:hover { background: #f4efe6; }

@media (max-width: 600px) {
	.rpsc-grid { grid-template-columns: repeat(auto-fill, minmax(132px, 1fr)); gap: 1rem .8rem; }
}
