/* ==========================================================
   /podbor-bc/ — Аренда офисов в Москве
   Цвета и типографика — из css/main.css шаблона rioteks:
   #0B1226 тёмно-синий, #D00000 красный, #212121 текст,
   #9E9E9E серый, #F4F5F9 светлый фон, Inter 300/400
   ========================================================== */

/* ---------- Общее ---------- */

.pbc-title {
	margin: 0;
}

.pbc-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 60px;
	padding: 0 48px;
	width: auto;
	min-width: 270px;
	font-weight: 400;
	font-size: 18px;
	line-height: 22px;
	border-radius: 1px;
	cursor: pointer;
	transition: all 0.3s ease 0s;
}

button.pbc-btn {
	border: 0;
	font-family: inherit;
}

.pbc-btn--outline {
	border: 1px solid #0B1226;
	color: #0B1226;
	background: #FFFFFF;
}

.pbc-btn--outline:hover {
	background: #0B1226;
	color: #FFFFFF;
}

.pbc-arrows {
	display: flex;
	gap: 12px;
}

.pbc-arrow {
	width: 50px;
	height: 50px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #0B1226;
	background: #FFFFFF;
	color: #0B1226;
	transition: all 0.3s ease 0s;
}

.pbc-arrow:hover,
.pbc-arrow--next {
	background: #0B1226;
	color: #FFFFFF;
}

.pbc-arrow--next:hover {
	background: rgba(11, 18, 38, 0.7);
}

.pbc-arrow.swiper-button-disabled {
	opacity: 0.35;
	cursor: default;
}

/* ---------- Баннер ---------- */

.pbc-hero {
	position: relative;
	z-index: 0;
	margin-top: -100px;
	padding: 100px 0 120px;
	color: #FFFFFF;
	background: #0B1226 no-repeat center 40% / cover; /* картинка — inline из $arPodbor['HERO_IMG'] */
}

.pbc-hero:before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(11, 18, 38, 0.55);
	z-index: 0;
}

.pbc-hero .breadcrumb {
	z-index: 1;
}

.pbc-hero .breadcrumb-item {
	color: rgba(255, 255, 255, 0.5);
}

.pbc-hero .breadcrumb-item a {
	color: #FFFFFF;
}

.pbc-hero__content {
	position: relative;
	z-index: 1;
	padding-top: 90px;
}

.pbc-hero__title {
	font-weight: 300;
	font-size: 72px;
	line-height: 140%;
	text-transform: uppercase;
	max-width: 1000px;
}

.pbc-hero__subtitle {
	padding-top: 40px;
	font-size: 24px;
	line-height: 140%;
	max-width: 770px;
}

.pbc-hero__features {
	margin-top: 100px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
	max-width: 1300px;
}

.pbc-hero__features li {
	border-top: 1px solid rgba(255, 255, 255, 0.4);
	padding-top: 20px;
	font-weight: 300;
	font-size: 16px;
	line-height: 140%;
	text-transform: uppercase;
}

/* ---------- Подобрать офис ---------- */

.pbc-search__head {
	display: flex;
	align-items: flex-end;
	flex-wrap: wrap;
	gap: 16px 40px;
}

.pbc-search__lead {
	font-weight: 300;
	font-size: 16px;
	line-height: 140%;
	color: #666666;
	max-width: 440px;
	padding-bottom: 12px;
}

.pbc-search__form {
	margin-top: 40px;
	background: #F4F5F9;
	padding: 40px 40px 36px;
}

.pbc-search__fields {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px 30px;
	align-items: end;
}

.pbc-field {
	display: flex;
	flex-direction: column;
	gap: 12px;
	min-width: 0;
}

.pbc-field__label {
	font-weight: 400;
	font-size: 18px;
	line-height: 22px;
	color: #212121;
}

.pbc-field__control {
	width: 100%;
	height: 50px;
	padding: 0 16px;
	background: #FFFFFF;
	border: 0;
	border-bottom: 1px solid #9E9E9E;
	border-radius: 0;
	font-family: inherit;
	font-weight: 300;
	font-size: 16px;
	line-height: 19px;
	color: #212121;
	-webkit-appearance: none;
	appearance: none;
}

