:root {
	--vip-charcoal: #353535;
	--vip-ink: #202223;
	--vip-text: #353535;
	--vip-muted: #6d6a68;
	--vip-brand: #8e7268;
	--vip-brand-text: #80655c;
	--vip-brand-dark: #6f554d;
	--vip-canvas: #f0f0f0;
	--vip-surface: #fff;
	--vip-surface-soft: #faf9f8;
	--vip-border: #d8d3cf;
	--vip-border-strong: #aaa5a1;
	--vip-container: 1180px;
	--vip-ui-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
}

.vip-design {
	min-width: 0;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	background: var(--vip-canvas);
	color: var(--vip-text);
	font-family: var(--vip-ui-font);
	font-size: 15px;
	line-height: 1.6;
}

.vip-design *,
.vip-design *::before,
.vip-design *::after {
	box-sizing: border-box;
}

.vip-design .container {
	width: calc(100% - 48px);
	max-width: var(--vip-container);
	margin-right: auto;
	margin-left: auto;
}

.vip-design a {
	color: var(--vip-brand-text);
}

.vip-design a:hover,
.vip-design a:focus {
	color: var(--vip-brand-dark);
}

.vip-design a:focus-visible,
.vip-design button:focus-visible {
	outline: 2px solid var(--vip-brand-text);
	outline-offset: 3px;
}

.vip-design h1,
.vip-design h2,
.vip-design h3,
.vip-design h4 {
	color: var(--vip-ink);
}

.vip-design h1 {
	font-size: 32px;
	line-height: 1.2;
}

.vip-design h2 {
	font-size: 26px;
	line-height: 1.25;
}

.vip-design #wrapper,
.vip-design .footer {
	min-width: 0;
}

.vip-header-main::before,
.vip-header-main::after,
.vip-footer-grid::before,
.vip-footer-grid::after,
.vip-footer-bottom::before,
.vip-footer-bottom::after,
.vip-design .gallery-items::before,
.vip-design .gallery-items::after,
.vip-design .cabinet-history-list::before,
.vip-design .cabinet-history-list::after {
	display: none;
	content: none;
}

/* Header */
.vip-design #header.vip-header {
	height: auto;
	background: var(--vip-charcoal);
}

.vip-header-main {
	display: flex;
	min-height: 92px;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
}

.vip-brand {
	display: inline-flex;
	width: 215px;
	align-items: center;
	text-decoration: none;
}

.vip-brand img {
	display: block;
	width: 100%;
	height: auto;
}

.vip-header-actions {
	display: flex;
	align-items: center;
	gap: 30px;
}

.vip-header-phone {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	color: #fff !important;
	font-family: var(--vip-ui-font);
	text-decoration: none;
}

.vip-header-phone span {
	color: #bcb8b5;
	font-size: 11px;
	letter-spacing: .12em;
	line-height: 1.2;
	text-transform: uppercase;
}

.vip-header-phone strong {
	font-size: 20px;
	font-weight: 600;
	letter-spacing: .01em;
	line-height: 1.45;
}

.vip-header-callback {
	display: inline-flex;
	min-height: 42px;
	align-items: center;
	justify-content: center;
	padding: 9px 16px;
	border: 1px solid rgba(255, 255, 255, .48);
	color: #fff !important;
	font-family: var(--vip-ui-font);
	font-size: 13px;
	letter-spacing: .03em;
	text-decoration: none;
}

.vip-header-callback:hover,
.vip-header-callback:focus {
	border-color: #fff;
	background: #fff;
	color: var(--vip-ink) !important;
	text-decoration: none;
}

.vip-design .vip-navbar {
	padding-top: 0;
	font-family: var(--vip-ui-font);
	font-size: 14px;
}

