/*
 * CRHD — листинг v3 (макет Claude Design «Листинг v2», карточка 1c).
 * Поверх cr-listing4.css и cr-home5.css, всё под `.crl3`.
 */

/* ---------- Список и карточка ---------- */

.crl3 .crl-list {
	gap: 14px;
}

.crl3 .crl-card.c3 {
	gap: 0;
	padding: 0;
	overflow: hidden;
	border-radius: 20px;
	border: 2px solid transparent;
	box-shadow: none;
	animation: c3-in .35s cubic-bezier(.23, 1, .32, 1) backwards;
	animation-delay: calc(var(--i, 0) * 60ms);
	transition: transform .2s ease, box-shadow .2s ease, border-color .15s ease;
}

.crl3 .crl-card.c3.is-first {
	border-color: var(--blue);
}

.crl3 .crl-card.c3.is-cmp {
	border-color: #9db3ff;
	box-shadow: none;
}

@media (hover: hover) and (min-width: 900px) {
	.crl3 .crl-card.c3:hover {
		transform: translateY(-2px);
		box-shadow: 0 14px 34px rgba(0, 11, 47, .1);
	}
	.crl3 .crl-card.c3:hover .c3-logo {
		transform: scale(1.03);
	}
}

@keyframes c3-in {
	from {
		opacity: 0;
		transform: translateY(6px);
	}
}

/* Шапка */
.crl3 .c3-h {
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr);
	grid-template-areas:
		"logo title"
		"score score";
	gap: 12px 14px;
	align-items: center;
	padding: 16px;
	border-bottom: 1px solid var(--line3);
}

.crl3 .c3-logo {
	grid-area: logo;
	display: grid;
	place-items: center;
	width: 72px;
	height: 72px;
	overflow: hidden;
	border-radius: 18px;
	background: #fff;
	box-shadow: inset 0 0 0 1px #eef0f4;
	transition: transform .2s ease;
}

.crl3 .c3-logo img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}

.crl3 .c3-logo span {
	font-size: 26px;
	font-weight: 800;
	color: var(--blue);
}