.pbc-field__control:focus {
	border-bottom-color: #0B1226;
}

select.pbc-field__control {
	padding-right: 40px;
	cursor: pointer;
	background: #FFFFFF url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' fill='none'%3E%3Cpath d='M1 1l6 6 6-6' stroke='%230B1226' stroke-width='1.2'/%3E%3C/svg%3E") no-repeat right 16px center;
}

/* nice-select (как в /filter/) */
.pbc .nice-select.pbc-field__control {
	float: none;
	display: flex;
	align-items: center;
	height: 50px;
	padding: 0 44px 0 16px;
	background: #FFFFFF;
	border: 0;
	border-bottom: 1px solid #9E9E9E;
	border-radius: 0;
	font-weight: 300;
	font-size: 16px;
	line-height: 19px;
	color: #212121;
}

.pbc .nice-select.pbc-field__control:hover,
.pbc .nice-select.pbc-field__control:focus,
.pbc .nice-select.pbc-field__control.open {
	border-bottom-color: #0B1226;
}

.pbc .nice-select .current {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.pbc .nice-select:after {
	right: 18px;
	width: 10px;
	height: 10px;
	margin-top: -7px;
	border-bottom: 1.5px solid #9E9E9E;
	border-right: 1.5px solid #9E9E9E;
}

.pbc .nice-select .list {
	width: 100%;
	max-height: 320px;
	overflow-y: auto;
	margin-top: 0;
	border-radius: 0;
	box-shadow: 0 10px 30px rgba(11, 18, 38, 0.12);
	z-index: 20;
}

.pbc .nice-select .option {
	min-height: 0;
	padding: 10px 16px;
	font-weight: 300;
	font-size: 16px;
	line-height: 19px;
	white-space: normal;
	color: #0B1226;
}

.pbc .nice-select .option.selected {
	font-weight: 400;
}

.pbc .nice-select .option:hover,
.pbc .nice-select .option.focus,
.pbc .nice-select .option.selected.focus {
	background: #0B1226;
	color: #FFFFFF;
}

.pbc .nice-select .list:hover .option:not(:hover) {
	background-color: transparent !important;
	color: #0B1226;
}

.pbc .nice-select .pbc-optgroup {
	padding: 14px 16px 6px;
	font-weight: 400;
	font-size: 12px;
	line-height: 14px;
	text-transform: uppercase;
	color: #9E9E9E;
	cursor: default;
}

.pbc-field__range {
	display: flex;
	align-items: center;
	gap: 10px;
}

.pbc-field__range .pbc-field__control {
	flex: 1 1 0;
	min-width: 0;
}

.pbc-field__dash {
	flex: 0 0 12px;
	height: 1px;
	background: #9E9E9E;
}

.pbc-search__actions {
	margin-top: 32px;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 20px 30px;
}

.pbc-search__hint {
	font-weight: 300;
	font-size: 14px;
	line-height: 140%;
	color: #666666;
	max-width: 300px;
}

.pbc-search__reset {
	margin-left: auto;
	font-weight: 400;
	font-size: 18px;
	line-height: 22px;
	color: #9E9E9E;
}

.pbc-search__reset:hover {
	color: #0B1226;
}

/* ---------- Свободные помещения ---------- */

.pbc-offers__head {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	flex-wrap: wrap;
	gap: 20px 40px;
	padding-bottom: 40px;
}

.pbc-sort {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px 40px;
	padding-bottom: 12px;
	font-weight: 300;
	font-size: 16px;
	line-height: 19px;
}

.pbc-sort__name {
	color: #666666;
}

.pbc-sort__btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #9E9E9E;
}

.pbc-sort__btn span {
	width: 16px;
	height: 12px;
	background: linear-gradient(currentColor, currentColor) 0 0 / 16px 1px no-repeat,
		linear-gradient(currentColor, currentColor) 3px 5px / 13px 1px no-repeat,
		linear-gradient(currentColor, currentColor) 6px 11px / 10px 1px no-repeat;
}