.vip-design .vip-navbar .navbar-inner {
	display: flex;
	min-height: 58px;
	align-items: center;
	padding: 0;
	border: 0;
	border-bottom: 1px solid var(--vip-border);
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.vip-design .vip-navbar .nav-collapse {
	display: flex !important;
	width: 100%;
	height: auto !important;
	align-items: center;
	justify-content: space-between;
	overflow: visible !important;
}

.vip-design .vip-navbar .nav {
	display: flex;
	margin: 0;
	gap: 30px;
}

.vip-design .vip-navbar .nav > li {
	display: block;
}

.vip-design .vip-navbar .nav > li > a {
	position: relative;
	padding: 19px 0 17px;
	border: 0;
	background: transparent;
	color: var(--vip-ink);
	font-family: var(--vip-ui-font);
	font-size: 14px;
	font-weight: 500;
	line-height: 21px;
	text-decoration: none;
	text-shadow: none;
	white-space: nowrap;
}

.vip-design .vip-navbar .nav > li > a::after {
	position: absolute;
	right: 0;
	bottom: -1px;
	left: 0;
	height: 2px;
	background: transparent;
	content: "";
}

.vip-design .vip-navbar .nav > li.active > a,
.vip-design .vip-navbar .nav > li > a:hover,
.vip-design .vip-navbar .nav > li > a:focus {
	color: var(--vip-brand-text);
}

.vip-design .vip-navbar .nav > li.active > a::after {
	background: var(--vip-brand);
}

.vip-design .vip-navbar .cabinet-nav-link {
	float: none;
	min-height: 40px;
	margin: 0;
	padding: 8px 0 8px 16px;
	border-left: 1px solid var(--vip-border);
	color: var(--vip-text);
	font-size: 13px;
	text-decoration: none;
}

.vip-design .vip-navbar .cabinet-nav-count {
	color: var(--vip-muted);
}

.vip-design .vip-navbar .design-preview-switch {
	float: none;
	flex: 0 0 auto;
	margin: 0 0 0 12px;
	padding-left: 12px;
}

.vip-design .vip-navbar .btn-navbar {
	display: none;
}

/* Page rhythm */
.vip-design #main {
	padding-bottom: 64px;
}

.vip-design #main-content {
	padding-bottom: 0;
}

.vip-design .breadcrumbs,
.vip-design .detail-page-breadcrumbs .breadcrumbs {
	margin: 24px 0 10px;
	color: var(--vip-muted);
	font-size: 13px;
}

.vip-design .catalog-page-title,
.vip-design .cabinet-page > .card-header {
	margin: 0 0 24px;
	padding: 0 0 16px;
	border-bottom: 1px solid var(--vip-border);
	background: transparent;
	font-family: "OfficinaSerif", Georgia, serif;
	font-size: 32px;
	line-height: 1.2;
}

.vip-design .region-content .region-prefix,
.vip-design .region-content .region-suffix {
	display: none;
}

.vip-design .region-content > .content {
	padding: 0;
	background: transparent;
}

.vip-design .title-pre {
	display: block;
	margin: 40px 0 24px;
	text-align: left;
}

.vip-design .title-pre .title-prefix,
.vip-design .title-pre .title-suffix {
	display: none;
}

.vip-design .title-pre .title {
	display: block;
	height: auto;
	margin: 0 !important;
	padding: 0 0 14px;
	border: 0;
	border-bottom: 1px solid var(--vip-border);
	background: transparent;
	font-family: "OfficinaSerif", Georgia, serif;
	font-size: 32px;
	line-height: 1.2;
}

/* Homepage hero */
.vip-design .container-carousel {
	width: calc(100% - 48px);
	max-width: var(--vip-container);
	margin-top: 24px;
}

.vip-design .container-carousel .carousel-inner,
.vip-design .container-carousel .item {
	height: 410px;
}

.vip-design .container-carousel .item > img {
	width: 100%;
	height: 410px;
	object-fit: cover;
}

.vip-design .container-carousel .carousel-caption {
	top: auto;
	right: auto;
	bottom: 42px;
	left: 42px;
	width: min(470px, calc(100% - 84px));
	padding: 22px 26px;
	background: rgba(32, 34, 35, .88);
	color: #fff;
	text-align: left;
}

