

/* Start:/local/templates/aspro-premier/css/pages/projects-landing.css?178522791412778*/
/* /projects/ — лендинг «Новостройки Брянска» */

.projects-page {
	--projects-body-color: var(--white_text_black, #1b1d24);
	--projects-muted-color: var(--basic_text_black, #555);
	--projects-section-gap: clamp(40px, 6vw, 80px);
	color: var(--projects-body-color);
}

.projects-page :is(h1, h2, h3, h4, h5, h6):not(.projects-page__section-title):not(.projects-page__title) {
	margin-top: 0;
	margin-bottom: 0;
	color: var(--projects-body-color);
	letter-spacing: normal;
}

.projects-page p {
	margin-top: 0;
}

@media (max-width: 1279.98px) {
	.projects-page .onlyDesktop {
		display: none !important;
	}
}

@media (min-width: 1280px) {
	.projects-page .onlyTablet,
	.projects-page .onlyMobile {
		display: none !important;
	}
}

@media (min-width: 768px) and (max-width: 1279.98px) {
	.projects-page .onlyMobile {
		display: none !important;
	}
}

@media (max-width: 767.98px) {
	.projects-page .onlyTablet {
		display: none !important;
	}
}

.projects-page__hero {
	margin-bottom: clamp(24px, 4vw, 48px);
	text-align: center;
}

.projects-page__title {
	width: 100%;
	max-width: min(1100px, 100%);
	margin-inline: auto;
	font-weight: 500;
	letter-spacing: -0.04em;
	line-height: 0.98;
}

.projects-page__title-line {
	display: block;
}

.projects-page__section {
	margin-bottom: var(--projects-section-gap);
}

.projects-page__section:last-child {
	margin-bottom: 0;
}

/*
 * Посадочная ЖК: блок «Что уже построили» лежит во flex-колонке
 * (.complex-landing-a101). Margin у внутренней секции не создаёт зазор
 * между flex-элементами — отступ нужен на самой обёртке.
 */
.section-content-wrapper.complex-landing-a101 > .complex-landing-completed-projects {
	margin-bottom: 100px !important;
}

@media (max-width: 767px) {
	.section-content-wrapper.complex-landing-a101 > .complex-landing-completed-projects {
		margin-bottom: 72px !important;
	}
}

.projects-page__catalog .front-price-filter-block {
	margin-bottom: 0;
}

/* Без серой подложки sale-list-figma на странице проектов */
.projects-page .front-price-filter-block--plain,
.projects-page .front-price-filter-block.front-price-filter-block--plain {
	background: transparent;
	border-radius: 0;
	padding: 0;
	overflow: visible;
}

.projects-page__catalog .front-price-filter-block .sale-figma-header {
	display: none;
}

/* Карточки ЖК на странице — без подчёркивания ссылок (Aspro a:hover) */
.projects-page .ui-card--project__link,
.projects-page .ui-card--project__link:hover,
.projects-page .ui-card--project__link:focus,
.projects-page .ui-card--project__link:active,
.projects-page .ui-card--project__link:visited,
.projects-page .ui-card--project__link--nolink,
.projects-page .ui-card--project__link--nolink:hover,
.projects-page .ui-card--project__link--nolink:focus,
.projects-page .ui-card--project__link *,
.projects-page .ui-card--project__link:hover *,
.projects-page .ui-card--project__link:focus * {
	text-decoration: none !important;
	text-decoration-line: none !important;
}

.projects-page .ui-card--project__link .ui-card__title,
.projects-page .ui-card--project__link .ui-card__name,
.projects-page .ui-card--project__link .ui-card__stats,
.projects-page .ui-card--project__link .ui-card__address,
.projects-page .ui-card--project__link .ui-card__address span {
	text-decoration: none !important;
	text-decoration-line: none !important;
}

/* Заголовки секций — стиль complex-genplan-a101 / project-section-header */
.projects-page .project-section-header {
	margin: 0 auto 64px;
	width: 100%;
}

.projects-page .project-section-header__wrapper {
	align-items: start;
	column-gap: 20px;
	display: grid;
	gap: 20px;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	row-gap: 20px;
	width: 100%;
}

.projects-page .projects-page__section-title.v-title {
	color: #1b1d24;
	font-size: 52px;
	font-weight: 500;
	grid-column: span 5;
	letter-spacing: -2.6px;
	line-height: 0.95;
	margin: 0;
}

.projects-page__section-title-text {
	display: block;
	line-height: inherit;
}

.projects-page__section-header--faq {
	margin-bottom: 32px;
}

.projects-page__completed-grid {
	margin-top: 0;
}

/* Карточки реализованных — как в front_price_filter (726×408) */
.projects-page__completed-grid .ui-card__body {
	padding: 14px 4px 0;
}

.projects-page__completed-grid .ui-card--project .ui-card__image--project {
	--aspect-ratio: 726 / 408;
	border-radius: var(--theme-border-radius-x, 14px);
	overflow: hidden;
}

.projects-page__completed-grid .ui-card--project.outer-rounded-x {
	border-radius: 0;
	overflow: visible;
}

.projects-page__completed-grid .ui-card--project .ui-card__title,
.projects-page__completed-grid .ui-card--project .ui-card__title .ui-card__name,
.projects-page__completed-grid .ui-card--project .ui-card__title .ui-card__stats {
	color: #000;
	font-size: 24px;
	font-weight: 500;
	line-height: 1.25;
}

.projects-page__completed-grid .ui-card--project .ui-card__title {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 4px;
}

.projects-page__completed-grid .ui-card--project .ui-card__stats {
	white-space: nowrap;
}

.projects-page__completed-grid .ui-card--project .ui-card__address {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 8px;
	color: var(--theme-secondary-color, #78807d);
	font-size: 14px;
	line-height: 1.3;
}

.projects-page__completed-grid .ui-card--project .ui-card__address-icon {
	flex: 0 0 14px;
	color: currentColor;
	opacity: 0.75;
}

.projects-page__completed .front-price-filter-panel__result .ui-card__body {
	padding-inline: 4px;
}

.projects-page__completed-more {
	display: flex;
	justify-content: center;
	margin-top: 32px;
}

.projects-page__completed-more .sale-figma-btn--rect {
	min-width: 220px;
	justify-content: center;
}

/* Без «поднятия» / zoom при наведении — только блок реализованных */
.projects-page--no-card-lift .ui-card--project .ui-card__img {
	scale: 1 !important;
	transition: opacity 0.18s ease;
}

@media (any-hover: hover) {
	.projects-page--no-card-lift .ui-card--project:hover .ui-card__img {
		scale: 1 !important;
	}

	.projects-page--no-card-lift a.ui-card:hover .ui-card__img {
		scale: 1 !important;
	}
}

.projects-page--no-card-lift .ui-card__room-buttons {
	display: none;
}

.projects-page__faq .index-faq-figma > .maxwidth-theme {
	padding-top: 0;
}

.projects-page__faq .index-faq-figma__answer ul {
	margin: 12px 0 0;
	padding-left: 1.2em;
}

.projects-page__faq .index-faq-figma__answer li + li {
	margin-top: 8px;
}

.projects-page__faq .index-faq-figma__answer a {
	color: var(--theme-base-color);
}

.projects-page__faq .index-faq-figma__row > .panel-collapse.collapse:not(.in):not(.show) {
	display: none;
}

.projects-page__faq-item-title {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.projects-page .complex-consult-a101,
.projects-page .complex-callback-a101 {
	margin-bottom: var(--projects-section-gap);
}

.projects-page__callback-wrap .complex-callback-a101 {
	margin-bottom: 0;
}

/* Тизеры / подписка / «Если нужна ипотека» после реализованных проектов */
.projects-page__tizers-inner {
	width: 100%;
}

.projects-page__tizers .tizers-list {
	margin: 0;
}

.projects-page__subscribe .complex-subscribe-a101.section {
	margin: 0;
	padding: 0;
	width: 100%;
}

/* Как на /ipoteka/: убираем внутренний container--1440, ширина = maxwidth-theme */
.projects-page__subscribe .complex-subscribe-a101 .container.container--1440 {
	max-width: none;
	padding-left: 0;
	padding-right: 0;
	width: 100%;
}

.projects-page__useful .ipoteka-page__useful-wrap {
	padding-top: 0;
	padding-bottom: 0;
	margin: 0;
}

.projects-page__useful .ipoteka-useful__heading {
	margin: 0;
}

.projects-page__useful .ipoteka-useful__header {
	margin-bottom: clamp(20px, 3vw, 32px);
}

@media (max-width: 1279.98px) {
	.projects-page .project-section-header {
		margin-bottom: 40px;
	}

	.projects-page .project-section-header__wrapper {
		display: flex;
		flex-direction: column;
		gap: 28px;
	}

	.projects-page .projects-page__section-title.v-title {
		font-size: 42px;
		grid-column: auto;
		letter-spacing: -2.1px;
	}

}

@media (max-width: 767.98px) {
	.projects-page__title {
		font-size: clamp(28px, 8vw, 40px);
	}

	.projects-page .projects-page__section-title.v-title {
		font-size: 30px;
		letter-spacing: -1.2px;
	}

	/* Одна карточка в строку — без горизонтального скролла */
	.projects-page__completed-grid.ui-cards.grid-list {
		--items-count: 1;
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 30px !important;
		row-gap: 30px !important;
		overflow: visible !important;
		padding: 0 !important;
		margin: 0 !important;
	}

	.projects-page__completed-grid > .grid-list__item {
		width: auto !important;
		min-width: 0 !important;
		flex: unset !important;
		margin-bottom: 0 !important;
	}

	.projects-page__completed-grid .ui-card--project .ui-card__image--project {
		--aspect-ratio: 726 / 408;
		aspect-ratio: var(--aspect-ratio) !important;
		height: auto !important;
		width: 100%;
		border-radius: var(--theme-border-radius-x, 14px) !important;
		overflow: hidden !important;
	}

	.projects-page__completed-grid .ui-card--project .ui-card__image--project .ui-card__img {
		border-radius: inherit;
	}

	.projects-page__completed-grid .ui-card--project .ui-card__title,
	.projects-page__completed-grid .ui-card--project .ui-card__title .ui-card__name,
	.projects-page__completed-grid .ui-card--project .ui-card__title .ui-card__stats {
		font-size: 20px;
		line-height: 1.25;
	}

	.projects-page__completed-grid .ui-card--project .ui-card__stats {
		white-space: normal;
	}

	.projects-page__completed-grid .ui-card--project .ui-card__address {
		font-size: 14px;
	}

	.projects-page__completed-more .sale-figma-btn--rect {
		width: 100%;
	}
}

/* /realizovannye-proekty/ — единая сетка отступов как на /projects/
 *
 * Desktop (≥1280px):
 *   --rp-section-gap: 80px  — между секциями (сверху заголовка следующего блока)
 *   --rp-header-gap: 64px    — от заголовка секции до её контента
 *
 * Tablet (768–1279px):
 *   --rp-section-gap: clamp(40px, 6vw, 80px)
 *   --rp-header-gap: 40px
 *
 * Mobile (≤767px):
 *   --rp-section-gap: clamp(40px, 6vw, 80px)
 *   --rp-header-gap: 40px
 */
.realizovannye-proekty-page.projects-page {
	--rp-section-gap: clamp(40px, 6vw, 80px);
	--rp-header-gap: 64px;
}

.realizovannye-proekty-page.projects-page > .projects-page__section {
	margin-bottom: var(--rp-section-gap);
}

.realizovannye-proekty-page.projects-page > .projects-page__section:last-child {
	margin-bottom: 0;
}

.realizovannye-proekty-page.projects-page .project-section-header {
	margin: 0 0 var(--rp-header-gap);
}

.realizovannye-proekty-page.projects-page .realizovannye-proekty-page__hero {
	text-align: center;
}

.realizovannye-proekty-page.projects-page .realizovannye-proekty-page__hero .projects-page__title {
	margin-inline: auto;
}

.realizovannye-proekty-page.projects-page .projects-page__hero-subtitle {
	width: 100%;
	max-width: min(710px, 100%);
	margin: 32px auto 0;
	text-align: center;
	color: var(--projects-muted-color);
	line-height: 1.45;
}

.realizovannye-proekty-page.projects-page .projects-page__hero-subtitle p {
	margin: 0;
}

.realizovannye-proekty-page.projects-page .complex-subscribe-a101--embedded-in-infra,
.realizovannye-proekty-page.projects-page .complex-office-map-a101--embedded,
.realizovannye-proekty-page.projects-page .complex-office-map-a101.section {
	margin: 0;
	width: 100%;
}

/* FAQ: 64px от заголовка до первого визуального ряда (без дубля index-faq-figma__list margin-top: 32px) */
.realizovannye-proekty-page.projects-page .projects-page__faq .index-faq-figma__list {
	margin-top: 0;
}

.realizovannye-proekty-page.projects-page .projects-page__faq .projects-page__section-title.v-title {
	grid-column: 1 / -1;
}

@media (max-width: 1279.98px) {
	.realizovannye-proekty-page.projects-page {
		--rp-header-gap: 40px;
	}

	.realizovannye-proekty-page.projects-page .projects-page__hero-subtitle {
		margin-top: 28px;
	}
}

@media (max-width: 767.98px) {
	.realizovannye-proekty-page.projects-page .projects-page__hero-subtitle {
		margin-top: 20px;
	}
}

/* End */


/* Start:/local/templates/aspro-premier/components/bitrix/news.list/faq-index-figma/style.css?17854819585466*/
/* Главная: FAQ как макет (шапка = brands sale-figma-header), акцент = theme-base-color */

.index-faq-figma {
    --ifq-accent: var(--theme-base-color);
    --ifq-text: #1a1a1a;
    --ifq-muted: #5c5c5c;
    --ifq-divider: #e8e8e4;
    --ifq-badge-bg: #eeede9;
}

/* ---------- Шапка: те же классы, что brands-list-big-img / sale-figma-header ---------- */
.index-faq-figma .sale-figma-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    margin-bottom: 8px;
    text-align: center;
}

.index-faq-figma .sale-figma-header__badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px 8px 12px;
    background-color: var(--ifq-badge-bg);
    border-radius: 999px;
    font-size: 13px;
    line-height: 1;
    font-weight: 500;
    color: var(--ifq-text);
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.04);
}

.index-faq-figma .sale-figma-header__badge-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--ifq-accent);
    flex-shrink: 0;
}