.pbc-sort__btn.asc span {
	transform: scaleY(-1);
}

.pbc-sort__btn:hover,
.pbc-sort__btn.active {
	color: #0B1226;
}

.pbc-sort__btn.active {
	font-weight: 400;
}

.pbc .pbc-offers__list.plate {
	/* фиксированное число колонок (4 → 3 → 2 → 1): шаг выдачи 12 делится на любое, пустых мест в ряду нет */
	grid-template-columns: repeat(4, minmax(0, 1fr));
	column-gap: 30px;
	row-gap: 48px;
	justify-content: stretch;
}

/* низ карточки (метро, площадь, цена) — на одной линии во всём ряду, независимо от длины названия */
.pbc .pbc-offers__list.plate .apart__item {
	display: flex;
	flex-direction: column;
}

.pbc .pbc-offers__list.plate .apart__textblock {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
}

.pbc .pbc-offers__list.plate .apart__name {
	flex: 1 1 auto;
}

.pbc-offers {
	transition: opacity .2s;
}

.pbc-offers.pbc-loading {
	opacity: .5;
	pointer-events: none;
}

/* метро — неприметная подпись сразу под названием; растягивается вместо названия, чтобы низ карточек был на одной линии */
.pbc .apart__name:has(+ .pbc-card-metro) {
	flex: 0 0 auto;
	padding-bottom: 8px;
}

.pbc-card-metro {
	flex: 1 1 auto;
	padding-bottom: 28px;
}

.pbc-card-metro span {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-weight: 300;
	font-size: 13px;
	line-height: 16px;
	color: #9E9E9E;
}

.pbc-card-metro i {
	flex: 0 0 6px;
	width: 6px;
	height: 6px;
	border-radius: 50%;
}

.pbc-offers__more {
	margin-top: 60px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
}

.pbc-offers__all {
	font-weight: 400;
	font-size: 18px;
	line-height: 22px;
	color: #9E9E9E;
}

.pbc-offers__all:hover {
	color: #0B1226;
}

.pbc-empty {
	background: #F4F5F9;
	padding: 60px 30px;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
}

.pbc-empty__title {
	font-weight: 300;
	font-size: 36px;
	line-height: 44px;
	text-transform: uppercase;
	color: #212121;
}

.pbc-empty__text {
	font-weight: 300;
	font-size: 18px;
	line-height: 140%;
	color: #666666;
	padding-bottom: 12px;
}

/* ---------- Не нашли вариант ---------- */

.pbc-cta {
	background: #0B1226;
	color: #FFFFFF;
	padding: 60px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
	flex-wrap: wrap;
}

.pbc-cta__text {
	flex: 1 1 520px;
	padding-left: 40px;
	border-left: 1px solid #D00000;
}

.pbc-cta__title {
	font-weight: 300;
	font-size: 36px;
	line-height: 44px;
	text-transform: uppercase;
}

.pbc-cta__lead {
	padding-top: 16px;
	font-weight: 300;
	font-size: 18px;
	line-height: 140%;
	color: rgba(255, 255, 255, 0.75);
	max-width: 720px;
}

.pbc-cta__btn {
	flex: 0 0 auto;
}

/* ---------- Почему РИОТЭКС ---------- */

.pbc-why__list {
	margin-top: 40px;
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 40px 30px;
}

.pbc-why__item {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.pbc-why__icon {
	width: 70px;
	height: 70px;
	background: #0B1226;
	display: flex;
	align-items: center;
	justify-content: center;
}

.pbc-why__icon img {
	width: 24px;
	height: 24px;
}

.pbc-why__text {
	font-weight: 400;
	font-size: 18px;
	line-height: 140%;
	color: #212121;
}

/* ---------- Бизнес-центры РТС (узкие карточки слайдером) ---------- */

.pbc-bc__head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 20px 40px;
	padding-bottom: 40px;
}