.vip-design .container-carousel .carousel-caption h4 {
	margin: 0;
	padding: 0;
	color: #fff;
	font-family: "OfficinaSerif", Georgia, serif;
	font-size: 30px;
	line-height: 1.2;
}

.vip-design .container-carousel .carousel-caption p {
	margin: 7px 0 0;
	padding: 0;
	font-family: var(--vip-ui-font);
	font-size: 14px;
}

.vip-design .container-carousel .carousel-caption p a {
	color: #d4c5bf;
	text-decoration-color: rgba(212, 197, 191, .55);
}

.vip-design .carousel-indicators {
	right: 28px;
	top: auto;
	bottom: 24px;
}

/* Filters and sorting */
.vip-design .form-items-inline.row-fluid {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 8px;
	margin: 0 0 20px;
	padding: 18px;
	border: 1px solid var(--vip-border);
	background: var(--vip-surface);
	text-align: left !important;
}

.vip-design .form-items-inline.row-fluid p {
	display: block;
	margin: 0;
	padding: 0;
}

.vip-design .form-items-inline.row-fluid p a {
	display: block;
	padding: 7px 10px;
	border: 1px solid transparent;
	color: var(--vip-brand-text);
	font-size: 13px;
	line-height: 18px;
	text-decoration: none;
}

.vip-design .form-items-inline.row-fluid p a:hover,
.vip-design .form-items-inline.row-fluid p a:focus {
	border-color: var(--vip-border);
	background: var(--vip-surface-soft);
}

.vip-design .sort {
	margin: 0 0 20px;
	padding: 0;
	color: var(--vip-muted);
	font-size: 14px;
}

.vip-design .sort b {
	display: inline-block;
	margin: 0 4px;
	padding: 5px 6px;
	border: 0;
	color: var(--vip-brand-text);
	font-weight: 400;
}

.vip-design .sort b.activ {
	border-bottom: 1px solid var(--vip-brand);
	color: var(--vip-ink);
	font-weight: 600;
}

/* Estate grids and cards */
.vip-design #main-content > .region-content > .container-fluid > .gallery-items,
.vip-design .home-estate-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
	margin: 0;
	padding: 0;
}

.vip-design .home-estate-grid {
	padding: 0 !important;
}

.vip-design #main-content > .region-content > .container-fluid > .gallery-items .estate-card,
.vip-design .gallery-items.home-estate-grid .estate-card {
	float: none;
	width: 100% !important;
	height: 352px !important;
	margin: 0 !important;
	border-color: var(--vip-border);
}

.vip-design .gallery-items.home-estate-grid .estate-card .item-cat > .estate-card-link,
.vip-design #main-content > .region-content > .container-fluid > .gallery-items .estate-card .item-cat > .estate-card-link {
	height: 350px;
}

.vip-design .gallery-items.home-estate-grid .estate-card .estate-card-link > img,
.vip-design #main-content > .region-content > .container-fluid > .gallery-items .estate-card .estate-card-link > img {
	height: 220px;
	flex-basis: 220px;
}

.vip-design .gallery-items.home-estate-grid .estate-card .estate-card-body,
.vip-design #main-content > .region-content > .container-fluid > .gallery-items .estate-card .estate-card-body {
	height: 130px !important;
	padding: 14px 16px 16px;
}

.vip-design .gallery-items.home-estate-grid .estate-card .estate-card-body .item-title,
.vip-design #main-content > .region-content > .container-fluid > .gallery-items .estate-card .estate-card-body .item-title {
	height: 44px;
	font-size: 17px;
	line-height: 22px;
}

.vip-design .estate-card {
	border-color: var(--vip-border);
	box-shadow: none;
	transition: border-color .2s ease, transform .2s ease;
}