.index-faq-figma .sale-figma-header__title {
    margin: 0;
    font-size: clamp(28px, 3vw, 44px);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: var(--ifq-text);
}

.index-faq-figma .sale-figma-header__title-line {
    display: block;
}

/* ---------- Список вопросов ---------- */
.index-faq-figma__list {
    margin-top: 32px;
}

.index-faq-figma__row {
    border-top: none;
    border-bottom: 1px solid var(--ifq-divider);
}

/* Жёстко перебиваем глобальный .accordion-head (autoload/accordion.css): pl/pr 24/48 + display:block ломают flex и дают «двойные» отступы с maxwidth-theme на iPhone */
.index-faq-figma .index-faq-figma__head.accordion-head {
    --pl: 0;
    --pr: 0;
    --p-block: 0;
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 26px 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    cursor: pointer;
    text-align: left;
    border: none !important;
    box-shadow: none !important;
    position: relative;
}

button.index-faq-figma__head {
    margin: 0;
    font: inherit;
    color: inherit;
    background: transparent;
    -webkit-tap-highlight-color: transparent;
    appearance: none;
}

.index-faq-figma__head--static {
    cursor: default;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 26px 0;
}

.index-faq-figma__q {
    flex: 1 1 0;
    min-width: 0;
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.35;
    color: var(--ifq-text);
    text-align: left;
}

h1.index-faq-figma__q {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.35;
}

.index-faq-figma__toggle {
    flex-shrink: 0;
    margin-left: auto;
    width: 44px;
    height: 44px;
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.index-faq-figma__toggle::before {
    content: "+";
    font-size: 42px;
    font-weight: 300;
    line-height: 1;
    color: var(--ifq-accent);
    transition: transform 0.25s ease;
}

.index-faq-figma__head:not(.collapsed) .index-faq-figma__toggle::before {
    transform: rotate(45deg);
}

/* Тело ответа аккордеона — на всю ширину колонки */
.index-faq-figma__row .panel-collapse .index-faq-figma__body {
    padding: 0 0 28px;
    box-sizing: border-box;
}

/* Панель ответа: без лишних горизонтальных отступов */
.index-faq-figma__row .panel-collapse {
    border: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.index-faq-figma__answer {
    font-size: 16px;
    line-height: 1.55;
    color: var(--ifq-muted);
}

.index-faq-figma__answer .numbers_row {
    margin-bottom: 24px;
}

.index-faq-figma__answer p:last-child {
    margin-bottom: 0;
}

.index-faq-figma__btn {
    margin-top: 20px;
}

@media (max-width: 600px) {
    .index-faq-figma .sale-figma-header__badge {
        font-size: 12px;
        padding: 7px 14px 7px 10px;
    }

    .index-faq-figma__q {
        font-size: 16px;
    }

    .index-faq-figma .index-faq-figma__head.accordion-head {
        gap: 24px;
        padding: 20px 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .index-faq-figma__toggle {
        width: 38px;
        height: 38px;
    }

    .index-faq-figma__toggle::before {
        font-size: 36px;
    }
}

/* Мобильная: те же боковые отступы, что у .maxwidth-theme в теме (как у остального контента) */
@media screen and (max-width: 767px) {
    .index-faq-figma > .maxwidth-theme {
        padding-left: var(--theme-page-width-padding, 16px);
        padding-right: var(--theme-page-width-padding, 16px);
        max-width: 100%;
        box-sizing: border-box;
    }

    .index-faq-figma__head--static {
        padding: 20px 0;
    }

    .index-faq-figma .index-faq-figma__head.accordion-head {
        gap: 20px;
    }

    .index-faq-figma__toggle {
        width: 40px;
        height: 40px;
    }
}

/* End */


/* Start:/local/templates/aspro-premier/components/bitrix/news.list/sale-list-figma/style.css?178552153218197*/
.sale-list-figma {
    --sf-gap: 16px;
    --sf-radius: 28px;
    --sf-radius-sm: 24px;

    --sf-pad: 32px;
    --sf-pad-sm: 24px;

    --sf-accent: var(--theme-base-color);
    --sf-accent-hover: color-mix(in oklab, var(--theme-base-color) 88%, #000);

    --sf-text-dark: #1A1A1A;
    --sf-text-muted-dark: rgba(26, 26, 26, 0.6);
    --sf-text-light: #FFFFFF;
    --sf-text-muted-light: rgba(255, 255, 255, 0.85);

    --sf-bg-section: #EEEDE9;
    --sf-bg-light: #F5F2EC;
    --sf-bg-dark: #6E635B;

    --sf-btn-round-size: 56px;
    --sf-card-min-h: 280px;

    background-color: var(--sf-bg-section);
    border-radius: 80px;
    padding: 64px 0;
    overflow: hidden;
}

@media (max-width: 991px) {
    .sale-list-figma {
        border-radius: 48px;
        padding: 48px 0;
    }
}

@media (max-width: 600px) {
    .sale-list-figma {
        border-radius: 32px;
        padding: 32px 0;
    }
}

/* ====== Заголовок секции (чип + крупный title) ====== */
.sale-list-figma .sale-figma-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    margin-bottom: 32px;
    text-align: center;
}

.sale-list-figma .sale-figma-header__badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px 8px 12px;
    background-color: #FFFFFF;
    border-radius: 999px;
    font-size: 13px;
    line-height: 1;
    font-weight: 500;
    color: var(--sf-text-dark);
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.04);
}

.sale-list-figma .sale-figma-header__badge-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--sf-accent);
    flex-shrink: 0;
}

.sale-list-figma .sale-figma-header__title {
    margin: 0;
    font-size: clamp(28px, 3vw, 44px);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: var(--sf-text-dark);
}

.sale-list-figma .sale-figma-header__title-icon {
    align-items: center;
    display: inline-flex;
    flex-shrink: 0;
    justify-content: center;
    line-height: 0;
    margin: 0 0.14em;
    vertical-align: -0.12em;
}

.sale-list-figma .sale-figma-header__title-icon-img {
    display: block;
    height: 0.82em;
    max-height: 1em;
    object-fit: contain;
    width: auto;
}

@media (max-width: 767px) {
    .sale-list-figma .sale-figma-header__title-icon-img {
        height: 0.78em;
    }
}

/* ====== Грид ====== */
.sale-list-figma .sale-figma-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: var(--sf-gap);
    align-items: stretch;
}

.sale-list-figma .sale-figma-grid--no-swiper {
    grid-template-columns: minmax(0, 1fr);
}

.sale-list-figma .sale-figma-grid__col {
    display: flex;
    flex-direction: column;
    gap: var(--sf-gap);
    min-width: 0;
}

.sale-list-figma .sale-figma-grid__col--left {
    display: grid;
    grid-template-rows: minmax(var(--sf-card-min-h), 1fr) minmax(var(--sf-card-min-h), 1fr);
    gap: var(--sf-gap);
}

.sale-list-figma .sale-figma-grid--no-small .sale-figma-grid__col--left {
    grid-template-rows: minmax(var(--sf-card-min-h), 1fr);
}

.sale-list-figma .sale-figma-grid__col--right {
    min-height: 100%;
}

.sale-list-figma .sale-figma-grid__big {
    height: 100%;
    min-height: var(--sf-card-min-h);
}

.sale-list-figma .sale-figma-grid__small-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: var(--sf-gap);
    height: 100%;
}

.sale-list-figma .sale-figma-grid__small {
    display: flex;
    min-width: 0;
    height: 100%;
}

.sale-list-figma .sale-figma-grid__small > .sale-figma-card {
    width: 100%;
}

/* ====== Swiper ====== */
.sale-list-figma .sale-figma-swiper-wrap {
    position: relative;
    height: 100%;
    min-height: calc(var(--sf-card-min-h) * 2 + var(--sf-gap));
    border-radius: var(--sf-radius);
    overflow: hidden;
}

.sale-list-figma .sale-figma-swiper {
    height: 100%;
    min-height: 100%;
}

.sale-list-figma .sale-figma-swiper .swiper-wrapper {
    height: 100%;
}

.sale-list-figma .sale-figma-swiper .swiper-slide {
    display: flex;
    height: auto;
}

.sale-list-figma .sale-figma-swiper.swiper:not(.swiper-initialized) .swiper-wrapper {
    display: flex;
    height: 100%;
}

.sale-list-figma .sale-figma-swiper.swiper:not(.swiper-initialized) .swiper-slide {
    flex: 0 0 100%;
    width: 100%;
}

.sale-list-figma .sale-figma-grid__slide {
    width: 100%;
    display: flex;
}

.sale-list-figma .sale-figma-grid__slide > .sale-figma-card {
    width: 100%;
    min-height: 100%;
    border-radius: 0;
}

/* Навигация и счётчик слайдов (как на a101.ru) */
.sale-list-figma .sale-figma-swiper-wrap--controls .sale-figma-swiper__nav {
    --swiper-button: 48px;
    z-index: 10;
    opacity: 0.4;
    background: #fff;
    box-shadow: 0 4px 24px rgba(34, 34, 40, 0.12);
    translate: 0 -50%;
    top: 50%;
    margin-top: 0;
}

.sale-list-figma .sale-figma-swiper-wrap--controls .sale-figma-swiper__nav:hover,
.sale-list-figma .sale-figma-swiper-wrap--controls .sale-figma-swiper__nav:focus-visible {
    background: #fff;
    background-color: #fff;
    box-shadow: 0 6px 28px rgba(34, 34, 40, 0.18);
}

.sale-list-figma .sale-figma-swiper-wrap--controls .sale-figma-swiper__nav:hover svg,
.sale-list-figma .sale-figma-swiper-wrap--controls .sale-figma-swiper__nav:hover svg use,
.sale-list-figma .sale-figma-swiper-wrap--controls .sale-figma-swiper__nav:focus-visible svg,
.sale-list-figma .sale-figma-swiper-wrap--controls .sale-figma-swiper__nav:focus-visible svg use {
    stroke: #222228;
}

.sale-list-figma .sale-figma-swiper-wrap--controls .swiper-button-prev.sale-figma-swiper__nav {
    left: 16px;
    right: auto;
}

.sale-list-figma .sale-figma-swiper-wrap--controls .swiper-button-next.sale-figma-swiper__nav {
    right: 16px;
    left: auto;
}

.sale-list-figma .sale-figma-swiper__pagination {
    position: absolute;
    bottom: 24px;
    left: 50%;
    z-index: 10;
    opacity: 0.4;
    width: auto;
    transform: translateX(-50%);
    padding: 8px 16px;
    background: #fff;
    border-radius: 30px;
    color: #222228;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0.02em;
    box-shadow: 0 4px 24px rgba(34, 34, 40, 0.12);
    pointer-events: none;
}

.sale-list-figma .sale-figma-swiper__pagination .swiper-pagination-current {
    font-weight: 600;
}

.sale-list-figma .sale-figma-swiper__pagination .swiper-pagination-total {
    color: rgba(34, 34, 40, 0.55);
}

@media (max-width: 600px) {
    .sale-list-figma .sale-figma-swiper-wrap--controls .sale-figma-swiper__nav {
        --swiper-button: 44px;
    }

    .sale-list-figma .sale-figma-swiper-wrap--controls .swiper-button-prev.sale-figma-swiper__nav {
        left: 12px;
    }

    .sale-list-figma .sale-figma-swiper-wrap--controls .swiper-button-next.sale-figma-swiper__nav {
        right: 12px;
    }

    .sale-list-figma .sale-figma-swiper__pagination {
        bottom: 16px;
        font-size: 13px;
    }
}

/* ====== Карточка ====== */
.sale-list-figma .sale-figma-card {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 100%;
    height: 100%;
    min-height: var(--sf-card-min-h);
    padding: var(--sf-pad);
    border-radius: var(--sf-radius);
    overflow: hidden;
    isolation: isolate;
    background-color: var(--sf-bg-light);
}