.pbc-bc__nav {
	display: flex;
	align-items: center;
	gap: 32px;
}

.pbc-bc__all {
	font-weight: 400;
	font-size: 18px;
	line-height: 22px;
	color: #0B1226;
	text-decoration: underline;
	text-underline-offset: 4px;
}

.pbc-bc__all:hover {
	text-decoration: none;
}

/* без класса .swiper — его перехватывает общий new Swiper('.swiper') из js/script.js */
.pbc-bc__slider {
	position: relative;
	overflow: hidden;
}

.pbc-bc__slider .pbc-bc-card {
	width: 300px;
	height: auto;
	display: flex;
	flex-direction: column;
	background: #F4F5F9;
	color: #212121;
}

.pbc-bc-card__img {
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: #E3E6EE;
}

.pbc-bc-card__img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease 0s;
}

.pbc-bc-card:hover .pbc-bc-card__img img {
	transform: scale(1.05);
}

.pbc-bc-card__body {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	padding: 20px 20px 22px;
}

.pbc-bc-card__name {
	font-weight: 400;
	font-size: 18px;
	line-height: 22px;
	color: #212121;
}

.pbc-bc-card__props {
	display: flex;
	flex-wrap: wrap;
	margin-top: 12px;
	font-weight: 300;
	font-size: 14px;
	line-height: 17px;
	color: #666666;
}

.pbc-bc-card__props span + span:before {
	content: "·";
	padding: 0 8px;
}

.pbc-bc-card__metro {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-top: 6px;
	font-weight: 300;
	font-size: 14px;
	line-height: 17px;
	color: #666666;
}

.pbc-bc-card__metro i {
	flex: 0 0 6px;
	width: 6px;
	height: 6px;
	border-radius: 50%;
}

.pbc-bc-card__offers {
	margin-top: auto;
	padding-top: 18px;
	font-weight: 400;
	font-size: 14px;
	line-height: 17px;
	color: #0B1226;
}

/* ---------- Инфраструктура ---------- */

.pbc-infra__head,
.pbc-reviews__head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 20px 40px;
	padding-bottom: 40px;
}

.pbc-infra__slider {
	position: relative;
	overflow: hidden;
}

.pbc-infra__item {
	margin: 0;
}

.pbc-infra__img {
	height: 320px;
	background: #D9DCE3;
	border-radius: 3px;
	overflow: hidden;
}

.pbc-infra__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.pbc-infra__title {
	padding-top: 16px;
	font-weight: 400;
	font-size: 18px;
	line-height: 22px;
	color: #212121;
}

/* ---------- В цифрах ---------- */

.pbc-stats {
	background: #0B1226;
	color: #FFFFFF;
	padding: 100px 0;
}

.pbc-stats .mainpage-title {
	color: #FFFFFF;
}

.pbc-stats__list {
	margin-top: 40px;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 40px 30px;
}

.pbc-stats__item:before {
	content: "";
	display: block;
	width: 40px;
	height: 2px;
	background: #D00000;
	margin-bottom: 20px;
}

.pbc-stats__num {
	font-weight: 300;
	font-size: 64px;
	line-height: 77px;
	white-space: nowrap;
}

.pbc-stats__text {
	padding-top: 12px;
	font-weight: 400;
	font-size: 14px;
	line-height: 140%;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.75);
}

/* ---------- О нас говорят ---------- */

.pbc-reviews__nav {
	display: flex;
	align-items: center;
	gap: 24px;
}

.pbc-reviews__counter {
	font-weight: 300;
	font-size: 16px;
	line-height: 19px;
	color: #666666;
	white-space: nowrap;
}

.pbc-reviews__slider {
	/* без класса .swiper: его подхватывает общий new Swiper('.swiper') из js/script.js и ломает слайдер */
	position: relative;
	overflow: hidden;
	background: #F4F5F9;
}

.pbc-review {
	display: flex;
	gap: 60px;
	padding: 60px;
	box-sizing: border-box;
	height: auto;
}