.vip-design .estate-card:hover {
	border-color: var(--vip-border-strong);
	transform: translateY(-2px);
}

.vip-design .estate-card .estate-card-link > img {
	transition: transform .35s ease;
}

.vip-design .estate-card:hover .estate-card-link > img,
.vip-design .estate-card:focus-within .estate-card-link > img {
	transform: scale(1.02);
}

.vip-design .gallery-items.home-estate-grid .estate-card .estate-card-body .cast,
.vip-design #main-content > .region-content > .container-fluid > .gallery-items .estate-card .estate-card-body .cast {
	color: var(--vip-brand-text);
	font-family: var(--vip-ui-font);
	font-size: 13px;
	font-weight: 600;
}

.vip-design .catalog-view-count {
	border-color: rgba(32, 34, 35, .16);
	background-color: rgba(255, 255, 255, .94);
	color: var(--vip-muted);
}

.vip-design .favorite-button {
	border-radius: 0;
}

.vip-design .b24-widget-button-wrapper {
	right: 16px !important;
	bottom: 16px !important;
	transform: scale(.84);
	transform-origin: right bottom;
}

.vip-design .b24-widget-button-inner-mask,
.vip-design .b24-widget-button-inner-block,
.vip-design .b24-widget-button-social-item.b24-widget-button-openline_livechat,
.vip-design .b24-widget-button-social-item.b24-widget-button-crmform {
	background-color: var(--vip-charcoal) !important;
}

/* Detail */
.vip-design .detail-estate-actions {
	margin-bottom: 24px;
}

.vip-design .detail-heading {
	padding: 18px 0 20px;
	border-top: 0;
	border-bottom-color: var(--vip-border);
	background: transparent;
}

.vip-design .detail-heading .card-header {
	max-width: 900px;
	font-family: "OfficinaSerif", Georgia, serif;
	font-size: 34px;
	line-height: 1.18;
}

.vip-design .detail-object-id {
	color: var(--vip-muted);
}

.vip-design .detail-favorite-button {
	min-height: 40px;
	padding: 9px 13px;
	border-color: var(--vip-border-strong);
}

.vip-detail-hero {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(300px, 1fr);
	gap: 24px;
	margin-bottom: 48px;
}

.vip-detail-gallery {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 8px;
}

.vip-detail-gallery__main {
	position: relative;
	grid-column: 1 / -1;
	display: block;
	height: 500px;
	overflow: hidden;
	background: #ddd;
}

.vip-detail-gallery__main img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.vip-detail-gallery__count {
	position: absolute;
	right: 12px;
	bottom: 12px;
	padding: 6px 9px;
	background: rgba(32, 34, 35, .84);
	color: #fff;
	font-size: 12px;
	line-height: 1;
}

.vip-detail-gallery__thumb {
	display: block;
	height: 92px;
	overflow: hidden;
	background: #ddd;
}

.vip-detail-gallery__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.vip-detail-summary {
	display: flex;
	min-width: 0;
	flex-direction: column;
	align-self: stretch;
	padding: 28px;
	border: 1px solid var(--vip-border);
	background: var(--vip-surface);
}