.crl3 .c3-t {
	grid-area: title;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.crl3 .c3-n {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 8px;
}

.crl-page.crl3 .c3-n h3 {
	margin: 0;
	font-size: 19px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -.01em;
}

.crl-page.crl3 .c3-n h3 a {
	color: var(--ink);
}

.crl-page.crl3 .c3-n h3 a:hover {
	color: var(--blue);
}

.crl3 .c3-lv {
	padding: 3px 10px;
	border-radius: 8px;
	font-size: 12px;
	font-weight: 700;
}

.crl3 .c3-lv.is-lead {
	background: #e8eeff;
	color: #2f56e0;
}

.crl3 .c3-lv.is-strong {
	background: #e7f6ee;
	color: #1d7a4a;
}

.crl3 .c3-lv.is-base {
	background: var(--soft);
	color: var(--ink2);
}

.crl3 .c3-promo {
	max-width: 100%;
	padding: 3px 10px;
	border-radius: 8px;
	background: #fff4e0;
	color: #8a5a00;
	font-size: 12px;
	font-weight: 700;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.crl3 .c3-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 2px 14px;
	font-size: 13px;
	line-height: 1.4;
	color: var(--ink2);
}

.crl-page.crl3 .c3-site {
	color: #2f56e0;
	font-weight: 600;
}

.crl-page.crl3 .c3-site::after {
	content: " ↗";
	font-size: .85em;
}

.crl3 .c3-s {
	grid-area: score;
	display: flex;
	align-items: baseline;
	gap: 8px;
}

.crl3 .c3-s b {
	font-size: 28px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: .01em;
	color: var(--blue);
}

.crl3 .c3-s span {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 13px;
	color: var(--ink3);
}

/* Три колонки */
.crl3 .c3-cols {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
}

.crl3 .c3-col {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 16px;
	min-width: 0;
}

.crl3 .c3-col + .c3-col {
	border-top: 1px solid var(--line3);
}

.crl-page.crl3 .c3-col h4 {
	margin: 0;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: #2f56e0;
}

.crl3 .c3-desc {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-size: 14px;
	line-height: 1.55;
	color: var(--ink2);
}

.crl3 .c3-mut {
	font-size: 14px;
	color: var(--ink3);
}

.crl3 .crl-tags {
	gap: 8px;
}

.crl3 .crl-tag {
	height: 30px;
	padding: 0 10px;
	border: 0;
	border-radius: 8px;
	background: #e7f6ee;
	color: #1d7a4a;
	font-size: 13px;
	font-weight: 600;
}

.crl3 .crl-tag::before {
	width: 9px;
	height: 5px;
	border-color: #1d7a4a;
}

.crl3 .c3-prices dl {
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.crl3 .c3-prices dl > div {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	font-size: 14px;
}

.crl3 .c3-prices dt {
	color: var(--ink2);
}

.crl3 .c3-prices dd {
	margin: 0;
	flex: none;
	font-weight: 800;
	white-space: nowrap;
}

.crl3 .c3-rev ul {
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
	list-style: none;
}

.crl3 .c3-rev li {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 14px;
}

.crl3 .c3-rev li b {
	flex: none;
	min-width: 28px;
	font-weight: 800;
}

.crl3 .c3-rev li em {
	flex: none;
	min-width: 36px;
	text-align: right;
	font-style: normal;
	color: var(--ink3);
}

.crl3 .c3-bar {
	flex: 1;
	min-width: 30px;
	height: 6px;
	border-radius: 3px;
	background: var(--blue-l);
	overflow: hidden;
}

.crl3 .c3-bar i {
	display: block;
	width: var(--w, 0);
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, #7f9bff, #4a72ff);
	transform-origin: left center;
	transform: scaleX(0);
	transition: transform .8s cubic-bezier(.2, .7, .2, 1);
}

.crl3 .c3.is-seen .c3-bar i {
	transform: scaleX(1);
}

/* Нижняя полоса */
.crl3 .c3-f {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	padding: 16px;
	border-top: 1px solid var(--line3);
	background: #f8fafd;
}

.crl-page.crl3 .c3-tel {
	flex: 1 1 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: 48px;
	padding: 0 22px;
	border-radius: 12px;
	background: var(--blue);
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	white-space: nowrap;
	transition: background .15s, transform .12s;
}

.crl-page.crl3 .c3-tel:hover {
	background: var(--blue-h);
	color: #fff;
}

.crl-page.crl3 .c3-tel:active {
	transform: scale(.97);
}

.crl3 .c3-tel em,
.crl3 .c3-ph--btn em {
	font-style: normal;
	font-weight: 600;
	opacity: .9;
}

.crl-page.crl3 .c3-msg {
	flex: none;
	width: 48px;
	height: 48px;
	border-radius: 12px;
}

.crl3 .c3-cmp {
	position: relative;
	flex: 1 1 140px;
	margin: 0;
	min-height: 44px;
}

.crl3 .c3-cmp input {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
}

.crl3 .c3-cmp > span {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	height: 44px;
	border: 1.5px solid var(--line2);
	border-radius: 12px;
	background: #fff;
	font-size: 14px;
	font-weight: 600;
	transition: border-color .15s, background .15s;
}

.crl3 .c3-cmp > span b {
	font-weight: 600;
}

.crl3 .c3-cmp > span i {
	display: grid;
	place-items: center;
	width: 18px;
	height: 18px;
	border: 1.5px solid var(--line2);
	border-radius: 5px;
	background: #fff;
	color: transparent;
}

.crl3 .c3-cmp input:checked + span {
	border-color: var(--blue);
	background: var(--blue-l);
	color: #2f56e0;
}

.crl3 .c3-cmp input:checked + span i {
	border-color: var(--blue);
	background: var(--blue);
	color: #fff;
}

.crl3 .c3-cmp input:checked + span b {
	font-size: 0;
}

.crl3 .c3-cmp input:checked + span b::after {
	content: "В сравнении";
	font-size: 14px;
}

.crl3 .c3-cmp input:focus-visible + span {
	outline: 2px solid var(--blue);
	outline-offset: 2px;
}

.crl-page.crl3 .c3-go {
	flex: 1 1 140px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: 44px;
	padding: 0 16px;
	border-radius: 12px;
	background: var(--blue-l);
	color: #2f56e0;
	font-size: 14px;
	font-weight: 700;
	white-space: nowrap;
	transition: background .15s;
}

.crl-page.crl3 .c3-go:hover {
	background: #dbe5ff;
	color: #2f56e0;
}

/* ПК: колонки и однострочная нижняя полоса */
@media (min-width: 900px) {
	.crl3 .c3-h {
		grid-template-columns: 96px minmax(0, 1fr) auto;
		grid-template-areas: "logo title score";
		gap: 20px;
		padding: 24px 28px;
	}
	.crl3 .c3-logo {
		width: 96px;
		height: 96px;
		border-radius: 22px;
	}
	.crl-page.crl3 .c3-n h3 {
		font-size: 22px;
	}
	.crl3 .c3-meta {
		font-size: 14px;
	}
	.crl3 .c3-s {
		flex-direction: column;
		align-items: flex-end;
		gap: 4px;
	}
	.crl3 .c3-s b {
		font-size: 40px;
	}
	.crl3 .c3-cols {
		grid-template-columns: 1.2fr 1fr .9fr;
	}
	.crl3 .c3-col {
		padding: 22px 28px;
	}
	.crl3 .c3-col + .c3-col {
		border-top: 0;
		border-left: 1px solid var(--line3);
	}
	.crl3 .c3-f {
		padding: 16px 28px;
	}
	.crl-page.crl3 .c3-tel {
		flex: none;
		min-width: 200px;
	}
	.crl3 .c3-cmp {
		flex: none;
		margin-left: auto;
	}
	.crl3 .c3-cmp > span {
		padding: 0 16px;
	}
	.crl-page.crl3 .c3-go {
		flex: none;
		padding: 0 20px;
		height: 48px;
	}
	.crl3 .c3-cmp > span {
		height: 48px;
	}
}

/* ---------- Блоки под списком ---------- */

.crl3 .c3-where,
.crl3 .c3-oth {
	padding-top: 56px;
}

.crl3 .c3-where .crh5-hd,
.crl3 .c3-oth .crh5-hd {
	margin-bottom: 28px;
}

.crl3 .c3-where__g {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 14px;
}

.crl3 .c3-where__c {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 20px;
	border: 1px solid var(--line);
	border-radius: 20px;
	background: #fff;
}

.crl-page.crl3 .c3-where__c h3 {
	margin: 0;
	font-size: 18px;
	font-weight: 800;
}

.crl3 .c3-where__l {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.crl-page.crl3 .c3-where__l a {
	display: inline-flex;
	align-items: center;
	height: 36px;
	padding: 0 14px;
	border-radius: 10px;
	background: var(--soft);
	font-size: 13px;
	font-weight: 500;
	color: var(--ink);
	transition: background .15s, color .15s;
}

.crl-page.crl3 .c3-where__l a:hover {
	background: var(--blue-l);
	color: #2f56e0;
}

.crl3 .c3-where__a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	font-weight: 700;
	color: #2f56e0;
}

.crl3 .c3-oth__g {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

.crl-page.crl3 .c3-o {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 14px 40px 14px 14px;
	border-radius: 20px;
	background: var(--blue-t);
	color: var(--ink);
	transition: transform .2s, box-shadow .2s;
}

.crl-page.crl3 .c3-o:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 26px rgba(0, 11, 47, .1);
	color: var(--ink);
}

.crl3 .c3-o .crr5-ib {
	width: 40px;
	height: 40px;
	display: grid;
	place-items: center;
	border-radius: 12px;
	background: #fff;
	color: var(--blue);
}

.crl3 .c3-o b {
	font-size: 15px;
	font-weight: 800;
	line-height: 1.25;
}

.crl3 .c3-o small {
	font-size: 13px;
	color: var(--ink3);
}

.crl3 .c3-o i {
	position: absolute;
	right: 14px;
	bottom: 14px;
	color: var(--blue);
}

@media (min-width: 760px) {
	.crl3 .c3-where__g {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.crl3 .c3-oth__g {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 12px;
	}
}

.crl3 .c3-faqband {
	margin-top: 56px;
}

.crl3 .c3-faqband.crh5-band {
	padding: 48px 0;
}

.crl3 .c3-forband.crh5-band {
	padding: 0 0 56px;
}

@media (min-width: 760px) {
	.crl3 .c3-faqband.crh5-band {
		padding: 80px 0;
	}
}

.crl3 .crl-seo {
	margin-top: 48px;
	margin-bottom: 40px;
}

@media (prefers-reduced-motion: reduce) {
	.crl-page.crl3 .crl-card.c3 {
		animation: c3-in .35s cubic-bezier(.23, 1, .32, 1) backwards !important;
		animation-delay: calc(var(--i, 0) * 60ms) !important;
	}
	.crl-page.crl3 .c3-bar i {
		transition: transform .8s cubic-bezier(.2, .7, .2, 1) !important;
	}
}

/* ---------- Фильтры: панель едет за прокруткой, кнопка «Показать» прилипает внизу ---------- */

body.crl3-body {
	overflow: visible !important;
	overflow-x: clip !important;
}

@media (min-width: 900px) {
	.crl3 .crl-side {
		position: sticky;
		top: 16px;
		max-height: calc(100vh - 32px);
		overflow-y: auto;
		scrollbar-width: none;
	}
	.crl3 .crl-side::-webkit-scrollbar {
		display: none;
	}
	.crl3 .crl-side__foot {
		position: sticky;
		bottom: 0;
		z-index: 2;
		background: #fff;
		box-shadow: 0 -12px 16px -8px #fff;
	}
}

/* Телефон: цены плашкой, как в макете. */
@media (max-width: 899px) {
	.crl3 .c3-prices {
		margin: 0 16px;
		padding: 14px 16px;
		border: 0;
		border-radius: 16px;
		background: var(--soft);
	}
	.crl3 .c3-col + .c3-prices {
		border-top: 0;
	}
}

/* ---------- Сравнение: нижняя панель и окно ---------- */

.crl3 .crl-cmpbar,
.crl3 [data-crl-modal] {
	display: none !important;
}

.c3-lg {
	flex: none;
	display: grid;
	place-items: center;
	width: var(--s, 36px);
	height: var(--s, 36px);
	overflow: hidden;
	border-radius: 10px;
	background: #fff;
}

.c3-lg img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}

.c3-lg.is-blank {
	background: var(--blue-l);
	color: var(--blue);
	font-weight: 800;
	font-size: 15px;
}

.crl-page.crl3 .c3-bar2 {
	position: fixed;
	left: 12px;
	right: 12px;
	bottom: 12px;
	z-index: 70;
	display: flex;
	align-items: center;
	gap: 10px;
	max-width: 760px;
	margin: 0 auto;
	padding: 10px 10px 10px 14px;
	border-radius: 18px;
	background: #000b2f;
	color: #fff;
	box-shadow: 0 16px 40px rgba(0, 11, 47, .3);
	animation: c3-up .3s cubic-bezier(.23, 1, .32, 1) both;
}

.crl-page.crl3 .c3-bar2[hidden] {
	display: none;
}

@keyframes c3-up {
	from {
		opacity: 0;
		transform: translateY(24px);
	}
}

.c3-bar2__l {
	display: flex;
}

.c3-bar2__l .c3-lg {
	margin-left: -8px;
	border: 2px solid #000b2f;
	box-sizing: content-box;
	animation: c3-pop .3s cubic-bezier(.34, 1.56, .64, 1) both;
}

.c3-bar2__l .c3-lg:first-child {
	margin-left: 0;
}

@keyframes c3-pop {
	from {
		opacity: 0;
		transform: scale(.6);
	}
}

.c3-bar2__t {
	flex: 1;
	min-width: 0;
	font-size: 14px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.crl-page.crl3 .c3-bar2 button {
	flex: none;
	height: 44px;
	padding: 0 16px;
	border-radius: 12px;
	font-size: 14px;
	font-weight: 700;
	color: #fff;
}

.crl-page.crl3 .c3-bar2__x {
	background: rgba(255, 255, 255, .12);
}

.crl-page.crl3 .c3-bar2__go {
	background: #3a4258;
	color: #aab2c5;
	cursor: default;
}

.crl-page.crl3 .c3-bar2__go.is-ready {
	background: var(--blue);
	color: #fff;
	cursor: pointer;
}

@media (max-width: 520px) {
	.c3-bar2__t b {
		font-size: 13px;
	}
	.crl-page.crl3 .c3-bar2__x {
		display: none;
	}
}

.c3-cm {
	position: fixed;
	inset: 0;
	z-index: 90;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px 16px;
	background: rgba(0, 11, 47, .5);
}

.c3-cm[hidden] {
	display: none;
}

.c3-cm__d {
	display: flex;
	flex-direction: column;
	width: min(1120px, 100%);
	max-height: calc(100vh - 48px);
	overflow: hidden;
	border-radius: 28px;
	background: #f3f6fb;
	outline: none;
	animation: c3-up .3s cubic-bezier(.23, 1, .32, 1) both;
}

.c3-cm__h {
	flex: none;
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 18px 28px;
	border-bottom: 1px solid var(--line3);
	background: #fff;
}

.c3-cm__t {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 14px;
}

.crl-page.crl3 .c3-cm__h h3 {
	margin: 0;
	font-size: 24px;
	font-weight: 800;
	letter-spacing: -.02em;
}

.c3-cm__h small {
	font-size: 14px;
	color: var(--ink3);
}

.c3-sw {
	flex: none;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
}

.c3-sw input {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
}

.c3-sw span {
	position: relative;
	flex: none;
	width: 40px;
	height: 24px;
	border-radius: 999px;
	background: #d3dbea;
	transition: background .2s;
}

.c3-sw span::after {
	content: "";
	position: absolute;
	left: 3px;
	top: 3px;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 1px 4px rgba(0, 11, 47, .25);
	transition: transform .2s;
}

.c3-sw input:checked + span {
	background: var(--blue);
}

.c3-sw input:checked + span::after {
	transform: translateX(16px);
}

.c3-sw input:focus-visible + span {
	outline: 2px solid var(--blue);
	outline-offset: 2px;
}

.crl-page.crl3 .c3-cm__x {
	flex: none;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: var(--soft);
	font-size: 26px;
	line-height: 1;
	color: var(--ink);
}

.c3-cm__b {
	flex: 1;
	min-height: 0;
	overflow-y: auto;
	display: grid;
	grid-template-columns: repeat(var(--n, 2), minmax(0, 1fr));
	gap: 16px;
	align-items: start;
	padding: 28px 24px 24px;
}

.c3-cc {
	position: relative;
	padding: 22px 24px;
	border: 2px solid transparent;
	border-radius: 24px;
	background: #fff;
	font-size: 14px;
}

.c3-cc.is-lead {
	border-color: var(--blue);
	box-shadow: 0 14px 36px rgba(74, 114, 255, .18);
}

.c3-cc__tag {
	position: absolute;
	top: -13px;
	left: 50%;
	transform: translateX(-50%);
	padding: 6px 14px;
	border-radius: 999px;
	background: var(--blue);
	color: #fff;
	font-size: 12px;
	font-weight: 800;
	white-space: nowrap;
}

.crl-page.crl3 .c3-cc__rm {
	position: absolute;
	top: 14px;
	right: 14px;
	width: 28px;
	height: 28px;
	border-radius: 8px;
	background: var(--soft);
	font-size: 18px;
	line-height: 1;
	color: #c0392b;
}

.c3-cc__h {
	display: flex;
	align-items: center;
	gap: 16px;
	padding-right: 32px;
}

.c3-cc__h > div {
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
}

.c3-cc__h .c3-lg {
	width: 64px;
	height: 64px;
	border-radius: 18px;
	box-shadow: inset 0 0 0 1px #eef0f4;
}

.c3-cc__h b {
	font-size: 20px;
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -.01em;
}

.c3-lv2 {
	padding: 3px 10px;
	border-radius: 8px;
	background: var(--soft);
	color: var(--ink2);
	font-size: 12px;
	font-weight: 700;
}

.c3-cc.is-lead .c3-lv2 {
	background: #e7f6ee;
	color: #1d7a4a;
}

.c3-cc__p {
	margin-top: 16px;
	padding: 14px 16px 16px;
	border-radius: 18px;
	background: var(--soft);
}

.c3-cc__p > div {
	display: flex;
	align-items: baseline;
	gap: 8px;
}

.c3-cc__p b {
	font-size: 40px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: .02em;
}

.c3-cc.is-lead .c3-cc__p b {
	color: #2f56e0;
}

.c3-cc__p small {
	font-size: 14px;
	color: var(--ink2);
}

.c3-bar--l {
	display: block;
	width: 100%;
	height: 8px;
	margin-top: 10px;
	border-radius: 4px;
	background: #dfe5f1;
}

.c3-cc__p .c3-bar i {
	transform: scaleX(1);
}

.crl-page.crl3 .c3-cc h5 {
	margin: 20px 0 4px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: #2f56e0;
}

.c3-l {
	margin: 0;
	padding: 0;
	list-style: none;
}

.c3-l li {
	display: flex;
	align-items: center;
	gap: 8px;
	min-height: 41px;
	border-bottom: 1px solid var(--line3);
}

.c3-l li > span:first-child {
	flex: 1;
	min-width: 0;
	color: var(--ink2);
}

.c3-l li > b {
	flex: none;
	max-width: 62%;
	font-weight: 800;
	text-align: right;
}

.c3-l--s {
	margin-top: 4px;
}

.c3-l--s li {
	min-height: 32px;
	border-bottom: 0;
}

.c3-l--s li > .c3-fv {
	flex: none;
	display: grid;
	place-items: center;
	width: 20px;
	height: 20px;
}

.c3-l--s li > .c3-fv img {
	width: 16px;
	height: 16px;
}

.c3-l--s li > .c3-sn {
	flex: 0 0 64px;
	font-size: 13px;
}

.c3-l--s li > .c3-bar {
	flex: 1;
	height: 6px;
}

.c3-l--s li > b {
	min-width: 34px;
	max-width: none;
}

.c3-st {
	color: var(--ink);
}

.c3-yes {
	color: var(--ink);
}

.c3-good {
	flex: none;
	padding: 2px 8px;
	border-radius: 999px;
	background: #e7f6ee;
	color: #1d7a4a;
	font-size: 11px;
	font-style: normal;
	font-weight: 800;
}

.c3-cm.is-only .c3-l li.is-same {
	display: none;
}

.c3-cc__f {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-top: 20px;
	padding-top: 18px;
	border-top: 1px solid var(--line3);
}

.crl-page.crl3 .c3-ph {
	font-size: 17px;
	font-weight: 800;
	color: var(--ink);
}

.c3-cc__m {
	display: flex;
	gap: 8px;
}

.crl-page.crl3 .c3-m2 {
	width: 44px;
	height: 44px;
	border-radius: 12px;
}

.crl-page.crl3 .c3-pg {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 44px;
	border-radius: 12px;
	background: var(--blue-l);
	font-weight: 700;
	color: #2f56e0;
}

@media (max-width: 759px) {
	.c3-cm {
		padding: 12px 0 0;
		align-items: flex-end;
	}
	.c3-cm__d {
		max-height: calc(100vh - 12px);
		border-radius: 24px 24px 0 0;
	}
	.c3-cm__h {
		flex-wrap: wrap;
		padding: 14px 16px;
	}
	.c3-sw {
		order: 3;
		flex: 1 1 100%;
	}
	.c3-cm__b {
		display: flex;
		gap: 12px;
		padding: 22px 16px 20px;
		overflow: auto;
		scroll-snap-type: x mandatory;
	}
	.c3-cc {
		flex: 0 0 300px;
		scroll-snap-align: start;
	}
}

/* ---------- Чипы фильтров, кнопка «Показать», число компаний ---------- */

.crl3 .crl-chip {
	animation: c3-pop .25s cubic-bezier(.34, 1.56, .64, 1) both;
}

.crl3 .crl-go.is-pulse {
	animation: c3-pulse .35s ease;
}

@keyframes c3-pulse {
	50% {
		transform: scale(1.04);
	}
}

/* ---------- Телефон: панель над списком и шторка фильтров ---------- */

@media (max-width: 899px) {
	.crl3 .crl-bar {
		position: sticky;
		top: 0;
		z-index: 40;
		margin: 0 -20px 12px;
		padding: 10px 20px;
		background: #f3f6fb;
		transition: transform .2s ease;
	}
	.crl3 .crl-bar.is-hide {
		transform: translateY(-110%);
	}
	.crl-page.crl3 .crl-fbtn {
		border-color: #000b2f;
		background: #000b2f;
		color: #fff;
	}
	.crl-page.crl3 .crl-mapbtn {
		width: 44px;
		padding: 0;
	}
	.crl-page.crl3 .crl-mapbtn span {
		display: none;
	}
	.crl3 .crl-side {
		top: 56px;
		border-radius: 24px 24px 0 0;
		box-shadow: 0 0 0 100vmax rgba(0, 11, 47, .45);
	}
	.crl3 .crl-side::before {
		content: "";
		display: block;
		flex: none;
		width: 40px;
		height: 4px;
		margin: 8px auto 0;
		border-radius: 2px;
		background: var(--line2);
	}
}

.crl-page.crl3.c3-sheet .c3-bar2 {
	display: none;
}

/* ---------- Кнопка «Показать N компаний» внизу панели фильтров (ПК) ---------- */

.crl3 .crl-go__hint {
	display: none;
}

@media (min-width: 900px) {
	.crl3 .crl-side__foot {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 8px;
		padding: 12px 20px 16px;
		border-radius: 0 0 16px 16px;
	}
	.crl-page.crl3 .crl-go {
		width: 100%;
		height: 50px;
		border: 0;
		border-radius: 12px;
		background: var(--blue);
		box-shadow: 0 10px 24px rgba(74, 114, 255, .35);
		font: inherit;
		font-size: 16px;
		font-weight: 700;
		color: #fff;
		cursor: pointer;
		transition: background .15s, transform .12s, box-shadow .15s;
	}
	.crl-page.crl3 .crl-go:hover {
		background: var(--blue-h);
	}
	.crl-page.crl3 .crl-go:active {
		transform: scale(.98);
	}
	.crl-page.crl3 .crl-go.is-zero {
		background: #c9d3ea;
		box-shadow: none;
		cursor: default;
	}
	.crl3 .crl-go__hint {
		display: block;
		margin: 0;
		text-align: center;
		font-size: 13px;
		color: var(--ink3);
	}
	.crl3 .crl-side__foot .crl-link--c {
		display: none;
	}
}

/* Метки на карте: логотип и баллы. */
.crl3 .crl-pin--l {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 0 12px 0 5px;
	transition: transform .15s ease, background .15s ease;
}

.crl3 .crl-pin--l img {
	width: 22px;
	height: 22px;
	border-radius: 6px;
	background: #fff;
	object-fit: contain;
}

.crl3 .crl-pin.is-hl {
	background: var(--blue);
	transform: scale(1.18);
	z-index: 5;
}

.c3-fly {
	display: grid;
	place-items: center;
	overflow: hidden;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(0, 11, 47, .2);
}

.c3-fly img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}


/* ---------- Карта: панель 340px над списком карточек, белые метки с логотипом ---------- */

.crl3 .crl-split.is-map {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.crl3 .crl-split.is-map .crl-minis {
	display: none !important;
}

.crl3 .crl-split.is-map .crl-list {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.crl3 .crl-split.is-map .crl-map {
	order: -1;
	height: 340px;
	border-radius: 20px;
	box-shadow: inset 0 0 0 1px var(--line);
}

.crl3 .crl-map__note {
	right: auto;
	max-width: calc(100% - 24px);
	padding: 8px 14px;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 600;
	box-shadow: 0 4px 14px rgba(0, 11, 47, .1);
}

.crl-page.crl3 .crl-mapbtn[aria-pressed="true"] {
	border-color: #000b2f;
	background: #000b2f;
	color: #fff;
}

.crl3 .crl-pin--l {
	background: #fff;
	color: #000b2f;
	box-shadow: 0 6px 16px rgba(0, 11, 47, .2);
}

.crl3 .crl-pin--l::after {
	background: #fff;
}

.crl3 .crl-pin.is-hl::after {
	background: var(--blue);
}

.crl3 .crl-pin--l.is-hl {
	background: var(--blue);
	color: #fff;
}

@media (max-width: 759px) {
	.crl3 .crl-split.is-map .crl-map {
		height: 300px;
		min-height: 0;
	}
}

/* Исправления после проверки: карта на всю ширину, значки площадок в окне сравнения, текст кнопки. */
.crl3 .crl-split.is-map {
	align-items: stretch;
}

.crl3 .crl-split.is-map .crl-map {
	width: 100%;
}

.crl3 .crl-map__canvas {
	border-radius: inherit;
}

.c3-l.c3-l--s li > .c3-fv {
	flex: none;
}

.c3-l.c3-l--s li > .c3-sn {
	flex: 0 0 84px;
}

@media (min-width: 900px) {
	.crl-page.crl3 .crl-go {
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 0 16px;
	}
}

/* ---------- Карта: разворот по высоте, метки появляются по очереди ---------- */

.crl3 .crl-split.is-map .crl-map {
	animation: c3-mapopen .3s cubic-bezier(.23, 1, .32, 1) both;
}

@keyframes c3-mapopen {
	from {
		height: 0;
		opacity: 0;
	}
}

.crl3 .crl-pin--l {
	animation: c3-pinin .3s cubic-bezier(.34, 1.56, .64, 1) backwards;
}

@keyframes c3-pinin {
	from {
		opacity: 0;
		transform: scale(.6);
	}
}

/* ---------- «Показать телефон»: номер проявляется ---------- */

.crl3 .c3-tel.is-shown span {
	animation: c3-fade .18s ease both;
}

@keyframes c3-fade {
	from {
		opacity: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.crl-page.crl3 .crl-split.is-map .crl-map {
		animation: c3-mapopen .3s cubic-bezier(.23, 1, .32, 1) both !important;
	}
	.crl-page.crl3 .crl-pin--l {
		animation: c3-pinin .3s cubic-bezier(.34, 1.56, .64, 1) backwards !important;
	}
}

/* ---------- Панель фильтров (ПК): как в макете — фильтры прокручиваются, кнопка «Показать» прилипает к низу панели ---------- */

@media (min-width: 900px) {
	.crl3 .crl-side {
		display: flex;
		flex-direction: column;
		overflow: hidden;
	}
	.crl3 .crl-side__bar {
		order: 1;
		flex: none;
	}
	.crl3 .crl-side__in {
		order: 2;
		flex: 1 1 auto;
		min-height: 0;
		overflow-y: auto;
		scrollbar-width: none;
	}
	.crl3 .crl-side__in::-webkit-scrollbar {
		display: none;
	}
	.crl3 .crl-side__foot {
		order: 3;
		flex: none;
		position: relative;
		padding: 14px 20px 14px;
		border: 0;
		border-radius: 0 0 16px 16px;
		background: linear-gradient(180deg, rgba(255, 255, 255, 0), #fff 22%);
		box-shadow: none;
	}
	/* Текст кнопки: пробелы между словами и числом (flex их схлопывал). */
	.crl-page.crl3 .crl-go {
		display: block;
		padding: 0 16px;
		line-height: 50px;
		text-align: center;
		white-space: nowrap;
	}
}

/* Телефон в окне сравнения: сначала кнопка, номер только после нажатия. */
.crl-page.crl3 .c3-ph--btn {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 44px;
	border-radius: 12px;
	background: var(--blue);
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	transition: background .15s;
}

.crl-page.crl3 .c3-ph--btn:hover {
	background: var(--blue-h);
	color: #fff;
}

.crl-page.crl3 .c3-ph--btn.is-shown {
	background: var(--blue-l);
	color: #2f56e0;
	animation: c3-fade .18s ease both;
}

.crl-page.crl3 .c3-ph--btn {
	gap: 8px;
}

/* ---------- Карта и список связаны ---------- */

/* Карта едет за прокруткой, пока смотрим карточки: метки и подсветка всегда на виду (ПК). */
@media (min-width: 900px) {
	.crl3 .crl-split.is-map .crl-map {
		position: sticky;
		top: 16px;
		z-index: 6;
		box-shadow: 0 10px 30px rgba(0, 11, 47, .12), inset 0 0 0 1px var(--line);
	}
}

.crl-page.crl3 .c3-loc {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin-left: 6px;
	padding: 2px 8px;
	border-radius: 999px;
	background: var(--blue-l);
	font: inherit;
	font-size: 12px;
	font-weight: 700;
	color: #2f56e0;
	cursor: pointer;
	transition: background .15s;
}

.crl-page.crl3 .c3-loc:hover {
	background: #dbe5ff;
}

.crl3 .crl-card.c3.is-pinhl {
	border-color: #9db3ff;
	box-shadow: 0 14px 34px rgba(74, 114, 255, .18);
}

.crl3 .crl-card.c3.is-flash {
	animation: c3-flash 1.5s ease;
}

@keyframes c3-flash {
	0%,
	40% {
		border-color: var(--blue);
		box-shadow: 0 0 0 6px rgba(74, 114, 255, .22);
	}
}

.c3-bl {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 190px;
	font-size: 13px;
}

.c3-bl__p {
	font-size: 18px;
}

.c3-bl__p small {
	font-size: 12px;
	font-weight: 500;
	color: #6b7794;
}

.c3-bl__g {
	margin-top: 4px;
	font-weight: 700;
	color: #2f56e0;
}

@media (prefers-reduced-motion: reduce) {
	.crl-page.crl3 .crl-card.c3.is-flash {
		animation: c3-flash 1.5s ease !important;
	}
}