.pbc-review__logo {
	flex: 0 0 240px;
	height: 160px;
	background: #FFFFFF;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
}

.pbc-review__logo img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}

.pbc-review__body {
	flex: 1 1 auto;
	min-width: 0;
}

.pbc-review__post {
	font-weight: 300;
	font-size: 14px;
	line-height: 17px;
	text-transform: uppercase;
	color: #9E9E9E;
}

.pbc-review__name {
	padding-top: 8px;
	font-weight: 500;
	font-size: 18px;
	line-height: 22px;
	color: #212121;
}

.pbc-review__text {
	margin-top: 24px;
	font-weight: 300;
	font-size: 18px;
	line-height: 160%;
	color: #333333;
	max-width: 900px;
	display: -webkit-box;
	-webkit-line-clamp: 5;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.pbc-review.open .pbc-review__text {
	display: block;
}

.pbc-review__more {
	margin-top: 20px;
	padding: 0;
	background: none;
	font-family: inherit;
	font-weight: 400;
	font-size: 16px;
	line-height: 19px;
	color: #0B1226;
	text-decoration: underline;
}

.pbc-review.open .pbc-review__more,
.pbc-review.short .pbc-review__more {
	display: none;
}

/* ---------- Форма ---------- */

.pbc-feedback .feedback__titleblock {
	margin: 0;
}

/* ==========================================================
   Адаптив (точки — как в responsive.css)
   ========================================================== */

@media (max-width: 1770px) {
	.pbc-hero__title {
		font-size: calc(36px + (72 - 36) * ((100vw - 375px) / (1770 - 375)));
	}

	.pbc-hero__subtitle {
		font-size: calc(18px + (24 - 18) * ((100vw - 375px) / (1770 - 375)));
	}

	.pbc-stats__num {
		font-size: calc(40px + (64 - 40) * ((100vw - 375px) / (1770 - 375)));
		line-height: 1.2;
	}
}

@media (max-width: 1400px) {
	.pbc-why__list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.pbc-search__fields {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.pbc .pbc-offers__list.plate {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

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

	.pbc-search__reset {
		margin-left: 0;
	}
}

@media (max-width: 960px) {
	.pbc .pbc-offers__list.plate {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 20px;
	}

	.pbc-hero {
		padding-bottom: 80px;
	}

	.pbc-hero__content {
		padding-top: 50px;
	}

	.pbc-hero__features {
		margin-top: 60px;
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.pbc-cta {
		padding: 40px 30px;
	}

	.pbc-cta__text {
		padding-left: 24px;
	}

	.pbc-cta__title {
		font-size: 28px;
		line-height: 36px;
	}

	.pbc-review {
		flex-direction: column;
		gap: 30px;
		padding: 40px 30px;
	}

	.pbc-review__logo {
		flex-basis: auto;
		width: 200px;
		height: 130px;
	}

	.pbc-infra__img {
		height: 260px;
	}
}

@media (max-width: 768px) {
	.pbc-search__form {
		padding: 30px 20px;
	}

	.pbc-search__fields {
		grid-template-columns: 1fr;
	}

	.pbc-search__actions .pbc-btn {
		width: 100%;
		min-width: 0;
	}

	.pbc-offers__head {
		align-items: flex-start;
		flex-direction: column;
	}

	.pbc-why__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.pbc-why__text {
		font-size: 16px;
	}

	.pbc-stats {
		padding: 60px 0;
	}

	.pbc-cta__btn {
		width: 100%;
	}

	.pbc-bc__slider .pbc-bc-card {
		width: 260px;
	}

	.pbc-bc__all {
		font-size: 16px;
		line-height: 19px;
	}
}

@media (max-width: 500px) {
	.pbc-stats__list {
		grid-template-columns: 1fr;
	}

	.pbc-sort {
		gap: 12px 24px;
	}

	.pbc .pbc-offers__list.plate {
		grid-template-columns: 1fr;
	}

	.pbc-offers__more .pbc-btn {
		width: 100%;
		min-width: 0;
	}
}