.vip-detail-summary__label {
	margin-bottom: 4px;
	color: var(--vip-muted);
	font-size: 11px;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.vip-detail-summary__price {
	margin-bottom: 18px;
	color: var(--vip-ink);
	font-family: "OfficinaSerif", Georgia, serif;
	font-size: 30px;
	line-height: 1.2;
}

.vip-detail-summary__note {
	margin: 0 0 24px;
	padding: 14px 0;
	border-top: 1px solid var(--vip-border);
	border-bottom: 1px solid var(--vip-border);
	color: var(--vip-muted);
	font-size: 13px;
	line-height: 1.55;
}

.vip-detail-summary__manager {
	display: grid;
	grid-template-columns: 52px minmax(0, 1fr);
	gap: 12px;
	align-items: center;
	margin-bottom: 24px;
}

.vip-detail-summary__manager img {
	display: block;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	object-fit: cover;
}

.vip-detail-summary__manager strong,
.vip-detail-summary__manager span {
	display: block;
}

.vip-detail-summary__manager strong {
	color: var(--vip-ink);
	font-family: "OfficinaSerifBook", Georgia, serif;
	font-size: 17px;
	font-weight: 400;
	line-height: 1.25;
}

.vip-detail-summary__manager span {
	color: var(--vip-muted);
	font-size: 12px;
}

.vip-detail-summary__actions {
	display: grid;
	gap: 10px;
	margin-top: auto;
}

.vip-primary-action,
.vip-secondary-action {
	display: inline-flex;
	min-height: 46px;
	align-items: center;
	justify-content: center;
	padding: 11px 16px;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
	text-decoration: none !important;
}

.vip-primary-action {
	border: 1px solid var(--vip-charcoal);
	background: var(--vip-charcoal);
	color: #fff !important;
}

.vip-primary-action:hover,
.vip-primary-action:focus {
	background: var(--vip-ink);
	color: #fff !important;
}

.vip-secondary-action {
	border: 1px solid var(--vip-border-strong);
	background: #fff;
	color: var(--vip-ink) !important;
}

.vip-mobile-detail-actions {
	display: none;
}

.vip-design .node-card .card.row-fluid:not(.detail-recommendation-block) {
	margin: 0 0 48px;
}

.vip-design .node-card .card.row-fluid:not(.detail-recommendation-block) .nav-pre {
	margin: 0 0 22px;
	text-align: left;
	z-index: 1;
}

.vip-design .node-card .card.row-fluid:not(.detail-recommendation-block) .nav-pre .nav-tabs,
.vip-design .node-card .card.row-fluid:not(.detail-recommendation-block) .nav-pre .nav-tabs li,
.vip-design .node-card .card.row-fluid:not(.detail-recommendation-block) .nav-pre .nav-tabs li:first-child,
.vip-design .node-card .card.row-fluid:not(.detail-recommendation-block) .nav-pre .nav-tabs li:last-child,
.vip-design .node-card .card.row-fluid:not(.detail-recommendation-block) .nav-pre .nav-tabs li.active:first-child,
.vip-design .node-card .card.row-fluid:not(.detail-recommendation-block) .nav-pre .nav-tabs li.active:last-child {
	height: auto;
	margin: 0 !important;
	padding: 0;
	background: none;
}

.vip-design .node-card .card.row-fluid:not(.detail-recommendation-block) .nav-pre .nav-tabs li:last-child {
	display: none;
}

.vip-design .node-card .card.row-fluid:not(.detail-recommendation-block) .nav-pre .nav-tabs li a,
.vip-design .node-card .card.row-fluid:not(.detail-recommendation-block) .nav-pre .nav-tabs li.active a {
	height: auto;
	padding: 0 0 10px;
	border: 0;
	border-bottom: 1px solid var(--vip-brand);
	background: transparent;
	color: var(--vip-ink);
}

.vip-design .node-card .card.row-fluid:not(.detail-recommendation-block) .nav-pre .tab-link {
	padding: 0;
	background: none;
	font-size: 26px;
	line-height: 1.25;
}

.vip-design .node-card .card.row-fluid:not(.detail-recommendation-block) > .content {
	padding: 0;
	background: transparent;
}

.vip-design .node-card .description .detailtext {
	max-width: 820px;
	padding: 0;
	font-size: 16px;
	line-height: 1.75;
	text-align: left;
}

.vip-detail-video {
	width: min(100%, 820px);
	margin: 0 0 28px;
	aspect-ratio: 16 / 9;
	background: #dedbd8;
}

.vip-detail-video iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

.vip-design .node-card .cast {
	display: none;
}

.vip-design .node-card .under-content {
	margin-top: 40px;
	border-top: 1px solid var(--vip-border);
}

/* Recommendations */
.vip-design .detail-recommendation-block {
	margin-top: 48px;
}

.vip-design .detail-recommendation-block .nav-pre {
	padding-bottom: 12px;
	border-bottom: 1px solid var(--vip-border);
}

.vip-design .detail-recommendation-block .nav-pre .nav-tabs li a,
.vip-design .detail-recommendation-block .nav-pre .nav-tabs li.active a {
	border-bottom: 0;
}

.vip-design .detail-recommendation-block .nav-pre .nav-tabs li .tab-link {
	font-size: 24px;
}

/* Cabinet */
.vip-design .cabinet-page {
	padding: 40px 0 24px;
}

.vip-design .cabinet-intro {
	max-width: 680px;
	font-size: 15px;
}

.vip-design .cabinet-tabs {
	margin: 32px 0;
}

.vip-design .cabinet-tab {
	min-height: 44px;
	font-size: 14px;
}

.vip-design .cabinet-panel-heading h2 {
	font-size: 24px;
}

.vip-design .cabinet-clear {
	min-height: 40px;
	padding: 8px 0;
	color: var(--vip-brand-text);
}

.vip-design .cabinet-list {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
}

.vip-design .cabinet-card {
	width: 100%;
}

/* Footer */
.vip-design .vip-footer {
	position: static;
	margin-top: auto;
	padding: 44px 0 22px;
	background: var(--vip-charcoal);
	color: #bbb6b3;
}

.vip-footer-grid {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr;
	gap: 48px;
	align-items: start;
}

.vip-footer-brand strong,
.vip-footer-brand span,
.vip-footer-contact span,
.vip-footer-contact a,
.vip-footer-links a {
	display: block;
}

.vip-footer-brand strong {
	margin-bottom: 5px;
	color: #fff;
	font-family: "OfficinaSerif", Georgia, serif;
	font-size: 22px;
	font-weight: 400;
}

.vip-footer-brand span,
.vip-footer-contact span {
	font-size: 12px;
	letter-spacing: .04em;
}

.vip-footer-contact a {
	margin-top: 5px;
	color: #fff;
	font-size: 18px;
	font-weight: 600;
	text-decoration: none;
}

.vip-footer-links {
	display: grid;
	gap: 7px;
	justify-items: end;
}

.vip-footer-links a {
	color: #c7c2bf;
	font-size: 13px;
}

.vip-footer-bottom {
	display: flex;
	justify-content: space-between;
	margin-top: 30px;
	padding-top: 18px;
	border-top: 1px solid rgba(255, 255, 255, .14);
	font-size: 12px;
}

.vip-design .vip-footer #btn-up {
	padding: 0;
	border: 0;
	background: none;
	color: #c7c2bf;
}