.sale-list-figma .sale-figma-card--plain-bg {
    background-color: var(--sf-card-plain-bg, #FFFFFF);
}

.sale-list-figma .sale-figma-card:has(.sale-figma-card__cover-link) {
    cursor: pointer;
}

/* ====== Кастомный контент (DETAIL_TEXT) ====== */
.sale-list-figma .sale-figma-card--has-detail {
    padding: 0;
}

.sale-list-figma .sale-figma-card--composite-detail:hover .sale-figma-card__img {
    transform: none;
}

.sale-list-figma .sale-figma-card__detail {
    position: absolute;
    inset: 0;
    z-index: 2;
    box-sizing: border-box;
    padding: 0;
    color: var(--sf-text-light);
    pointer-events: none;
}

.sale-list-figma .sale-figma-card__detail .krah_new_banner_sdacha-block,
.sale-list-figma .sale-figma-card__detail .sale-banner {
    height: 100%;
    min-height: 100%;
    max-height: none !important;
}

.sale-list-figma .sale-figma-card__detail .krah_new_banner_sdacha-content {
    min-height: 0;
    height: 100%;
}

/* h2 и подпись — одна левая линия (оптическая компенсация sidebearing) */
.sale-list-figma .sale-figma-card__detail .krah_new_banner_sdacha-text h2,
.sale-list-figma .sale-figma-card__detail .krah_new_banner_sdacha-line {
    margin-left: 0;
    text-align: left;
}

.sale-list-figma .sale-figma-card__detail .krah_new_banner_sdacha-text h2 {
    padding-left: 0;
}

.sale-list-figma .sale-figma-card__detail .krah_new_banner_sdacha-line {
    padding-left: 3px;
}

/* Накладная картинка: 100% высоты, прижата к правому верхнему углу */
.sale-list-figma .sale-figma-card--composite-detail .sale-figma-card__detail .krah_new_banner_sdacha-sprava-dom {
    position: absolute !important;
    top: -5px !important;
    right: -90px !important;
    left: auto !important;
    bottom: auto !important;
    width: auto !important;
    height: calc(100% + 5px) !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: flex-end !important;
    pointer-events: none;
}

.sale-list-figma .sale-figma-card--composite-detail .sale-figma-card__detail .krah_new_banner_sdacha-sprava-dom img {
    height: 100% !important;
    width: auto !important;
    max-width: none !important;
    flex-shrink: 0;
    display: block;
    object-fit: contain;
    object-position: right top;
}

.sale-list-figma .sale-figma-card--has-detail.sale-figma-card--small .sale-figma-card__detail,
.sale-list-figma .sale-figma-card--has-detail.sale-figma-card--small-light .sale-figma-card__detail,
.sale-list-figma .sale-figma-card--has-detail.sale-figma-card--small-dark .sale-figma-card__detail {
    padding: 0;
}

/* интерактивные элементы внутри кастомного html всё равно кликабельны */
.sale-list-figma .sale-figma-card__detail a,
.sale-list-figma .sale-figma-card__detail button,
.sale-list-figma .sale-figma-card__detail input,
.sale-list-figma .sale-figma-card__detail select,
.sale-list-figma .sale-figma-card__detail textarea,
.sale-list-figma .sale-figma-card__detail label {
    pointer-events: auto;
}

/* при кастомном html cover-link перекрывает всю карточку и принимает клик
   везде, где не попали в интерактив выше (текст, фон, картинка) */
.sale-list-figma .sale-figma-card--has-detail .sale-figma-card__cover-link {
    z-index: 1;
}

.sale-list-figma .sale-figma-card--small,
.sale-list-figma .sale-figma-card--small-light,
.sale-list-figma .sale-figma-card--small-dark {
    padding: var(--sf-pad-sm);
    border-radius: var(--sf-radius-sm);
}

.sale-list-figma .sale-figma-card--small-light {
    background-color: var(--sf-bg-light);
}

.sale-list-figma .sale-figma-card--small-dark {
    background-color: var(--sf-bg-dark);
}

/* Для карточек без картинки: фон только из STICKER, иначе строго белый */
.sale-list-figma .sale-figma-card--plain-bg.sale-figma-card--small-light,
.sale-list-figma .sale-figma-card--plain-bg.sale-figma-card--small-dark,
.sale-list-figma .sale-figma-card--plain-bg.sale-figma-card--big,
.sale-list-figma .sale-figma-card--plain-bg.sale-figma-card--slide {
    background-color: var(--sf-card-plain-bg, #FFFFFF);
}

.sale-list-figma .sale-figma-card__image {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
}

.sale-list-figma .sale-figma-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

@media (any-hover: hover) {
    .sale-list-figma .sale-figma-card:hover .sale-figma-card__img {
        transform: scale(1.04);
    }
}

.sale-list-figma .sale-figma-card__head {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-width: 92%;
    pointer-events: none;
}

.sale-list-figma .sale-figma-card__foot {
    position: relative;
    z-index: 3;
}

.sale-list-figma .sale-figma-card__title {
    font-weight: 600;
    font-size: clamp(20px, 1.85vw, 28px);
    line-height: 1.18;
    letter-spacing: -0.01em;
}

.sale-list-figma .sale-figma-card--big .sale-figma-card__title {
    font-size: 40px;
}

.sale-list-figma .sale-figma-card--slide .sale-figma-card__title {
    font-size: clamp(22px, 2vw, 30px);
}

.sale-list-figma .sale-figma-card--small-light .sale-figma-card__title,
.sale-list-figma .sale-figma-card--small-dark .sale-figma-card__title {
    font-size: clamp(18px, 1.5vw, 22px);
}

.sale-list-figma .sale-figma-card__announce {
    font-size: 14px;
    line-height: 1.4;
    font-weight: 400;
}

.sale-list-figma .sale-figma-card--big .sale-figma-card__announce,
.sale-list-figma .sale-figma-card--slide .sale-figma-card__announce {
    font-size: 16px;
}

.sale-list-figma .sale-figma-card--text-light {
    color: var(--sf-text-light);
}

.sale-list-figma .sale-figma-card--text-light .sale-figma-card__announce {
    color: var(--sf-text-muted-light);
}

.sale-list-figma .sale-figma-card--text-dark {
    color: var(--sf-text-dark);
}

.sale-list-figma .sale-figma-card--text-dark .sale-figma-card__announce {
    color: var(--sf-text-muted-dark);
}

/* COLOR_TEXT: кастомный цвет всего текста баннера (заголовок, анонс, detail) */
.sale-list-figma .sale-figma-card--custom-text {
    color: var(--sf-card-text-color);
}

.sale-list-figma .sale-figma-card--custom-text .sale-figma-card__title,
.sale-list-figma .sale-figma-card--custom-text .sale-figma-card__announce {
    color: inherit;
}

.sale-list-figma .sale-figma-card--custom-text .sale-figma-card__announce {
    opacity: 0.85;
}

.sale-list-figma .sale-figma-card--custom-text .sale-figma-card__detail,
.sale-list-figma .sale-figma-card--custom-text .sale-figma-card__detail :where(p, span, div, li, h1, h2, h3, h4, h5, h6, a, strong, em) {
    color: inherit;
}

.sale-list-figma .sale-figma-card__foot {
    display: flex;
    align-items: flex-end;
    margin-top: auto;
    padding-top: 24px;
}

.sale-list-figma .sale-figma-card--no-btn .sale-figma-card__head {
    margin-bottom: auto;
}

.sale-list-figma .sale-figma-card__cover-link {
    position: absolute;
    inset: 0;
    z-index: 1;
    border-radius: inherit;
    cursor: pointer;
    text-indent: -9999px;
    overflow: hidden;
}

/* ====== Кнопки ====== */
.sale-list-figma .sale-figma-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: background-color 0.25s ease, color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
    z-index: 3;
}

.sale-list-figma .sale-figma-btn--accent {
    color: var(--sf-text-light);
    background-color: var(--sf-accent);
}

.sale-list-figma .sale-figma-btn--accent:hover,
.sale-list-figma .sale-figma-btn--accent:focus-visible {
    color: var(--sf-text-light);
    background-color: var(--sf-accent-hover);
    text-decoration: none;
}

.sale-list-figma .sale-figma-btn--white {
    color: var(--sf-accent);
    background-color: #FFFFFF;
}

.sale-list-figma .sale-figma-btn--white:hover,
.sale-list-figma .sale-figma-btn--white:focus-visible {
    color: var(--sf-accent-hover);
    background-color: #FFFFFF;
    text-decoration: none;
}

.sale-list-figma .sale-figma-btn--round {
    width: var(--sf-btn-round-size);
    height: var(--sf-btn-round-size);
    border-radius: 50%;
    flex-shrink: 0;
    padding: 0;
}

.sale-list-figma .sale-figma-btn--round svg {
    width: 22px;
    height: 22px;
    transition: transform 0.25s ease;
}

@media (any-hover: hover) {
    .sale-list-figma .sale-figma-btn--round:hover svg {
        transform: translate(2px, -2px);
    }
}

.sale-list-figma .sale-figma-btn--rect {
    height: 52px;
    padding: 0 24px;
    border-radius: 14px;
    font-weight: 600;
    font-size: 15px;
    letter-spacing: -0.01em;
    white-space: nowrap;
}

.sale-list-figma .sale-figma-btn--rect.sale-figma-btn--accent:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 24px color-mix(in srgb, var(--theme-base-color) 25%, transparent);
}

/* ====== Адаптив ====== */
@media (max-width: 1199px) {
    .sale-list-figma {
        --sf-pad: 28px;
        --sf-pad-sm: 22px;
        --sf-radius: 24px;
        --sf-radius-sm: 20px;
        --sf-btn-round-size: 52px;
        --sf-card-min-h: 250px;
    }
}

@media (max-width: 991px) {
    .sale-list-figma .sale-figma-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .sale-list-figma .sale-figma-grid__col--right {
        min-height: 320px;
    }

    .sale-list-figma .sale-figma-swiper-wrap {
        min-height: 320px;
    }
}

@media (max-width: 600px) {
    .sale-list-figma {
        --sf-gap: 12px;
        --sf-pad: 22px;
        --sf-pad-sm: 18px;
        --sf-radius: 20px;
        --sf-radius-sm: 18px;
        --sf-btn-round-size: 48px;
        --sf-card-min-h: 220px;
    }

    .sale-list-figma .sale-figma-header {
        margin-bottom: 24px;
    }

    .sale-list-figma .sale-figma-grid__col--left {
        grid-template-rows: auto auto;
    }

    .sale-list-figma .sale-figma-grid__small-row {
        grid-template-columns: minmax(0, 1fr);
    }

    .sale-list-figma .sale-figma-card__title {
        font-size: clamp(18px, 4.6vw, 22px);
    }

    .sale-list-figma .sale-figma-card--big .sale-figma-card__title,
    .sale-list-figma .sale-figma-card--slide .sale-figma-card__title {
        font-size: clamp(20px, 5vw, 26px);
    }

    .sale-list-figma .sale-figma-btn--rect {
        height: 46px;
        padding: 0 20px;
        font-size: 14px;
    }
}

/* End */


/* Start:/local/templates/aspro-premier/components/bitrix/catalog.section.list/front_price_filter/style.css?178552157133597*/
/* ============================================
   Front Price Filter Panel — A101-style horizontal bar
   ============================================ */

/* Поверхность секции как у блока «Акции» (sale-list-figma); overflow не режет выпадающие фильтры */
.front-price-filter-block.sale-list-figma {
    overflow: visible;
}

.front-price-filter-block .sale-figma-header__title-icon {
    align-items: center;
    display: inline-flex;
    flex-shrink: 0;
    justify-content: center;
    line-height: 0;
    margin: 0 0.14em;
    vertical-align: -0.12em;
}

.front-price-filter-block .sale-figma-header__title-icon-img {
    display: block;
    height: 0.82em;
    max-height: 1em;
    object-fit: contain;
    width: auto;
}

@media (max-width: 767px) {
    .front-price-filter-block .sale-figma-header__title-icon-img {
        height: 0.78em;
    }
}

/* Полоса фильтров: только контейнер без подложки; сами поля (.fpf-dropdown__button) — белые по базовым стилям */
.front-price-filter-block .front-price-filter-panel,
.front-price-filter-block .front-price-filter-panel__bar {
    background: transparent;
}

