/*
 * Content catalogue components v96.2.
 * Route-scoped final layout for article and service cards.
 */

.nsv80-page-list .nsv80-article-card,
.nsv80-folio-list .nsv80-service-card {
	isolation: isolate !important;
}

.nsv80-page-list .nsv80-article-card__media,
.nsv80-folio-list .nsv80-service-card__media {
	position: relative !important;
	display: block !important;
	overflow: hidden !important;
	clip-path: none !important;
	-webkit-clip-path: none !important;
	mask: none !important;
	-webkit-mask: none !important;
	border-radius: 0 !important;
	background: #dce8e5 !important;
}

.nsv80-page-list .nsv80-article-card__media::before,
.nsv80-page-list .nsv80-article-card__media::after,
.nsv80-page-list .nsv80-article-card__media .nsv81-media-link::before,
.nsv80-page-list .nsv80-article-card__media .nsv81-media-link::after,
.nsv80-folio-list .nsv80-service-card__media::before,
.nsv80-folio-list .nsv80-service-card__media .nsv81-media-link::before,
.nsv80-folio-list .nsv80-service-card__media .nsv81-media-link::after {
	display: none !important;
	width: 0 !important;
	height: 0 !important;
	content: none !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: none !important;
	clip-path: none !important;
	-webkit-clip-path: none !important;
	mask: none !important;
	-webkit-mask: none !important;
	transform: none !important;
}

/* Service cards retain only a rectangular lower gradient for location text. */
.nsv80-folio-list .nsv80-service-card__media::after {
	position: absolute !important;
	inset: auto 0 0 !important;
	z-index: 1 !important;
	display: block !important;
	width: auto !important;
	height: 44% !important;
	content: "" !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: linear-gradient(180deg, transparent, rgba(3, 43, 47, .64)) !important;
	clip-path: none !important;
	-webkit-clip-path: none !important;
	mask: none !important;
	-webkit-mask: none !important;
	transform: none !important;
	pointer-events: none !important;
}

.nsv80-page-list .nsv80-article-card__media .nsv81-media-link,
.nsv80-folio-list .nsv80-service-card__media .nsv81-media-link {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	overflow: hidden !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	clip-path: none !important;
	-webkit-clip-path: none !important;
	mask: none !important;
	-webkit-mask: none !important;
	transform: none !important;
}

.nsv80-page-list .nsv80-article-card__media img,
.nsv80-folio-list .nsv80-service-card__media img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	min-width: 100% !important;
	min-height: 100% !important;
	object-fit: cover !important;
	object-position: center !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	clip-path: none !important;
	-webkit-clip-path: none !important;
	mask: none !important;
	-webkit-mask: none !important;
	filter: none !important;
	mix-blend-mode: normal !important;
	opacity: 1 !important;
}

/* Installation/default artwork contains the large white oval seen by TEST.
   It is not a real publication photo, so replace it with a neutral branded state. */
.nsv80-page-list .nsv80-article-card__media:has(img[src*="tp-header-bg3"]),
.nsv80-folio-list .nsv80-service-card__media:has(img[src*="ns-paytop-default"]) {
	display: grid !important;
	place-items: center !important;
	background:
		radial-gradient(circle at 25% 20%, rgba(200,155,53,.18), transparent 34%),
		linear-gradient(145deg,#e9f2ef,#d7e6e2) !important;
}

.nsv80-page-list .nsv80-article-card__media:has(img[src*="tp-header-bg3"]) img,
.nsv80-folio-list .nsv80-service-card__media:has(img[src*="ns-paytop-default"]) img {
	display: none !important;
}

.nsv80-page-list .nsv80-article-card__media:has(img[src*="tp-header-bg3"])::before,
.nsv80-folio-list .nsv80-service-card__media:has(img[src*="ns-paytop-default"])::before {
	position: absolute !important;
	top: 50% !important;
	left: 50% !important;
	z-index: 2 !important;
	display: block !important;
	width: 58px !important;
	height: 58px !important;
	content: "" !important;
	border: 1px solid rgba(7,95,103,.13) !important;
	border-radius: 17px !important;
	background: rgba(255,255,255,.78) url('../img/logo-ns-l68.svg') center / 36px 36px no-repeat !important;
	box-shadow: 0 12px 30px rgba(16,47,52,.1) !important;
	transform: translate(-50%,-65%) !important;
}

.nsv80-page-list .nsv80-article-card__media:has(img[src*="tp-header-bg3"])::after,
.nsv80-folio-list .nsv80-service-card__media:has(img[src*="ns-paytop-default"])::after {
	position: absolute !important;
	top: calc(50% + 34px) !important;
	left: 50% !important;
	z-index: 2 !important;
	display: block !important;
	width: 82% !important;
	height: auto !important;
	content: "Фотография скоро появится" !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: none !important;
	color: #587174 !important;
	font-size: 9px !important;
	font-weight: 900 !important;
	letter-spacing: .05em !important;
	line-height: 1.3 !important;
	text-align: center !important;
	text-transform: uppercase !important;
	transform: translateX(-50%) !important;
}

.nsv80-folio-list .nsv80-service-card__category,
.nsv80-folio-list .nsv80-service-card__location {
	z-index: 3 !important;
}

/* Article search is one explicit composition: form first, quick links below. */
.nsv80-page-list .nsv80-filter--page {
	display: block !important;
	padding: 18px !important;
}

.nsv80-page-list .nsv80-page-search {
	display: grid !important;
	width: 100% !important;
	grid-template-columns: minmax(0, 1fr) 136px !important;
	align-items: end !important;
	gap: 12px !important;
	margin: 0 !important;
}

.nsv80-page-list .nsv80-page-search .nsv80-filter__field {
	position: static !important;
	width: 100% !important;
	min-width: 0 !important;
	grid-column: 1 !important;
	grid-row: 1 !important;
	margin: 0 !important;
	transform: none !important;
}

.nsv80-page-list .nsv80-page-search .nsv80-filter__submit {
	position: static !important;
	width: 136px !important;
	min-width: 136px !important;
	height: 47px !important;
	grid-column: 2 !important;
	grid-row: 1 !important;
	margin: 0 !important;
	transform: none !important;
}

.nsv80-page-list .nsv80-page-quicklinks {
	display: flex !important;
	position: static !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 8px !important;
	width: 100% !important;
	margin: 12px 0 0 !important;
	transform: none !important;
}

.nsv80-page-list .nsv80-page-quicklinks a {
	position: static !important;
	width: auto !important;
	min-height: 40px !important;
	margin: 0 !important;
	padding: 0 13px !important;
	transform: none !important;
}

@media (max-width: 700px) {
	.nsv80-page-list .nsv80-page-search {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.nsv80-page-list .nsv80-page-search .nsv80-filter__field,
	.nsv80-page-list .nsv80-page-search .nsv80-filter__submit {
		width: 100% !important;
		min-width: 0 !important;
		grid-column: 1 !important;
		grid-row: auto !important;
	}

	.nsv80-page-list .nsv80-page-quicklinks a {
		flex: 1 1 150px !important;
		justify-content: center !important;
	}
}