@media screen and (max-width: 1199px) {
	.vip-design .container,
	.vip-design .container-carousel {
		width: calc(100% - 40px);
	}

	.vip-design .vip-navbar .nav {
		gap: 18px;
	}

	.vip-design #main-content > .region-content > .container-fluid > .gallery-items,
	.vip-design .home-estate-grid,
	.vip-design .cabinet-list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.vip-detail-gallery__main {
		height: 430px;
	}
}

@media screen and (max-width: 1050px) {
	.vip-header-main {
		min-height: 78px;
	}

	.vip-brand {
		width: 180px;
	}

	.vip-header-actions {
		gap: 18px;
	}

	.vip-header-callback {
		display: none;
	}

	.vip-design .vip-navbar .navbar-inner {
		position: relative;
		display: block;
		min-height: 52px;
		padding: 7px 0;
	}

	.vip-design .vip-navbar .btn-navbar {
		float: none;
		display: block;
		width: 44px;
		height: 38px;
		margin: 0 0 0 auto;
		padding: 9px 10px;
		border: 1px solid var(--vip-border);
		border-radius: 0;
		background: #fff;
		box-shadow: none;
	}

	.vip-design .vip-navbar .btn-navbar .icon-bar {
		width: 20px;
		background: var(--vip-ink);
		box-shadow: none;
	}

	.vip-design .vip-navbar .nav-collapse {
		display: none !important;
		align-items: stretch;
		padding: 12px 0 5px;
	}

	.vip-design .vip-navbar .nav-collapse.in {
		display: block !important;
	}

	.vip-design .vip-navbar .nav {
		display: block;
		width: 100%;
	}

	.vip-design .vip-navbar .nav > li > a {
		padding: 11px 0;
		border-bottom: 1px solid var(--vip-border);
	}

	.vip-design .vip-navbar .cabinet-nav-link {
		justify-content: flex-start;
		margin-top: 10px;
		padding: 10px 0;
		border-left: 0;
	}

	.vip-design .vip-navbar .design-preview-switch {
		justify-content: flex-start;
		margin: 10px 0 0;
		padding: 10px 0 0;
		border-top: 1px solid var(--vip-border);
		border-left: 0;
	}

	.vip-design #main-content > .region-content > .container-fluid > .gallery-items,
	.vip-design .home-estate-grid,
	.vip-design .cabinet-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.vip-detail-hero {
		grid-template-columns: 1fr;
	}

	.vip-detail-summary {
		min-height: 0;
	}
}