.front-price-filter-panel {
    background: var(--bg-color-block, #fff);
    border: unset;
    border-radius: var(--theme-border-radius-x, 14px);
    padding: 0;
    margin-bottom: 24px;
}

.front-price-filter-panel__bar {
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 8px;
}

/* ── CTA-кнопка «N квартир в M проектах» ────────────────────── */

.front-price-filter-panel__submit.btn.btn-default {
    align-self: stretch;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 56px;
    padding: 10px 22px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.2;
    white-space: nowrap;
    text-decoration: none;
    margin: 0;
    flex: 0 0 auto;
    transition: background-color 0.15s ease, opacity 0.15s ease;
}

.front-price-filter-panel__submit.btn.btn-default.is-disabled {
    opacity: 0.55;
    cursor: not-allowed;
    pointer-events: none;
}

@media (max-width: 900px) {
    .front-price-filter-panel__submit.btn.btn-default {
        flex: 1 1 100%;
        min-height: 52px;
    }
}

/* ── Dropdown button ────────────────────────────────────────── */

.fpf-dropdown {
    position: relative;
    flex: 1 1 180px;
    min-width: 160px;
}

.fpf-dropdown--price {
    flex: 1 1 240px;
}

.fpf-dropdown__button {
    width: 100%;
    height: 56px;
    background: var(--bg-color-block, #fff);
    border: 1px solid var(--border_block_color, #e8eaed);
    border-radius: 12px;
    padding: 8px 40px 8px 16px;
    cursor: pointer;
    text-align: left;
    font: inherit;
    color: var(--text_dark, #1a1a1a);
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    transition: border-color 0.15s ease, background-color 0.15s ease;
}

.fpf-dropdown__button:hover {
    border-color: var(--text_light, #b9bec7);
}

.fpf-dropdown.is-open .fpf-dropdown__button,
.fpf-dropdown.has-selection .fpf-dropdown__button {
    border-color: var(--theme-base-color, #2268d0);
}

.fpf-dropdown__label {
    display: block;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text_light, #838a94);
    line-height: 1.2;
}

.fpf-dropdown__value {
    display: block;
    font-size: 15px;
    font-weight: 500;
    margin-top: 2px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    line-height: 1.2;
    color: var(--text_dark, #1a1a1a);
}

.fpf-dropdown:not(.has-selection) .fpf-dropdown__value {
    color: var(--text_light, #838a94);
    font-weight: 400;
}

.fpf-dropdown__chevron {
    position: absolute;
    top: 50%;
    right: 14px;
    width: 10px;
    height: 10px;
    border-right: 2px solid var(--text_light, #838a94);
    border-bottom: 2px solid var(--text_light, #838a94);
    transform: translateY(-75%) rotate(45deg);
    transition: transform 0.2s ease;
}

.fpf-dropdown.is-open .fpf-dropdown__chevron {
    transform: translateY(-25%) rotate(-135deg);
}

/* ── Dropdown panel (floating) ──────────────────────────────── */

.fpf-dropdown__panel {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    z-index: 30;
    min-width: 100%;
    max-width: 420px;
    background: #fff;
    border: 1px solid var(--border_block_color, #e8eaed);
    border-radius: 12px;
    box-shadow: 0 12px 32px -8px rgba(26, 42, 70, 0.18);
    padding: 12px;
    display: none;
}

.fpf-dropdown.is-open .fpf-dropdown__panel {
    display: block;
}

.fpf-dropdown__list {
    max-height: 280px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.fpf-dropdown__item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    border-radius: 8px;
    cursor: pointer;
    font-size: 14px;
    line-height: 1.3;
    color: var(--text_dark, #1a1a1a);
    transition: background-color 0.15s ease;
}

.fpf-dropdown__item:hover {
    background: var(--bg-color-block-2, #f5f7fa);
}

.fpf-dropdown__checkbox {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: var(--theme-base-color, #2268d0);
    cursor: pointer;
}

.fpf-dropdown__item-label {
    flex: 1 1 auto;
    word-break: break-word;
}

.fpf-dropdown__item-count {
    flex: 0 0 auto;
    font-size: 12px;
    color: var(--text_light, #838a94);
    background: var(--bg-color-block-2, #f5f7fa);
    padding: 2px 8px;
    border-radius: 999px;
    min-width: 24px;
    text-align: center;
}

/* ── Недоступная (заблокированная) опция дропдауна ─────────────────
   Применяется JS-логикой cross-filtering: опции без совпадений
   при текущем выборе других фильтров становятся неактивными.        */

.fpf-dropdown__item--disabled {
    opacity: 0.38;
    pointer-events: none;
    cursor: default;
}

.fpf-dropdown__item--disabled .fpf-dropdown__checkbox {
    pointer-events: none;
}

.fpf-dropdown__actions {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid var(--border_block_color, #e8eaed);
    display: flex;
    justify-content: flex-end;
}

.fpf-dropdown__clear {
    background: transparent;
    border: none;
    font-size: 13px;
    color: var(--theme-base-color, #2268d0);
    cursor: pointer;
    padding: 4px 8px;
}

.fpf-dropdown__clear:hover {
    opacity: 0.7;
}

/* ── Price panel inside dropdown ────────────────────────────── */

.fpf-dropdown__panel--price {
    min-width: 360px;
}

.fpf-price-body {
    display: flex;
    flex-direction: column;
    gap: 18px;
    padding: 6px 4px;
}

.fpf-price-inputs {
    display: flex;
    gap: 10px;
}

.fpf-price-input-wrap {
    flex: 1;
    position: relative;
    border: 1px solid var(--border_block_color, #e8eaed);
    border-radius: 10px;
    padding: 8px 14px;
    transition: border-color 0.2s ease;
}

.fpf-price-input-wrap:focus-within {
    border-color: var(--theme-base-color, #2268d0);
}

.fpf-price-input-label {
    display: block;
    font-size: 11px;
    color: var(--text_light, #838a94);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 2px;
}

.fpf-price-input {
    width: 100%;
    border: none;
    outline: none;
    background: transparent;
    font-size: 15px;
    font-weight: 500;
    color: var(--text_dark, #1a1a1a);
    padding: 0;
    padding-right: 16px;
}

.fpf-price-currency {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 14px;
    color: var(--text_light, #838a94);
    pointer-events: none;
}

.fpf-price-slider-wrap {
    padding: 4px 10px 2px;
}

.fpf-price-slider {
    position: relative;
    width: 100%;
    height: 20px;
    user-select: none;
    -webkit-user-select: none;
    touch-action: none;
}

.fpf-slider__track {
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    height: 4px;
    background: var(--border_block_color, #e8eaed);
    border-radius: 999px;
    transform: translateY(-50%);
}

.fpf-slider__range {
    position: absolute;
    top: 50%;
    height: 4px;
    background: var(--theme-base-color, #2268d0);
    border-radius: 999px;
    transform: translateY(-50%);
    pointer-events: none;
}

.fpf-slider__handle {
    position: absolute;
    top: 50%;
    width: 20px;
    height: 20px;
    margin-left: -10px;
    background: #fff;
    border: 2px solid var(--theme-base-color, #2268d0);
    border-radius: 50%;
    cursor: grab;
    transform: translateY(-50%);
    outline: none;
    transition: box-shadow 0.2s ease, transform 0.15s ease;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
    z-index: 2;
}

.fpf-slider__handle:hover,
.fpf-slider__handle:focus-visible,
.fpf-slider__handle.is-active {
    box-shadow: 0 0 0 6px rgba(34, 104, 208, 0.12);
}

.fpf-slider__handle.is-active {
    cursor: grabbing;
    transform: translateY(-50%) scale(1.06);
}

/* ── Result / grid area ─────────────────────────────────────── */

.front-price-filter-panel__result {
    position: relative;
    min-height: 100px;
    transition: opacity 0.2s ease;
}

.front-price-filter-panel__result.is-loading {
    opacity: 0.5;
    pointer-events: none;
}

.front-price-filter-panel__empty {
    text-align: center;
    padding: 32px 16px;
    font-size: 15px;
    color: var(--text_light, #838a94);
}

.front-price-filter-panel__loader {
    position: absolute;
    top: 16px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
}

.front-price-filter-panel__spinner {
    display: inline-block;
    width: 28px;
    height: 28px;
    border: 3px solid rgba(34, 104, 208, 0.2);
    border-top-color: var(--theme-base-color, #2268d0);
    border-radius: 50%;
    animation: front-filter-spin 0.8s linear infinite;
}

@keyframes front-filter-spin {
    to {
        transform: rotate(360deg);
    }
}

/* ── Responsive ─────────────────────────────────────────────── */

@media (max-width: 900px) {
    .fpf-dropdown {
        flex: 1 1 calc(50% - 4px);
        min-width: 0;
    }
    .fpf-dropdown__panel {
        min-width: 260px;
    }
    .fpf-dropdown__panel--price {
        min-width: 300px;
    }
}

@media (max-width: 600px) {
    .front-price-filter-panel {
        padding: 0;
    }
    .fpf-dropdown {
        flex: 1 1 100%;
    }
    .fpf-dropdown__button {
        height: 52px;
        padding-right: 34px;
    }
    .fpf-dropdown__panel {
        max-width: calc(100vw - 32px);
    }
    .fpf-dropdown__panel--price {
        min-width: 0;
    }
}

/* ── Галерея при наведении (как на a101.ru) ─────────────────── */

.front-price-filter-panel__result .ui-card__img--slide {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity 0.18s ease;
}

.front-price-filter-panel__result .ui-card__img--slide.is-active {
    opacity: 1;
}

/* Отключаем общий scale-эффект, чтобы не конфликтовал со сменой слайдов */
.front-price-filter-panel__result .ui-card.has-gallery .ui-card__img--slide {
    transition: opacity 0.18s ease;
}
.front-price-filter-panel__result a.ui-card.has-gallery:hover .ui-card__img,
.front-price-filter-panel__result .ui-card--image-scale.has-gallery:hover .ui-card__img {
    scale: 1;
}

/* Индикаторы-сегменты (внизу фото) */
.front-price-filter-panel__result .ui-card__dots {
    position: absolute;
    bottom: 12px;
    left: 12px;
    right: 12px;
    display: flex;
    gap: 4px;
    z-index: 2;
    opacity: 0;
    transition: opacity 0.2s ease;
    pointer-events: none;
}

.front-price-filter-panel__result .ui-card.has-gallery:hover .ui-card__dots {
    opacity: 1;
}

.front-price-filter-panel__result .ui-card__dots > span {
    flex: 1 1 0;
    height: 3px;
    border-radius: 2px;
    background: rgba(255, 255, 255, 0.45);
    transition: background-color 0.15s ease;
}

.front-price-filter-panel__result .ui-card__dots > span.is-active {
    background: rgba(255, 255, 255, 1);
}

/* На сенсорных устройствах hover-эффект не срабатывает — скрываем индикаторы */
@media (hover: none) {
    .front-price-filter-panel__result .ui-card__dots {
        display: none;
    }
}

/* На мобильных — индикаторы слайдера всегда видимы */
@media (max-width: 768px) {
    .front-price-filter-panel__result .ui-card__dots {
        display: flex !important;
        opacity: 1 !important;
    }
}

/* ── Карточка проекта (ЖК) — фото сверху, подпись снизу ─────── */

.front-price-filter-panel__result .ui-card--project {
    background: transparent;
    overflow: visible;
    margin-bottom: 32px;
}

@media (max-width: 600px) {
    .front-price-filter-panel__result .ui-card--project {
        margin-bottom: 20px;
    }
}

.front-price-filter-panel__result .ui-card--project__link {
    color: inherit;
    text-decoration: none;
    display: block;
    /* Контекст позиционирования для .ui-card__tags (вынесены из .ui-card__image) */
    position: relative;
}

.front-price-filter-panel__result .ui-card--project__link:hover,
.front-price-filter-panel__result .ui-card--project__link:focus {
    color: inherit;
    text-decoration: none;
}

.ui-card--project__link--nolink {
    color: inherit;
    cursor: default;
    text-decoration: none;
}

.ui-card--project__link--nolink:hover,
.ui-card--project__link--nolink:focus {
    color: inherit;
    text-decoration: none;
}

.front-price-filter-panel__result .ui-card__image--project {
    border-radius: var(--theme-border-radius-x, 14px);
    overflow: hidden;
    position: relative;
    width: 100%;
    /* Запасной фон контейнера — виден при scale-эффекте img если фото не заполняет блок. */
    background: var(--bg-color-block-2, #f5f7fa);
}

/* Затемнение фото (десктоп и мобильная версия). Полоски галереи (.ui-card__dots) выше слоя. */
.front-price-filter-panel__result .ui-card__image--project::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.3);
    pointer-events: none;
    z-index: 1;
}

/* Изначально фото слегка увеличено (zoom-in), заполняя контейнер с запасом.
   transform-origin: top center — масштабирование идёт от верхнего края, поэтому
   верх фото всегда прижат к верху блока (overhead обрезается снизу и по бокам через
   overflow:hidden контейнера), ширина визуально всегда = 100% блока.
   На hover: scale возвращается к 1.0 — эффект «отдаления» без кропа. */
.front-price-filter-panel__result .ui-card--project .ui-card__img {
    scale: 1.08;
    transform-origin: top center;
    /* 0.65s ease-out — плавное замедление в конце, эффект естественного «отдаления» */
    transition: scale 0.65s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.18s ease;
}

@media (any-hover: hover) {
    .front-price-filter-panel__result .ui-card--project:hover .ui-card__img {
        scale: 1.0;
    }
}

.front-price-filter-panel__result .ui-card__body {
    padding: 14px 4px 0;
}

.front-price-filter-panel__result .ui-card--project .ui-card__title,
.front-price-filter-panel__result .ui-card--project .ui-card__title .ui-card__name,
.front-price-filter-panel__result .ui-card--project .ui-card__title .ui-card__stats {
    color: #000;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.25;
}

.front-price-filter-panel__result .ui-card--project .ui-card__title {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
}

.front-price-filter-panel__result .ui-card--project .ui-card__stats {
    white-space: nowrap;
}

.front-price-filter-panel__result .ui-card--project .ui-card__address {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 8px;
    color: var(--theme-secondary-color, #78807d);
    font-size: 14px;
    line-height: 1.3;
}

.front-price-filter-panel__result .ui-card--project .ui-card__address-icon {
    flex: 0 0 14px;
    color: currentColor;
    opacity: 0.75;
}

/* ── Плашки на фото (сверху, как на a101) ───────────────────── */

.front-price-filter-panel__result .ui-card__tags {
    position: absolute;
    left: 12px;
    right: 12px;
    top: 12px;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    z-index: 2;
    pointer-events: none;
}

.front-price-filter-panel__result .ui-card__tag {
    display: inline-flex;
    align-items: center;
    padding: 5px 11px;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.2;
    white-space: nowrap;
    background: rgba(60, 60, 60, 0.78);
    color: #fff;
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
}

.front-price-filter-panel__result .ui-card__tag--date {
    background: var(--theme-base-color, #2268d0);
    color: #fff;
}

.front-price-filter-panel__result .ui-card__tag--default {
    background: rgba(60, 60, 60, 0.78);
    color: #fff;
}

@media (max-width: 600px) {
    .front-price-filter-panel__result .ui-card--project .ui-card__title,
    .front-price-filter-panel__result .ui-card--project .ui-card__title .ui-card__name,
    .front-price-filter-panel__result .ui-card--project .ui-card__title .ui-card__stats {
        font-size: 20px;
    }
    .front-price-filter-panel__result .ui-card__tag {
        font-size: 14px;
        padding: 4px 9px;
        border-radius: 8px;
    }
}

/* ═══════════════════════════════════════════════════════════════
   Hover-эффект «сжатие фото + выезд кнопок под текстом» — аналог a101.ru.

   Схема:
     1. .ui-card__room-buttons находится ПОСЛЕ </a> в нормальном потоке
        (ниже .ui-card__body). Высота управляется через JS.
     2. JS при init: фиксирует высоту .ui-card__image--project; ставит
        на неё CSS-transition height; кнопкам назначает height:0.
     3. При hover: image.height -= buttonsHeight, buttons.height = buttonsHeight.
        Карточка не меняет общую высоту.
     4. Анимация плавная через JS-управляемые height-transitions.
   ═══════════════════════════════════════════════════════════════ */

/* ── Панель кнопок — базовое состояние (JS управляет высотой) ──── */

.front-price-filter-panel__result .ui-card__room-buttons {
    display: flex;
    flex-wrap: wrap;           /* если не влезают в одну строку — переносим на следующую */
    justify-content: flex-start;
    gap: 6px;
    padding: 8px 10px 0;       /* горизонтальный отступ даёт место плашкам у края */
    overflow: hidden;
    /* height и opacity управляются через JS; устанавливаются в initRoomButtonsCard() */
    height: 0;
    opacity: 0;
    pointer-events: none;
}

/* ── Одна кнопка комнатности — поверх btn btn-default ────────────
   btn btn-default задаёт фон, цвет, рамку, радиус и hover-состояние.
   Здесь только то, чего не хватает: позиционирование плашки,
   однострочность и flex-растяжка.                                  */

.front-price-filter-panel__result .ui-card__room-btn.btn.btn-default {
    position: relative;           /* для абсолютной плашки-значка */
    overflow: visible !important; /* плашка не должна обрезаться границами кнопки */
    flex: 0 1 auto;               /* ширина по контенту, не растягивается */
    white-space: nowrap;          /* текст кнопки в одну строку */
    text-align: center;
    font-size: 13px;
    line-height: 1.3;
    /* Не переопределяем padding/цвет/рамку — наследуем от btn btn-default */
}

/* ── Красная плашка с количеством квартир ──────────────────────── */

.front-price-filter-panel__result .ui-card__room-btn-badge {
    position: absolute;
    top: -7px;
    right: -7px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    background: #e53935;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
    border-radius: 999px;
    white-space: nowrap;
    pointer-events: none;
}

/* ── Тач-устройства: кнопки показаны статично без анимации ──────── */

@media (hover: none) {
    .front-price-filter-panel__result .ui-card__room-buttons {
        height: auto !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }
}

/* ── Мобильные: кнопки комнатности скрыты ───────────────────────── */

@media (max-width: 768px) {
    .front-price-filter-panel__result .ui-card__room-buttons {
        display: none !important;
    }
}

/* ═══════════════════════════════════════════════════════════════
   МОБИЛЬНАЯ ВЕРСИЯ (≤768px)
   ═══════════════════════════════════════════════════════════════ */

/* ── 1. Один ЖК в строку — отменяем горизонтальный скролл ──────── */

@media (max-width: 768px) {
    /* Сбрасываем горизонтальный скролл mobile-scrolled */
    .front-price-filter-block .ui-cards.mobile-scrolled,
    .front-price-filter-block .ui-cards.mobile-offset {
        display: flex !important;
        flex-wrap: wrap !important;
        overflow-x: visible !important;
        overflow: visible !important;
        padding-bottom: 0 !important;
        margin-bottom: 0 !important;
        padding-top: 0 !important;
        margin-top: 0 !important;
    }

    /* Каждая карточка — 100% ширины */
    .front-price-filter-block .ui-cards.mobile-scrolled > .grid-list__item,
    .front-price-filter-block .ui-cards > .grid-list__item {
        width: 100% !important;
        min-width: 0 !important;
        flex: 0 0 100% !important;
        box-sizing: border-box !important;
    }
}

/* ── 2. Кнопка «Фильтры» (только мобильный) ─────────────────────── */

.fpf-mobile-filter-btn {
    display: none; /* скрыта на десктопе */
}

@media (max-width: 768px) {
    .fpf-mobile-filter-btn {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        margin-bottom: 16px;
        padding: 10px 20px;
        background: var(--bg-color-block, #fff);
        border: 1px solid var(--border_block_color, #e8eaed);
        border-radius: 12px;
        font: inherit;
        font-size: 15px;
        font-weight: 500;
        color: var(--text_dark, #1a1a1a);
        cursor: pointer;
        transition: border-color 0.15s ease;
    }

    .fpf-mobile-filter-btn:hover {
        border-color: var(--theme-base-color, #2268d0);
    }

    .fpf-mobile-filter-btn.has-active-filters {
        border-color: var(--theme-base-color, #2268d0);
        color: var(--theme-base-color, #2268d0);
    }

    .fpf-mobile-filter-btn__badge {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 20px;
        height: 20px;
        padding: 0 5px;
        background: var(--theme-base-color, #2268d0);
        color: #fff;
        font-size: 11px;
        font-weight: 700;
        border-radius: 999px;
    }
}

/* ── 3. Попап с фильтром (bottom sheet) ─────────────────────────── */

/* Шапка попапа — только на мобильном */
.fpf-popup-sheet__head {
    display: none;
}

/* Бэкдроп — скрыт по умолчанию */
.fpf-popup-backdrop {
    display: none;
}

@media (max-width: 768px) {
    /* Скрываем фильтр в обычном потоке */
    .fpf-popup-wrap {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 9000;
        transform: translateY(100%);
        transition: transform 0.32s cubic-bezier(0.4, 0, 0.2, 1);
        /* Предотвращаем мерцание при начальной загрузке */
        will-change: transform;
    }

    .fpf-popup-wrap.is-open {
        transform: translateY(0);
    }

    /* Затемнение под попапом (элемент вне popup-wrap, чтобы position:fixed не зависел от transform) */
    .fpf-popup-backdrop {
        display: block;
        position: fixed;
        inset: 0;
        z-index: 8999;
        background: rgba(0, 0, 0, 0.48);
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.28s ease;
    }

    .fpf-popup-backdrop.is-open {
        opacity: 1;
        pointer-events: auto;
    }

    /* Sheet — белый контейнер с закруглёнными верхними углами */
    .fpf-popup-sheet {
        background: var(--bg-color-block, #fff);
        border-radius: 20px 20px 0 0;
        padding: 0 16px 32px;
        max-height: 85dvh;
        overflow-y: auto;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
    }

    /* Шапка попапа */
    .fpf-popup-sheet__head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 16px 0 12px;
        position: sticky;
        top: 0;
        background: var(--bg-color-block, #fff);
        z-index: 1;
        border-bottom: 1px solid var(--border_block_color, #e8eaed);
        margin-bottom: 16px;
    }

    .fpf-popup-sheet__title {
        font-size: 17px;
        font-weight: 600;
        color: var(--text_dark, #1a1a1a);
    }

    .fpf-popup-sheet__close {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        background: var(--bg-color-block-2, #f5f7fa);
        border: none;
        border-radius: 50%;
        cursor: pointer;
        color: var(--text_dark, #1a1a1a);
        transition: background-color 0.15s ease;
        flex-shrink: 0;
    }

    .fpf-popup-sheet__close svg {
        width: 20px;
        height: 20px;
    }

    .fpf-popup-sheet__close:hover {
        background: var(--border_block_color, #e8eaed);
    }

    /* Фильтр-бар внутри попапа — перестраиваем в колонку */
    .fpf-popup-wrap .front-price-filter-panel {
        margin-bottom: 0;
    }

    .fpf-popup-wrap .front-price-filter-panel__bar {
        flex-direction: column;
        gap: 12px;
    }

    .fpf-popup-wrap .fpf-dropdown {
        flex: 1 1 100%;
        min-width: 0;
    }

    /* Дропдаун-панели в попапе — не абсолютные, а встроенные */
    .fpf-popup-wrap .fpf-dropdown__panel {
        position: static;
        display: none;
        box-shadow: none;
        border: 1px solid var(--border_block_color, #e8eaed);
        margin-top: 6px;
    }

    .fpf-popup-wrap .fpf-dropdown.is-open .fpf-dropdown__panel {
        display: block;
    }

    .fpf-popup-wrap .fpf-dropdown__panel--price {
        position: static;
    }

    /* CTA-кнопка — вся ширина в попапе */
    .fpf-popup-wrap .front-price-filter-panel__submit.btn.btn-default {
        flex: 1 1 100%;
    }
}

/* Блокировка скролла body при открытом попапе */
body.fpf-popup-open {
    overflow: hidden;
}

/* ═══════════════════════════════════════════════════════════════
   СЕТКА: 2 КОЛОНКИ НА ДЕСКТОПЕ
   Переопределяем --items-count для всех медиа-запросов ≥769px,
   чтобы при параметре ELEMENTS_IN_ROW=3 (1200px) всё равно
   отображалось 2 карточки в ряд.
   ═══════════════════════════════════════════════════════════════ */

@media (min-width: 769px) {
    .front-price-filter-block .front-price-filter-panel__result .grid-list--items {
        --items-count: 2 !important;
    }

    /*
     * Последняя карточка в неполном ряду (2 колонки, нечётное число ЖК):
     * растягиваем ячейку на всю сетку и задаём ширину одной колонки + центрирование.
     * Чистый CSS — без JS, работает и после AJAX-подгрузки разметки.
     */
    .front-price-filter-block .front-price-filter-panel__result .grid-list--items > .grid-list__item:last-child:nth-child(odd) {
        grid-column: 1 / -1;
        width: calc((100% - var(--gap)) / 2);
        max-width: 100%;
        justify-self: center;
    }
}

/* ═══════════════════════════════════════════════════════════════
   ПРОПОРЦИЯ ФОТО: 726 × 408
   Переопределяем --aspect-ratio для .ui-card__image--project
   внутри блока результатов фильтра.
   726 / 408 ≈ 1.779 (близко к 16:9).
   ═══════════════════════════════════════════════════════════════ */

.front-price-filter-panel__result .ui-card__image--project {
    --aspect-ratio: 726 / 408;
}

/* ═══════════════════════════════════════════════════════════════
   МОБИЛЬНАЯ ВЕРСИЯ (≤768px):
   1. Фото на всю ширину карточки, фиксированная высота 200px
      (без сохранения соотношения 614:317).
   2. Плашки (.ui-card__tags) показываем под слайдером,
      а не поверх фото.
   ═══════════════════════════════════════════════════════════════ */

@media (max-width: 768px) {
    /* !important — чтобы перебить inline height, который JS-эффект мог
       выставить до ресайза окна (на десктопе). */
    .front-price-filter-panel__result .ui-card__image--project {
        --aspect-ratio: unset;
        aspect-ratio: unset !important;
        height: 200px !important;
        width: 100%;
    }

    /* Плашки — обычный поток, под изображением */
    .front-price-filter-panel__result .ui-card__tags {
        position: static;
        margin-top: 8px;
        padding: 0;
        pointer-events: auto;
    }
}

/* End */


/* Start:/local/templates/aspro-premier/css/conditional/complex-consult-a101.css?17840969443689*/
/* Баннер консультации на посадочной странице ЖК (A101 StretchedPromoCard) */

.catalog_page .complex-consult-a101.section {
  width: 100%;
}

.complex-consult-a101 {
  margin: 0 0 100px;
  width: 100%;
}

.complex-consult-a101__card {
  background-color: #f39862;
  border: 0;
  border-radius: 32px;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  gap: 24px;
  isolation: isolate;
  min-height: 192px;
  overflow: hidden;
  padding: 24px 28px;
  position: relative;
  text-align: left;
  width: 100%;
}

.complex-consult-a101__media {
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  position: absolute;
  z-index: 0;
}

.complex-consult-a101__image {
  height: 100%;
  /* Прозрачный оригинал поверх фона #f39862; графика справа, слева текст */
  object-fit: contain;
  object-position: center right;
  transform-origin: center right;
  transition: transform 0.3s ease-in-out;
  width: 100%;
}

.complex-consult-a101__card:hover .complex-consult-a101__image,
.complex-consult-a101__card:focus-visible .complex-consult-a101__image {
  transform: scale(1.1);
}

.complex-consult-a101__media--tablet,
.complex-consult-a101__media--mobile {
  display: none;
}

.complex-consult-a101__content {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 24px;
  max-width: 760px;
  position: relative;
  z-index: 1;
}

.complex-consult-a101__title {
  color: #fff;
  font-size: 42px;
  font-weight: 500;
  letter-spacing: -2.1px;
  line-height: 0.95;
  margin: 0;
}

.complex-consult-a101__button {
  align-self: flex-start;
  background: #fff;
  border-radius: 100px;
  color: #000;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: -0.32px;
  line-height: 1;
  margin-top: auto;
  padding: 16px 20px;
  pointer-events: none;
  transition: color 0.2s ease-in-out;
  width: fit-content;
}

.complex-consult-a101__card:hover .complex-consult-a101__button,
.complex-consult-a101__card:focus-visible .complex-consult-a101__button {
  color: var(--theme-base-color, #e8363d);
}

.complex-consult-a101__card:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}

@media (max-width: 1279px) {
  .complex-consult-a101__card {
    border-radius: 20px;
    gap: 16px;
    min-height: 140px;
    padding: 20px 24px;
  }

  .complex-consult-a101__media--desktop {
    display: none;
  }

  .complex-consult-a101__media--tablet {
    display: block;
  }

  .complex-consult-a101__media--tablet .complex-consult-a101__image {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: auto;
    width: auto;
    max-width: none;
    height: 100%;
    object-fit: cover;
    object-position: right center;
  }

  .complex-consult-a101__content {
    gap: 16px;
    max-width: 375px;
  }

  .complex-consult-a101__title {
    font-size: 20px;
    letter-spacing: -0.4px;
    line-height: 1.1;
  }

  .complex-consult-a101__button {
    margin-top: 12px;
  }
}

@media (max-width: 767px) {
  .complex-consult-a101 {
    margin-bottom: 64px;
  }

  .complex-consult-a101__card {
    min-height: 168px;
    padding: 18px 20px;
  }

  .complex-consult-a101__media--tablet {
    display: none;
  }

  .complex-consult-a101__media--mobile {
    display: block;
  }

  .complex-consult-a101__media--mobile .complex-consult-a101__image {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: auto;
    width: auto;
    height: 100%;
    object-position: 640px 0;
  }

  .complex-consult-a101__content {
    max-width: 220px;
  }

  .complex-consult-a101__button {
    margin-top: 40px;
    text-align: center;
    width: 100%;
  }
}

/* End */


/* Start:/local/templates/aspro-premier/css/pages/ipoteka.css?178452859018458*/
/* /ipoteka/ — hero с кнопками как на главной */

/* Баннер 1440×614: пропорции контейнера = фото, без растяжения/кропа */
.ipoteka-page .page-hero-section {
	aspect-ratio: 1440 / 614;
	height: auto;
	min-height: 0;
}

.ipoteka-page .page-hero-section__image img {
	object-fit: cover;
	object-position: center center;
}

@media (max-width: 1279px) {
	.ipoteka-page .page-hero-section {
		aspect-ratio: auto;
	}

	.ipoteka-page .page-hero-section__image--adaptive {
		aspect-ratio: 1440 / 614;
		height: auto;
	}
}

.ipoteka-page .page-hero-section__bottom {
	gap: clamp(24px, 3vw, 40px);
}

.ipoteka-page__actions.front_stories__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.ipoteka-page__actions .front_stories__btn,
.ipoteka-programs__card-actions .front_stories__btn {
	border-radius: 999px;
	font-size: 16px;
	font-weight: 500;
	line-height: 50px;
	min-width: 227px;
	padding: 0 24px;
	text-align: center;
	text-decoration: none;
	transition: opacity 0.2s ease;
	cursor: pointer;
}

.ipoteka-page__actions .front_stories__btn:hover,
.ipoteka-programs__card-actions .front_stories__btn:hover {
	opacity: 0.9;
}

.ipoteka-page__actions .front_stories__btn--light,
.ipoteka-programs__card-actions .front_stories__btn--light {
	background: #dfddd8;
	color: #252324;
}

.ipoteka-page__actions .front_stories__btn--accent {
	background: var(--theme-base-color);
	color: #fff;
	font-weight: 700;
}

@media (max-width: 767px) {
	.ipoteka-page__actions.front_stories__actions {
		flex-direction: column;
		gap: 10px;
	}

	.ipoteka-page__actions .front_stories__btn,
	.ipoteka-programs__card-actions .front_stories__btn {
		font-size: 14px;
		line-height: 44px;
		min-width: 220px;
	}
}

@media (max-width: 420px) {
	.ipoteka-page__actions .front_stories__btn,
	.ipoteka-programs__card-actions .front_stories__btn {
		min-width: 88%;
	}
}

/* ---------- Mortgage programs (A101 MortgageProgramsSection) ---------- */

#ipoteka-programs,
#ipoteka-faq,
.ipoteka-programs__tab[data-program-anchor] {
	scroll-margin-top: 120px;
}

.ipoteka-programs {
	padding-bottom: clamp(48px, 6vw, 80px);
}

.ipoteka-programs__section {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.ipoteka-programs__heading {
	margin: 0 0 clamp(28px, 4vw, 48px);
	max-width: 900px;
	text-align: center;
	font-size: clamp(30px, 3.8vw, 52px);
	font-weight: 500;
	line-height: 0.95;
	letter-spacing: -0.027em;
	color: var(--otzyvy-body-color, #1b1d24);
}

.ipoteka-programs__tabbar {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin-bottom: 28px;
	width: 100%;
}

.ipoteka-programs__tab {
	appearance: none;
	border: 0;
	border-radius: 999px;
	background: #f4f4f6;
	color: #43495a;
	cursor: pointer;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.2;
	padding: 14px 20px;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.ipoteka-programs__tab.is-active {
	background: #1b1d24;
	color: #fff;
}

.ipoteka-programs__desktop {
	width: 100%;
}

.ipoteka-programs__panel[hidden] {
	display: none !important;
}

.ipoteka-programs__panel-stack {
	display: grid;
	gap: 16px;
}

.ipoteka-programs__card {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	min-height: 500px;
	overflow: hidden;
	border-radius: clamp(20px, 4vw, 40px);
	background: #f4f4f6;
}

.ipoteka-programs__card--sub {
	min-height: 420px;
}

.ipoteka-programs__card-media {
	position: relative;
	min-height: 100%;
	overflow: hidden;
}

.ipoteka-programs__card-media--brand {
	box-sizing: border-box;
	display: flex;
	min-height: 100%;
	padding: 15px;
	background: #f4f4f6;
}

.ipoteka-programs__card-media-surface {
	flex: 1;
	width: 100%;
	min-height: 100%;
	overflow: auto;
	border-radius: clamp(16px, 3vw, 32px);
	background: #fff;
}

.ipoteka-programs__card-media-surface noindex {
	display: block;
	padding: clamp(16px, 2vw, 24px);
	font-size: 13px;
	line-height: 1.45;
	color: #1a1a1a;
	text-align: justify;
}

.ipoteka-programs__card-media-surface noindex p {
	margin: 0 0 10px;
}

.ipoteka-programs__card-media-surface noindex p:last-child {
	margin-bottom: 0;
}

.ipoteka-programs__card-media-surface noindex ul {
	margin: 0 0 10px;
	padding-left: 18px;
}

.ipoteka-programs__card-media-surface noindex li {
	margin-bottom: 4px;
}

.ipoteka-programs__card-media-surface noindex a {
	color: inherit;
	text-decoration: underline;
}

.ipoteka-programs__brand-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin: 0;
	border: 0;
	border-radius: 999px;
	background: #fff;
	color: #1b1d24;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.2;
	padding: 14px 20px;
	cursor: pointer;
	transition: background-color 0.2s ease;
}

.ipoteka-programs__brand-toggle:hover {
	background: #eeedef;
}

.ipoteka-programs__card-image {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 320px;
	object-fit: cover;
}

.ipoteka-programs__card-content {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	gap: 24px;
	padding: clamp(24px, 3vw, 40px);
}

.ipoteka-programs__card--brand .ipoteka-programs__card-content {
	padding-right: 15px;
	padding-bottom: 15px;
}

.ipoteka-programs__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 12px;
}

.ipoteka-programs__tag {
	display: inline-flex;
	align-items: center;
	border-radius: 999px;
	background: rgba(27, 29, 36, 0.08);
	color: #43495a;
	font-size: 13px;
	line-height: 1.2;
	padding: 8px 12px;
}

.ipoteka-programs__card-title {
	margin: 0 0 12px;
	font-size: clamp(24px, 2.4vw, 34px);
	font-weight: 500;
	line-height: 1;
	letter-spacing: -0.02em;
	color: #1b1d24;
}

.ipoteka-programs__card-text {
	margin: 0 0 20px;
	max-width: 420px;
	font-size: 16px;
	line-height: 1.28;
	color: #43495a;
}

.ipoteka-programs__audience {
	margin: 0 0 20px;
	padding: 0;
	list-style: none;
}

.ipoteka-programs__audience > li {
	position: relative;
	margin: 0 0 8px;
	padding-left: 20px;
	font-size: 16px;
	line-height: 1.28;
	color: #43495a;
}

.ipoteka-programs__audience > li::before {
	content: '—';
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: auto;
	height: auto;
	margin: 0;
	background: none;
	border-radius: 0;
}

.ipoteka-programs__card-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.ipoteka-programs__card-header .ipoteka-programs__features,
.ipoteka-programs__card-header .ipoteka-programs__features--note {
	margin-top: 24px;
}

.ipoteka-programs__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 180px;
	border-radius: 999px;
	font-size: 15px;
	font-weight: 500;
	line-height: 48px;
	padding: 0 22px;
	text-decoration: none;
	transition: opacity 0.2s ease;
}

.ipoteka-programs__btn:hover {
	opacity: 0.9;
}

.ipoteka-programs__btn--dark {
	background: #1b1d24;
	color: #fff;
}

.ipoteka-programs__btn--light {
	background: #fff;
	color: #1b1d24;
}

.ipoteka-programs__btn--accent,
.ipoteka-programs .front_stories__btn--accent {
	background: var(--theme-base-color);
	color: #fff;
	font-weight: 700;
	min-width: 227px;
	line-height: 50px;
}

.ipoteka-programs__features {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ipoteka-programs__card--brand .ipoteka-programs__features:not(.ipoteka-programs__features--note),
.ipoteka-programs__features--panel {
	padding: clamp(16px, 2vw, 24px);
	border-radius: clamp(16px, 3vw, 32px);
	background: #fff;
}

.ipoteka-programs__features--note {
	display: block;
}

.ipoteka-programs__features-note {
	margin: 0;
	font-size: 16px;
	line-height: 1.35;
	color: #43495a;
}

.ipoteka-programs__feature::before {
	content: none;
	display: none;
}

.ipoteka-programs__feature-name {
	display: block;
	margin-bottom: 6px;
	font-size: 13px;
	line-height: 1.2;
	color: #767b8a;
	text-transform: lowercase;
}

.ipoteka-programs__feature-value {
	font-size: clamp(18px, 2vw, 24px);
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: -0.02em;
	color: #1b1d24;
}

.ipoteka-programs__feature-value p {
	margin: 0;
}

.ipoteka-programs__mobile {
	display: none;
	width: 100%;
}

.ipoteka-programs__slider {
	overflow: hidden;
}

.ipoteka-programs__slider .swiper-slide {
	height: auto;
}

.ipoteka-programs__slider .ipoteka-programs__card {
	display: flex;
	flex-direction: column;
	min-height: 334px;
}

.ipoteka-programs__slider .ipoteka-programs__card-media {
	min-height: 180px;
}

.ipoteka-programs__slider .ipoteka-programs__card-media--brand {
	min-height: 180px;
}

.ipoteka-programs__slider .ipoteka-programs__card-media-surface {
	min-height: 170px;
}

.ipoteka-programs__slider .ipoteka-programs__card-image {
	min-height: 180px;
}

.ipoteka-programs__slider .ipoteka-programs__card-content {
	padding: 20px;
}

.ipoteka-programs__slider .ipoteka-programs__card--brand .ipoteka-programs__card-content {
	padding-right: 15px;
	padding-bottom: 15px;
}

.ipoteka-programs__slider .ipoteka-programs__card-actions {
	flex-direction: column;
}

.ipoteka-programs__slider .ipoteka-programs__btn {
	width: 100%;
	min-width: 0;
}

.ipoteka-programs__progress {
	display: flex;
	justify-content: center;
	padding: 20px 0 0;
}

.ipoteka-programs__progressbar {
	position: relative;
	width: 150px;
	height: 4px;
	border-radius: 999px;
	background: rgba(27, 29, 36, 0.12);
	overflow: hidden;
}

.ipoteka-programs__progressbar::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: calc(var(--progress, 0.2) * 100%);
	height: 100%;
	border-radius: inherit;
	background: #1b1d24;
	transition: width 0.25s ease;
}

@media (max-width: 1279px) {
	.ipoteka-programs__card {
		display: flex;
		flex-direction: column;
		min-height: 0;
	}

	.ipoteka-programs__card--brand .ipoteka-programs__card-content {
		order: 1;
		padding: 20px;
	}

	.ipoteka-programs__card--brand .ipoteka-programs__card-media--brand {
		order: 2;
		flex-direction: column;
		min-height: 0;
		padding: 0 20px 20px;
	}

	.ipoteka-programs__card-media--brand .ipoteka-programs__card-media-surface {
		min-height: 0;
		margin-bottom: 12px;
	}

	.ipoteka-programs__card-media--brand .ipoteka-programs__card-media-surface[hidden] {
		display: none;
	}

	.ipoteka-programs__card-media--brand .ipoteka-programs__brand-toggle {
		display: inline-flex;
	}

	.ipoteka-programs__card-image {
		min-height: 180px;
	}

	.ipoteka-programs__card-content {
		padding: 20px;
	}

	.ipoteka-programs__card-actions {
		flex-direction: column;
	}

	.ipoteka-programs__card-actions .front_stories__btn,
	.ipoteka-programs__btn {
		width: 100%;
		min-width: 0;
	}

	#ipoteka-program-panel-other .ipoteka-programs__card--sub .ipoteka-programs__card-media {
		display: none;
	}

	#ipoteka-program-panel-other .ipoteka-programs__card--sub {
		min-height: 0;
	}

	.ipoteka-programs__tabbar {
		justify-content: flex-start;
		flex-wrap: nowrap;
		overflow-x: auto;
		scrollbar-width: none;
		padding-bottom: 4px;
	}

	.ipoteka-programs__tabbar::-webkit-scrollbar {
		display: none;
	}

	.ipoteka-programs__tab {
		flex: 0 0 auto;
		font-size: 14px;
		padding: 12px 16px;
		white-space: nowrap;
	}
}

@media (max-width: 767px) {
	.ipoteka-programs__heading {
		font-size: clamp(28px, 8vw, 36px);
		margin-bottom: 24px;
	}

	.ipoteka-programs__features {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.ipoteka-programs__card-text {
		font-size: 14px;
	}
}

/* ---------- Partner banks ---------- */

.ipoteka-banks {
	padding-bottom: clamp(48px, 6vw, 80px);
}

.ipoteka-banks__section {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
}

.ipoteka-banks__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	width: 100%;
}

.ipoteka-banks__card {
	box-sizing: border-box;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-width: 0;
	width: 100%;
	min-height: 88px;
	padding: 16px 20px;
	border: 1px solid #e5e7eb;
	border-radius: 12px;
	background: #fff;
}

.ipoteka-banks__card-head {
	display: flex;
	align-items: center;
	gap: 14px;
	min-width: 0;
	flex: 1 1 auto;
}

.ipoteka-banks__card-logo {
	flex-shrink: 0;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	object-fit: cover;
}

.ipoteka-banks__card-name {
	min-width: 0;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.25;
	letter-spacing: -0.01em;
	color: #1b1d24;
}

.ipoteka-banks__btn {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 12px 20px;
	border: 0;
	border-radius: 999px;
	background: #ececec;
	color: #1b1d24;
	font-family: inherit;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.01em;
	white-space: nowrap;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.2s ease, opacity 0.2s ease;
}

.ipoteka-banks__btn:hover,
.ipoteka-banks__btn:focus-visible {
	background: #e2e2e2;
	color: #1b1d24;
	opacity: 1;
}

@media (max-width: 1200px) {
	.ipoteka-banks__card {
		padding: 14px 16px;
		gap: 12px;
	}

	.ipoteka-banks__card-name {
		font-size: 15px;
	}

	.ipoteka-banks__btn {
		padding: 11px 16px;
		font-size: 13px;
	}
}

@media (max-width: 1100px) {
	.ipoteka-banks__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.ipoteka-banks__grid {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.ipoteka-banks__card {
		min-height: 76px;
		padding: 12px 14px;
	}

	.ipoteka-banks__card-logo {
		width: 44px;
		height: 44px;
	}

	.ipoteka-banks__btn {
		padding: 10px 14px;
		font-size: 13px;
	}
}

@media (max-width: 420px) {
	.ipoteka-banks__card {
		flex-wrap: wrap;
	}

	.ipoteka-banks__btn {
		width: 100%;
	}
}

.ipoteka-page .complex-callback-a101 {
	margin: clamp(32px, 4vw, 48px) 0 clamp(48px, 6vw, 80px);
}

.ipoteka-page__callback-wrap .complex-callback-a101 {
	margin-bottom: 0;
}

.ipoteka-page__callback-wrap .complex-callback-a101 .container.container--1440 {
	max-width: none;
	padding-left: 0;
	padding-right: 0;
	width: 100%;
}

/* ---------- FAQ section ---------- */
.ipoteka-page__faq-wrap {
	padding-bottom: clamp(48px, 6vw, 80px);
}

.ipoteka-faq {
	padding-bottom: 0;
}

.ipoteka-faq__section {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
}

.ipoteka-banks__heading,
.ipoteka-faq__heading,
.ipoteka-useful__heading {
	margin-top: clamp(12px, 2vw, 24px);
}

.ipoteka-faq .index-faq-figma {
	width: 100%;
}

.ipoteka-faq .index-faq-figma__list {
	margin-top: 0;
	width: 100%;
}

.ipoteka-faq .index-faq-figma__answer a {
	color: var(--theme-base-color);
	text-decoration: underline;
}

.ipoteka-faq .index-faq-figma__answer ol,
.ipoteka-faq .index-faq-figma__answer ul {
	margin: 16px 0;
	padding-left: 1.25em;
}

.ipoteka-faq .index-faq-figma__answer li + li {
	margin-top: 12px;
}

.ipoteka-faq .index-faq-figma__answer ul > li::before {
	content: none;
}

.ipoteka-faq .index-faq-figma__answer p.icon_plus,
.ipoteka-faq .index-faq-figma__answer p.icon_minus {
	font-weight: 600;
	margin: 20px 0 12px;
}

.ipoteka-faq .index-faq-figma__row > .panel-collapse.collapse:not(.in):not(.show) {
	display: none;
}

/* ---------- Useful info cards (A101 UtpCardsList + UtpCard) ---------- */
.ipoteka-page__useful-wrap {
	padding-top: clamp(48px, 6vw, 80px);
	padding-bottom: clamp(48px, 6vw, 80px);
}

.ipoteka-useful__section {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
}

.ipoteka-useful__header {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: clamp(16px, 2vw, 24px);
	margin-bottom: clamp(20px, 3vw, 32px);
	max-width: 900px;
	text-align: center;
	width: 100%;
}

.ipoteka-useful__heading {
	margin-bottom: 0;
}

.ipoteka-useful__lead {
	margin: 0;
	max-width: 720px;
	font-size: clamp(15px, 1.6vw, 18px);
	font-weight: 400;
	line-height: 1.45;
	letter-spacing: -0.01em;
	color: #43495a;
}

.ipoteka-utp-cards {
	width: 100%;
}

.ipoteka-utp-cards__list {
	align-items: flex-start;
	display: flex;
	gap: 12px;
	list-style: none;
	margin: 0 -20px;
	overflow: auto;
	padding: 0 20px;
	scrollbar-width: none;
	width: calc(100% + 40px);
	-ms-overflow-style: none;
	-webkit-overflow-scrolling: touch;
}

.ipoteka-utp-cards__list::-webkit-scrollbar {
	display: none;
}

.ipoteka-utp-cards__list > li::before {
	content: none;
}

.ipoteka-utp-cards__item {
	display: flex;
	flex: 1;
	margin: 0;
	min-width: calc(25% - 9px);
}

.ipoteka-utp-cards__card.utp-card {
	background: #f4f4f6;
	border-radius: 20px;
	box-sizing: border-box;
	color: #1b1d24;
	display: flex;
	flex-direction: column;
	padding: 16px;
	text-decoration: none;
	transition: background-color 0.2s ease;
	width: 100%;
}

.ipoteka-utp-cards__card.utp-card:hover,
.ipoteka-utp-cards__card.utp-card:focus-visible {
	background: #eeedef;
	color: #1b1d24;
	outline: none;
	text-decoration: none;
}

.ipoteka-utp-cards__card--static,
.ipoteka-utp-cards__card--static:hover,
.ipoteka-utp-cards__card--static:focus,
.ipoteka-utp-cards__card--static:focus-visible {
	background: #f4f4f6;
	cursor: default;
	pointer-events: none;
	text-decoration: none;
}

.ipoteka-utp-cards__icon {
	display: block;
	flex: 0 0 32px;
	height: 32px;
	margin: 0 0 8px;
	object-fit: contain;
	width: 32px;
}

.ipoteka-utp-cards__card .utp-card__wrapper {
	min-width: 0;
	width: 100%;
}

.ipoteka-utp-cards__card .utp-card__text {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

.ipoteka-utp-cards__card .utp-card__title {
	color: #1b1d24;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: -0.32px;
	line-height: 1.25;
	margin: 0;
	text-wrap: pretty;
}

.ipoteka-utp-cards__card .utp-card__description {
	color: #686d7f;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: -0.14px;
	line-height: 1.35;
	margin: 0;
	text-wrap: pretty;
}

@media (max-width: 1279px) {
	.ipoteka-utp-cards__list {
		flex-direction: column;
		gap: 8px;
		margin: 0;
		overflow: visible;
		padding: 0;
		width: 100%;
	}

	.ipoteka-utp-cards__item {
		flex: 1 1 auto;
		min-width: 0;
		width: 100%;
	}
}

@media (max-width: 767px) {
	.ipoteka-page__useful-wrap {
		margin-left: calc(-1 * var(--theme-page-width-padding, 16px));
		margin-right: calc(-1 * var(--theme-page-width-padding, 16px));
		padding-left: var(--theme-page-width-padding, 16px);
		padding-right: var(--theme-page-width-padding, 16px);
	}

	.ipoteka-utp-cards__card.utp-card {
		padding: 14px;
	}
}

/* End */


/* Start:/local/templates/aspro-premier/components/bitrix/news.list/tizers-list/types/css/type_1.css?17850640542248*/
/* Только переопределяем --gap; display/grid-template-columns оставляем системе .grid-list */
.tizers-list .tizers-list__items-wrapper {
  --gap: 20px;
}

.tizers-list .tizers-list__item-wrapper {
  border: 0;
  border-radius: 20px;
  background: #766c6a;
  box-shadow: none;
  overflow: hidden;
}

/* Не даём Aspro shadow-no-border-hovered / white-bg красить карточку в белый на hover */
.tizers-list .tizers-list__item-wrapper.shadow-no-border-hovered:hover,
.tizers-list .tizers-list__item-wrapper.shadow-hovered:hover,
.tizers-list .tizers-list__item-wrapper.white-bg:hover,
.tizers-list .tizers-list__item-wrapper.bordered:hover {
  background: #766c6a;
  border-color: transparent;
  box-shadow: none;
}

.tizers-list .tizers-list__item {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 190px;
  height: 100%;
  padding: 20px;
}

.tizers-list .tizers-list__item-image-wrapper {
  display: none;
}

.tizers-list .tizers-list__item-text-wrapper {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
  min-height: 100%;
}

.tizers-list .tizers-list__item-name {
  margin: 0;
  color: #ffffff;
  font-size: 22px;
  line-height: 1;
  font-weight: 600;
  letter-spacing: 0;
}

.tizers-list .tizers-list__item-descr {
  margin-top: 0;
  color: #ffffff;
  opacity: 1;
  font-size: 16px;
  line-height: 1;
  font-weight: 400;
}

.tizers-list .tizers-list__item-btn {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 5px 18px;
  border-radius: 100px;
  background: #ffffff;
  color: #313131;
  font-size: 16px;
  line-height: 1;
  font-weight: 600;
  text-decoration: none;
  max-width: max-content;
}

.tizers-list .tizers-list__item-btn:hover,
.tizers-list .tizers-list__item-btn:focus {
  color: #313131;
  text-decoration: none;
}

@media (max-width: 767px) {
  .tizers-list .tizers-list__item {
    min-height: 170px;
    padding: 18px;
  }

  .tizers-list .tizers-list__item-name {
    font-size: 18px;
  }

  .tizers-list .tizers-list__item-descr {
    font-size: 14px;
  }

  .tizers-list .tizers-list__item-btn {
    font-size: 14px;
  }
}

/* End */


/* Start:/local/templates/aspro-premier/css/conditional/complex-subscribe-a101.css?17841128849983*/
/* Баннер подписки на посадочной странице ЖК — layout PopMechanic #122766 (A101) */

.catalog_page .complex-subscribe-a101.section {
  width: 100%;
}

.complex-subscribe-a101 {
  --subscribe-body-color: #1b1d24;
  --subscribe-base-50: #f4f4f6;
  --subscribe-base-400: #a1a4ad;
  --subscribe-base-500: #696d7b;
  --subscribe-base-600: #43495a;
  --subscribe-border: #d5d6dc;
  --subscribe-accent: var(--theme-base-color);
  margin: 0 0 100px;
  width: 100%;
}

.complex-subscribe-a101__banner {
  background: var(--subscribe-base-50);
  border-radius: 32px;
  display: flex;
  min-height: 200px;
  overflow: hidden;
  padding: 28px;
  position: relative;
  width: 100%;
}

/* Фон на всю площадь баннера без зазоров */
.complex-subscribe-a101__bg {
  display: block;
  height: 100%;
  inset: 0;
  object-fit: cover;
  object-position: center center;
  pointer-events: none;
  position: absolute;
  width: 100%;
  z-index: 0;
}

.complex-subscribe-a101__image,
.complex-subscribe-a101__image-status {
  bottom: -72px;
  display: block;
  height: 368px;
  object-fit: cover;
  pointer-events: none;
  position: absolute;
  width: 610px;
  z-index: 0;
}

.complex-subscribe-a101__image {
  left: 25%;
  right: auto;
  top: -96px;
}

.complex-subscribe-a101__image-status {
  bottom: -72px;
  left: 25%;
  top: auto;
}

.complex-subscribe-a101__banner--success .complex-subscribe-a101__image {
  display: none;
}

.complex-subscribe-a101__banner--success .complex-subscribe-a101__image-status {
  display: block;
}

.complex-subscribe-a101--sales .complex-subscribe-a101__banner {
  min-height: 200px;
}

.complex-subscribe-a101--sales .complex-subscribe-a101__image--sales,
.complex-subscribe-a101--sales .complex-subscribe-a101__image-status--sales {
  bottom: auto;
  height: 220px;
  left: 50%;
  max-height: none;
  object-fit: contain;
  object-position: center center;
  right: auto;
  top: 50%;
  transform: translate(-50%, -50%);
  width: min(42%, 520px);
}

.complex-subscribe-a101--sales .complex-subscribe-a101__title {
  font-size: 42px;
  letter-spacing: -2.1px;
  line-height: 1;
}

.complex-subscribe-a101--sales .complex-subscribe-a101__description {
  max-width: 520px;
}

.complex-subscribe-a101__alert {
  margin-bottom: 12px;
  position: relative;
  z-index: 2;
}

.complex-subscribe-a101__form {
  position: relative;
  width: 100%;
  z-index: 1;
}

.complex-subscribe-a101__main,
.complex-subscribe-a101__status {
  align-items: center;
  display: flex;
  justify-content: space-between;
  min-height: 144px;
  position: relative;
  width: 100%;
  z-index: 1;
}

.complex-subscribe-a101__text {
  display: flex;
  flex: 0 1 auto;
  flex-direction: column;
  gap: 16px;
  max-width: 420px;
  min-width: 0;
}

.complex-subscribe-a101__title {
  color: var(--subscribe-body-color);
  font-size: 42px;
  font-weight: 500;
  letter-spacing: -2.1px;
  line-height: 1;
  margin: 0;
}

.complex-subscribe-a101__description {
  color: var(--subscribe-base-600);
  font-size: 16px;
  font-weight: 400;
  letter-spacing: -0.32px;
  line-height: 1.28;
  margin: 0;
}

.complex-subscribe-a101__fields {
  display: flex;
  flex: 0 1 756px;
  flex-direction: column;
  gap: 12px;
  max-width: 756px;
  min-width: 0;
  width: 100%;
}

.complex-subscribe-a101__fields-top {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.complex-subscribe-a101__input-wrapper {
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  min-width: 200px;
}

.complex-subscribe-a101__input {
  background: #fff;
  border: 1px solid transparent;
  border-radius: 100px;
  color: var(--subscribe-body-color);
  font-size: 16px;
  font-weight: 500;
  height: 48px;
  letter-spacing: -0.32px;
  line-height: 1.28;
  padding: 0 20px;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  width: 100%;
}

.complex-subscribe-a101__input::placeholder {
  color: var(--subscribe-base-500);
}

.complex-subscribe-a101__input:focus {
  border-color: var(--subscribe-accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--subscribe-accent) 18%, transparent);
  outline: none;
}

.complex-subscribe-a101__fields-bottom {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.complex-subscribe-a101__button {
  align-items: center;
  background: var(--subscribe-accent);
  border: 0;
  border-radius: 100px;
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 16px;
  font-weight: 500;
  gap: 12px;
  height: 52px;
  justify-content: center;
  letter-spacing: -0.32px;
  line-height: 1.28;
  padding: 16px 20px;
  transition: opacity 0.2s ease;
}

.complex-subscribe-a101__button:hover,
.complex-subscribe-a101__button:focus {
  background: var(--subscribe-accent);
  color: #fff;
  opacity: 0.92;
}

.complex-subscribe-a101__button:disabled {
  cursor: not-allowed;
  opacity: 0.6;
}

.complex-subscribe-a101__agreement {
  flex: 1 1 280px;
  min-width: 0;
}

.complex-subscribe-a101__checkbox-block {
  cursor: pointer;
  display: block;
  margin: 0;
}

.complex-subscribe-a101__checkbox-outer {
  align-items: flex-start;
  display: flex;
  gap: 8px;
}

.complex-subscribe-a101__checkbox-input {
  clip: rect(0 0 0 0);
  border: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.complex-subscribe-a101__checkbox-check {
  background: #fff;
  border: 1px solid var(--subscribe-border);
  border-radius: 4px;
  flex: 0 0 16px;
  height: 16px;
  margin-top: 1px;
  position: relative;
  width: 16px;
}

.complex-subscribe-a101__checkbox-input:checked + .complex-subscribe-a101__checkbox-check {
  background: var(--subscribe-accent);
  border-color: var(--subscribe-accent);
}

.complex-subscribe-a101__checkbox-input:checked + .complex-subscribe-a101__checkbox-check::after {
  border: solid #fff;
  border-width: 0 0 2px 2px;
  content: '';
  height: 4px;
  left: 3px;
  position: absolute;
  top: 4px;
  transform: rotate(-45deg);
  width: 8px;
}

.complex-subscribe-a101__checkbox-input:focus-visible + .complex-subscribe-a101__checkbox-check {
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--subscribe-accent) 22%, transparent);
}

.complex-subscribe-a101__agreement-text {
  color: var(--subscribe-base-600);
  display: block;
  flex: 1 1 auto;
  font-size: 12px;
  letter-spacing: -0.24px;
  line-height: 1.48;
  min-width: 0;
}

.complex-subscribe-a101__agreement-text a {
  color: var(--subscribe-accent);
  text-decoration: none;
}

.complex-subscribe-a101__agreement-text a:hover {
  text-decoration: underline;
}

.complex-subscribe-a101__captcha {
  margin-top: 12px;
  max-width: 420px;
  position: relative;
  z-index: 2;
}

.complex-subscribe-a101__banner label.error {
  color: #e8363d;
  display: block;
  font-size: 11px;
  margin-top: 4px;
}

@media (max-width: 1279px) {
  .complex-subscribe-a101__main,
  .complex-subscribe-a101__status {
    align-items: flex-start;
    flex-direction: column;
    gap: 24px;
    min-height: 0;
  }

  .complex-subscribe-a101__fields {
    flex-basis: auto;
    max-width: none;
  }

  /* В колонке графика уходит под текст — скрываем */
  .complex-subscribe-a101__bg {
    display: none;
  }

  .complex-subscribe-a101__image {
    left: 50%;
    transform: translateX(-50%);
  }

  .complex-subscribe-a101__image-status {
    left: 50%;
    transform: translateX(-50%);
  }
}

@media (max-width: 767px) {
  .section-content-wrapper.complex-landing-a101 .complex-subscribe-a101__banner {
    display: block;
    height: auto;
    min-height: 0;
    overflow: hidden;
    padding: 16px;
  }

  .section-content-wrapper.complex-landing-a101 .complex-subscribe-a101__bg,
  .section-content-wrapper.complex-landing-a101 .complex-subscribe-a101__image,
  .section-content-wrapper.complex-landing-a101 .complex-subscribe-a101__image-status {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    overflow: hidden;
    padding: 0 !important;
    position: absolute;
    visibility: hidden;
    width: 0 !important;
  }

  .complex-subscribe-a101 {
    margin-bottom: 64px;
  }

  .complex-subscribe-a101__banner {
    border-radius: 16px;
    display: block;
    height: auto;
    min-height: 0;
    padding: 16px;
  }

  .complex-subscribe-a101__main,
  .complex-subscribe-a101__status {
    gap: 16px;
    min-height: 0;
  }

  .complex-subscribe-a101__text {
    gap: 8px;
  }

  .complex-subscribe-a101__fields {
    gap: 8px;
  }

  .complex-subscribe-a101__fields-bottom {
    gap: 12px;
  }

  .complex-subscribe-a101__title,
  .complex-subscribe-a101--sales .complex-subscribe-a101__title {
    font-size: 28px;
    letter-spacing: -1.4px;
    line-height: 1;
  }

  .complex-subscribe-a101__fields-top {
    flex-direction: column;
  }

  .complex-subscribe-a101__input-wrapper {
    min-width: 0;
    width: 100%;
  }

  .complex-subscribe-a101__fields-bottom {
    align-items: stretch;
    flex-direction: column;
  }

  .complex-subscribe-a101__button {
    width: 100%;
  }

  .complex-subscribe-a101__agreement {
    flex: 0 0 auto;
    height: auto;
    width: 100%;
  }

  .complex-subscribe-a101__checkbox-outer {
    align-items: flex-start;
  }

  .complex-subscribe-a101__agreement-text {
    line-height: 1.36;
  }

  .complex-subscribe-a101__bg,
  .complex-subscribe-a101__image,
  .complex-subscribe-a101__image-status {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    overflow: hidden;
    padding: 0 !important;
    width: 0 !important;
  }

  .complex-subscribe-a101--sales .complex-subscribe-a101__image--sales,
  .complex-subscribe-a101--sales .complex-subscribe-a101__image-status--sales {
    display: none !important;
  }
}

.complex-subscribe-a101--embedded-in-infra {
  margin: 40px 0 0;
  width: 100%;
}

.complex-infra-a101 .complex-subscribe-a101--embedded-in-infra {
  margin-bottom: 0;
}

/* End */


/* Start:/local/templates/aspro-premier/css/conditional/complex-callback-a101.css?17840969447490*/
/* Блок обратной связи после карты офиса — layout CallbackFormCard (A101) */

.catalog_page .complex-callback-a101.section {
  width: 100%;
}

.complex-callback-a101 {
  --callback-body-color: #1b1d24;
  --callback-base-50: #f4f4f6;
  --callback-base-500: #696d7b;
  --callback-base-600: #43495a;
  --callback-border: #d5d6dc;
  --callback-accent: var(--theme-base-color);
  margin: 0 0 100px;
  width: 100%;
}

.complex-callback-a101__banner {
  background: var(--callback-base-50);
  border-radius: 32px;
  display: flex;
  min-height: 200px;
  overflow: hidden;
  padding: 28px;
  position: relative;
  width: 100%;
}

.complex-callback-a101__banner > form {
  flex: 1 1 auto;
  margin: 0;
  min-width: 0;
  position: relative;
  width: 100%;
  z-index: 1;
}

/* Прозрачная графика поверх исходного фона — оригинал без сжатия */
.complex-callback-a101__bg {
  display: block;
  height: 100%;
  inset: 0;
  object-fit: contain;
  object-position: center center;
  pointer-events: none;
  position: absolute;
  width: 100%;
  z-index: 0;
}

.complex-callback-a101__image {
  bottom: -48px;
  display: block;
  height: 265px;
  left: 50%;
  max-width: none;
  object-fit: contain;
  object-position: left bottom;
  pointer-events: none;
  position: absolute;
  transform: translateX(-58%);
  width: min(150%, 1200px);
  z-index: 0;
}

.complex-callback-a101__banner--success .complex-callback-a101__image {
  display: none;
}

.complex-callback-a101__alert {
  margin-bottom: 12px;
  position: relative;
  z-index: 2;
}

.complex-callback-a101__form {
  position: relative;
  width: 100%;
  z-index: 1;
}

.complex-callback-a101__main,
.complex-callback-a101__status {
  align-items: center;
  display: flex;
  gap: 32px;
  justify-content: space-between;
  min-height: 144px;
  position: relative;
  width: 100%;
  z-index: 1;
}

.complex-callback-a101__text {
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  gap: 16px;
  max-width: 420px;
  min-width: 0;
}

.complex-callback-a101__title {
  color: var(--callback-body-color);
  font-size: 42px;
  font-weight: 500;
  letter-spacing: -2.1px;
  line-height: 1;
  margin: 0;
}

.complex-callback-a101__description {
  color: var(--callback-base-600);
  font-size: 16px;
  font-weight: 400;
  letter-spacing: -0.32px;
  line-height: 1.28;
  margin: 0;
}

.complex-callback-a101__fields {
  display: flex;
  flex: 0 0 756px;
  flex-direction: column;
  gap: 12px;
  margin-left: auto;
  max-width: 756px;
  min-width: 0;
  width: 756px;
}

.complex-callback-a101__fields-top {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.complex-callback-a101__input-wrapper {
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  min-width: 200px;
}

.complex-callback-a101__input {
  background: #fff;
  border: 1px solid transparent;
  border-radius: 100px;
  color: var(--callback-body-color);
  font-size: 16px;
  font-weight: 500;
  height: 48px;
  letter-spacing: -0.32px;
  line-height: 1.28;
  padding: 0 20px;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  width: 100%;
}

.complex-callback-a101__input::placeholder {
  color: var(--callback-base-500);
}

.complex-callback-a101__input:focus {
  border-color: var(--callback-accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--callback-accent) 18%, transparent);
  outline: none;
}

.complex-callback-a101__fields-bottom {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.complex-callback-a101__button {
  align-items: center;
  background: var(--callback-accent);
  border: 0;
  border-radius: 100px;
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 16px;
  font-weight: 500;
  gap: 12px;
  height: 52px;
  justify-content: center;
  letter-spacing: -0.32px;
  line-height: 1.28;
  padding: 16px 20px;
  transition: opacity 0.2s ease;
}

.complex-callback-a101__button:hover,
.complex-callback-a101__button:focus {
  background: var(--callback-accent);
  color: #fff;
  opacity: 0.92;
}

.complex-callback-a101__button:disabled {
  cursor: not-allowed;
  opacity: 0.6;
}

.complex-callback-a101__agreement {
  flex: 1 1 280px;
  min-width: 0;
}

.complex-callback-a101__checkbox-block {
  cursor: pointer;
  display: block;
  margin: 0;
}

.complex-callback-a101__checkbox-outer {
  align-items: flex-start;
  display: flex;
  gap: 8px;
}

.complex-callback-a101__checkbox-input {
  clip: rect(0 0 0 0);
  border: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.complex-callback-a101__checkbox-check {
  background: #fff;
  border: 1px solid var(--callback-border);
  border-radius: 4px;
  flex: 0 0 16px;
  height: 16px;
  margin-top: 1px;
  position: relative;
  width: 16px;
}

.complex-callback-a101__checkbox-input:checked + .complex-callback-a101__checkbox-check {
  background: var(--callback-accent);
  border-color: var(--callback-accent);
}

.complex-callback-a101__checkbox-input:checked + .complex-callback-a101__checkbox-check::after {
  border: solid #fff;
  border-width: 0 0 2px 2px;
  content: '';
  height: 4px;
  left: 3px;
  position: absolute;
  top: 4px;
  transform: rotate(-45deg);
  width: 8px;
}

.complex-callback-a101__checkbox-input:focus-visible + .complex-callback-a101__checkbox-check {
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--callback-accent) 22%, transparent);
}

.complex-callback-a101__agreement-text {
  color: var(--callback-base-600);
  display: block;
  flex: 1 1 auto;
  font-size: 12px;
  letter-spacing: -0.24px;
  line-height: 1.48;
  min-width: 0;
}

.complex-callback-a101__agreement-text a {
  color: var(--callback-accent);
  text-decoration: none;
}

.complex-callback-a101__agreement-text a:hover {
  text-decoration: underline;
}

.complex-callback-a101__captcha {
  margin-top: 12px;
  max-width: 420px;
  position: relative;
  z-index: 2;
}

.complex-callback-a101__banner label.error {
  color: #e8363d;
  display: block;
  font-size: 11px;
  margin-top: 4px;
}

@media (max-width: 1279px) {
  .complex-callback-a101__main,
  .complex-callback-a101__status {
    align-items: flex-start;
    flex-direction: column;
    gap: 24px;
    min-height: 0;
  }

  .complex-callback-a101__fields {
    flex: 1 1 auto;
    margin-left: 0;
    max-width: none;
    width: 100%;
  }

  /* В колонке графика уходит под текст — скрываем */
  .complex-callback-a101__bg {
    display: none;
  }

  .complex-callback-a101__image {
    transform: translateX(-50%);
  }
}

@media (max-width: 767px) {
  .complex-callback-a101 {
    margin-bottom: 64px;
  }

  .complex-callback-a101__banner {
    border-radius: 16px;
    min-height: 0;
    padding: 20px 16px;
  }

  .complex-callback-a101__title {
    font-size: 28px;
    letter-spacing: -1.4px;
  }

  .complex-callback-a101__fields-top {
    flex-direction: column;
  }

  .complex-callback-a101__input-wrapper {
    min-width: 0;
    width: 100%;
  }

  .complex-callback-a101__fields-bottom {
    align-items: stretch;
    flex-direction: column;
  }

  .complex-callback-a101__button {
    width: 100%;
  }

  .complex-callback-a101__agreement {
    flex: 0 0 auto;
    height: auto;
    width: 100%;
  }

  .complex-callback-a101__agreement-text {
    line-height: 1.36;
  }

  .complex-callback-a101__bg,
  .complex-callback-a101__image {
    display: none;
  }
}

/* End */
/* /local/templates/aspro-premier/css/pages/projects-landing.css?178522791412778 */
/* /local/templates/aspro-premier/components/bitrix/news.list/faq-index-figma/style.css?17854819585466 */
/* /local/templates/aspro-premier/components/bitrix/news.list/sale-list-figma/style.css?178552153218197 */
/* /local/templates/aspro-premier/components/bitrix/catalog.section.list/front_price_filter/style.css?178552157133597 */
/* /local/templates/aspro-premier/css/conditional/complex-consult-a101.css?17840969443689 */
/* /local/templates/aspro-premier/css/pages/ipoteka.css?178452859018458 */
/* /local/templates/aspro-premier/components/bitrix/news.list/tizers-list/types/css/type_1.css?17850640542248 */
/* /local/templates/aspro-premier/css/conditional/complex-subscribe-a101.css?17841128849983 */
/* /local/templates/aspro-premier/css/conditional/complex-callback-a101.css?17840969447490 */