@media screen and (max-width: 600px) {
	.vip-design {
		font-size: 14px;
	}

	.vip-design .container,
	.vip-design .container-carousel {
		width: calc(100% - 30px);
	}

	.vip-design .b24-widget-button-wrapper,
	.vip-design .b24-widget-button-inner-container,
	.vip-design .b24-widget-button-inner-mask {
		width: 54px !important;
		height: 54px !important;
	}

	.vip-design .b24-widget-button-inner-block {
		width: 46px !important;
		height: 46px !important;
	}

	.vip-header-main {
		min-height: 66px;
		gap: 12px;
	}

	.vip-brand {
		width: 142px;
	}

	.vip-header-phone span {
		display: none;
	}

	.vip-header-phone strong {
		font-size: 15px;
	}

	.vip-design .vip-navbar .navbar-inner {
		min-height: 48px;
	}

	.vip-design h1,
	.vip-design .catalog-page-title,
	.vip-design .cabinet-page > .card-header,
	.vip-design .title-pre .title {
		font-size: 26px;
	}

	.vip-design h2 {
		font-size: 22px;
	}

	.vip-design #main {
		padding-bottom: 40px;
	}

	.vip-design .breadcrumbs,
	.vip-design .detail-page-breadcrumbs .breadcrumbs {
		margin-top: 18px;
	}

	.vip-design .container-carousel {
		margin-top: 16px;
	}

	.vip-design .container-carousel .carousel-inner,
	.vip-design .container-carousel .item,
	.vip-design .container-carousel .item > img {
		height: 260px;
	}

	.vip-design .container-carousel .carousel-caption {
		display: block;
		bottom: 20px;
		left: 16px;
		width: calc(100% - 32px);
		padding: 15px 17px;
	}

	.vip-design .container-carousel .carousel-caption h4 {
		font-size: 22px;
		line-height: 1.2;
	}

	.vip-design .container-carousel .carousel-caption p {
		display: none;
	}

	.vip-design .carousel-indicators {
		display: none;
	}

	.vip-design .title-pre {
		margin-top: 30px;
	}

	.vip-design .form-items-inline.row-fluid {
		flex-wrap: nowrap;
		max-height: none;
		overflow-x: auto;
		overflow-y: hidden;
		padding: 10px;
		scroll-padding-inline: 10px;
		scroll-snap-type: x proximity;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}

	.vip-design .form-items-inline.row-fluid::-webkit-scrollbar,
	.vip-design .sort::-webkit-scrollbar {
		display: none;
	}

	.vip-design .form-items-inline.row-fluid p {
		flex: 0 0 auto;
		scroll-snap-align: start;
	}

	.vip-design .form-items-inline.row-fluid p a {
		border-color: var(--vip-border);
		background: var(--vip-surface-soft);
		white-space: nowrap;
	}

	.vip-design .sort {
		display: flex;
		align-items: center;
		overflow-x: auto;
		line-height: 1.8;
		white-space: nowrap;
		scrollbar-width: none;
	}

	.vip-design #main-content > .region-content > .container-fluid > .gallery-items,
	.vip-design .home-estate-grid,
	.vip-design .cabinet-list {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.vip-design #main-content > .region-content > .container-fluid > .gallery-items .estate-card,
	.vip-design .gallery-items.home-estate-grid .estate-card,
	.vip-design .cabinet-card {
		width: 100% !important;
		max-width: 360px;
		margin-right: auto !important;
		margin-left: auto !important;
	}

	.vip-design .detail-heading {
		padding: 13px 0 16px;
	}

	.vip-design .detail-heading-meta {
		align-items: center;
	}

	.vip-design .detail-heading .card-header {
		font-size: 26px;
	}

	.vip-detail-hero {
		gap: 16px;
		margin-bottom: 34px;
	}

	.vip-detail-gallery {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.vip-detail-gallery__main {
		height: 280px;
	}

	.vip-detail-gallery__thumb {
		height: 74px;
	}

	.vip-detail-summary {
		padding: 20px;
	}

	.vip-detail-summary__price {
		font-size: 27px;
	}

	.vip-mobile-detail-actions {
		position: fixed;
		z-index: 1040;
		right: 0;
		bottom: 0;
		left: 0;
		display: grid;
		grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr);
		gap: 8px;
		margin: 0;
		padding: 8px 15px max(8px, env(safe-area-inset-bottom));
		border-top: 1px solid rgba(255, 255, 255, .15);
		background: var(--vip-charcoal);
		box-shadow: 0 -10px 28px rgba(0, 0, 0, .18);
	}

	.vip-design.has-mobile-detail-actions {
		padding-bottom: max(68px, calc(env(safe-area-inset-bottom) + 60px));
	}

	.vip-mobile-detail-actions a,
	.vip-mobile-detail-actions button {
		display: inline-flex;
		min-height: 44px;
		align-items: center;
		justify-content: center;
		margin: 0;
		padding: 9px 10px;
		border: 1px solid rgba(255, 255, 255, .55);
		border-radius: 0;
		background: transparent;
		color: #fff !important;
		font: 600 12px/1.2 var(--vip-ui-font);
		text-align: center;
		text-decoration: none;
	}

	.vip-mobile-detail-actions button {
		border-color: #fff;
		background: #fff;
		color: var(--vip-ink) !important;
	}

	.vip-design.has-mobile-detail-actions .b24-widget-button-wrapper {
		bottom: 76px !important;
	}

	.vip-design .node-card .card.row-fluid:not(.detail-recommendation-block) .nav-pre .tab-link,
	.vip-design .detail-recommendation-block .nav-pre .nav-tabs li .tab-link {
		font-size: 22px;
	}

	.vip-design .node-card .description .detailtext {
		font-size: 15px;
		line-height: 1.7;
	}

	.vip-design .cabinet-page {
		padding-top: 28px;
	}

	.vip-design .cabinet-panel-heading {
		align-items: flex-start;
		gap: 12px;
	}

	.vip-design .cabinet-panel-heading h2 {
		font-size: 21px;
	}

	.vip-design .vip-footer {
		padding-top: 34px;
	}

	.vip-footer-grid {
		grid-template-columns: 1fr;
		gap: 22px;
	}

	.vip-footer-links {
		justify-items: start;
	}

	.vip-footer-bottom {
		align-items: flex-start;
		gap: 16px;
		flex-direction: column;
	}
}

@media (prefers-reduced-motion: reduce) {
	.vip-design .estate-card,
	.vip-design .estate-card .estate-card-link > img {
		transition: none;
	}
}
