/* Velas shared shell and legacy city-catalog compatibility. */
:root {
	--velas-accent: #a9432b;
	--velas-ink: #253238;
	--velas-muted: #4f5f66;
	--velas-surface: #ffffff;
	--velas-line: #dfe5e8;
}

body.velas-property-detail-surface .rh_banner.rh_banner__default:empty,
body.velas-property-catalog-surface .rh_banner.rh_banner__default:empty,
body.post-type-archive-property .rh_banner.rh_banner__default:empty,
body.tax-property-city .rh_banner.rh_banner__default:empty,
body.tax-property-status .rh_banner.rh_banner__default:empty,
body.tax-property-type .rh_banner.rh_banner__default:empty,
body.tax-property-feature .rh_banner.rh_banner__default:empty {
	display: none;
}

body.velas-property-detail-surface [class^="selected-header-variation-"]:empty {
	display: none;
}

body.post-type-archive-property .rh_page__title > .title,
body.tax-property-city .rh_page__title > .title,
body.tax-property-status .rh_page__title > .title,
body.tax-property-type .rh_page__title > .title,
body.tax-property-feature .rh_page__title > .title {
	display: block;
	margin: 0;
	color: var(--velas-ink);
	font-size: 30px;
	line-height: 1.25;
}

.inspiry-language-switcher .inspiry-language-link,
.inspiry-language-switcher .inspiry-language.current {
	display: flex;
	align-items: center;
	gap: 8px;
}

.inspiry-language-switcher img {
	display: block;
	width: 18px;
	height: 12px;
	object-fit: cover;
}

.velas-city-catalog {
	padding-top: 32px;
	padding-bottom: 56px;
}

.velas-city-catalog__intro,
.velas-city-catalog__results {
	background: var(--velas-surface);
	border: 1px solid var(--velas-line);
	padding: 24px;
}

.velas-city-catalog__intro {
	margin-bottom: 24px;
}

.velas-city-catalog__results {
	padding: 0;
	border: 0;
	background: transparent;
}

.velas-city-catalog__controls {
	display: flex;
	justify-content: flex-end;
	min-height: 52px;
	margin-bottom: 18px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--velas-line);
}

.velas-city-catalog__controls .rh_page__controls {
	margin-left: auto;
}

.velas-city-catalog .rh_page__listing_grid {
	align-items: stretch;
	width: 100%;
	margin-right: 0;
	margin-left: 0;
}

.velas-city-catalog .rh_prop_card {
	height: 100%;
}

.velas-city-catalog__title {
	margin: 0 0 18px;
	color: var(--velas-ink);
	font-size: 30px;
	line-height: 1.25;
}

.velas-city-catalog .arrow-bullet-list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px 18px;
	margin: 16px 0 0;
	padding: 0;
	list-style: none;
}

.velas-city-catalog .arrow-bullet-list li {
	margin: 0;
	padding: 0;
}

.velas-city-catalog .arrow-bullet-list a {
	display: block;
	padding: 9px 12px;
	border-left: 3px solid var(--velas-accent);
	color: var(--velas-ink);
	background: #f7f9fa;
}

.velas-city-catalog__results .sort-controls {
	margin-bottom: 18px;
}

.velas-city-catalog__content {
	margin-top: 24px;
	color: var(--velas-muted);
}

/* WPBakery rows expect a padded Bootstrap parent. The compatibility
 * template owns the outer container, so keep legacy rows inside it. */
.velas-city-catalog__content > .vc_row {
	margin-left: 0;
	margin-right: 0;
}

.velas-home__search {
	position: relative;
	z-index: 2;
	padding: 24px 16px;
	background: #f3f6f6;
	scroll-margin-top: 92px;
}

.velas-home__hero {
	position: relative;
	display: grid;
	min-height: 440px;
	overflow: hidden;
	background: #26383b;
}

.velas-home__hero-image,
.velas-home__hero-shade,
.velas-home__hero-inner {
	grid-area: 1 / 1;
}

.velas-home__hero-image {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 440px;
	max-height: 560px;
	object-fit: cover;
	object-position: center center;
}

.velas-home__hero-shade {
	z-index: 1;
	background: rgba(18, 34, 38, .52);
}

.velas-home__hero-inner {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	width: min(100%, 1240px);
	margin: 0 auto;
	padding: 56px 24px;
	box-sizing: border-box;
}

.velas-home__hero-copy {
	max-width: 680px;
	color: #fff;
}

.velas-home__hero-title {
	margin: 0 0 16px;
	color: #fff;
	font-size: 46px;
	font-weight: 700;
	line-height: 1.12;
	letter-spacing: 0;
}

.velas-home__hero-text {
	max-width: 620px;
	margin: 0 0 26px;
	color: #fff;
	font-size: 20px;
	line-height: 1.5;
}

.velas-home__hero-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 12px 20px;
	border: 2px solid #fff;
	border-radius: 4px;
	color: #fff;
	background: #9d382d;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
}

.velas-home__properties-title,
.velas-city-catalog__results-title {
	margin: 0 0 20px;
	color: var(--velas-ink);
	font-size: 26px;
	line-height: 1.3;
}

.rh_prop_search__searchBtn .rh_btn,
.rh_btn__prop_search,
button.rh_btn__prop_search {
	background: #9d382d !important;
	color: #fff !important;
}

.rh_pagination__btn,
.rh_pagination a,
.property-breadcrumbs a,
.rh_property__id .id,
.rh_property__meta .label,
.rh_property__heading,
.rh_page__property_price .price,
.highlight_stats {
	color: #405158 !important;
}

.rh_footer a,
.rh_footer__before_fix a,
.rh_footer .rh_footer__heading a {
	color: #f1f4f5 !important;
}

.rh_footer .copyrights,
.rh_footer__before_fix .copyrights {
	color: #cbd2d4 !important;
}

.codex-velas-whatsapp-cta {
	background: #0b6f42 !important;
	color: #fff !important;
}

.rh_contact__form input,
.rh_contact__form textarea,
.contact-form input,
.contact-form textarea {
	color: #253238;
}

.rh_contact__form input::placeholder,
.rh_contact__form textarea::placeholder,
.contact-form input::placeholder,
.contact-form textarea::placeholder {
	color: #526168;
	opacity: 1;
}

.velas-home__intro a,
.velas-home__content a,
.velas-city-catalog__content a {
	text-decoration: underline;
	text-underline-offset: 2px;
}

.rh_view_type a {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
}

a:focus-visible,
button:focus-visible,
[role="button"]:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
	outline: 3px solid #005fcc !important;
	outline-offset: 3px;
}

.velas-home__hero-cta:hover,
.velas-home__hero-cta:focus-visible {
	color: #1d2933;
	background: #fff;
}

.velas-home__intro *,
.velas-home__content * {
	max-width: 100%;
	box-sizing: border-box;
}

.velas-home__intro p,
.velas-home__content p,
.velas-home__intro li,
.velas-home__content li,
.velas-home__intro .western,
.velas-home__content .western {
	width: auto !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	font-family: inherit !important;
	font-size: 16px !important;
	line-height: 1.7 !important;
	letter-spacing: 0 !important;
	text-indent: 0 !important;
	overflow-wrap: anywhere;
}

.velas-home__intro h1,
.velas-home__intro h2,
.velas-home__content h1,
.velas-home__content h2 {
	color: var(--velas-ink);
	font-family: inherit !important;
	line-height: 1.25 !important;
	letter-spacing: 0 !important;
}

.velas-home__body,
.velas-city-catalog {
	padding-top: 32px;
	padding-bottom: 56px;
}

.velas-home__intro,
.velas-home__content,
.velas-home__properties,
.velas-city-catalog__intro,
.velas-city-catalog__results {
	margin-bottom: 24px;
}

.velas-home__intro,
.velas-home__content {
	padding: 24px;
	background: var(--velas-surface);
	border: 1px solid var(--velas-line);
}

.velas-home__title {
	margin: 0 0 18px;
	color: var(--velas-ink);
	font-size: 30px;
	line-height: 1.25;
}

.velas-home .rh-ultra-grid-box,
.velas-city-catalog .rh-ultra-list-box {
	align-items: stretch;
}

.velas-home .rh-ultra-grid-card,
.velas-city-catalog .rh-ultra-list-card {
	height: 100%;
}

.velas-home .rh_prop_card__excerpt {
	overflow-wrap: anywhere;
	word-break: break-word;
}

@media (min-width: 1140px) {
	body.home.design_modern .rh_header_var_1 {
		position: relative;
		background-color: #fff;
	}

	body.home.design_modern .velas-home__search {
		min-height: 96px;
		background-color: #fff;
		z-index: 10;
	}

	body.home.design_modern .velas-home__search .rh_prop_search__form {
		position: relative !important;
		top: auto !important;
		bottom: auto !important;
		transform: none !important;
	}

	body.home.design_modern .velas-home__body {
		padding-top: 40px;
	}
}

@media (max-width: 767px) {
	body.design_modern .rh_prop_search__form .rh_prop_search__fields,
	body.design_modern .rh_prop_search__form .rh_prop_search__wrap {
		width: 100% !important;
		max-width: none;
	}

	body.design_modern .rh_prop_search__form .rh_form_fat_top_fields,
	body.design_modern .rh_prop_search__form_smart .rh_form_smart_top_fields,
	body.design_modern .rh_prop_search__form .rh_form_fat_collapsed_fields_container,
	body.design_modern .rh_prop_search__form_smart .rh_form_smart_collapsed_fields {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		align-items: stretch;
		width: 100%;
	}

	body.design_modern .rh_prop_search__form .rh_form_fat_top_fields > .rh_prop_search__option,
	body.design_modern .rh_prop_search__form_smart .rh_form_smart_top_fields > .rh_prop_search__option,
	body.design_modern .rh_prop_search__form .rh_form_fat_collapsed_fields_container > .rh_prop_search__option,
	body.design_modern .rh_prop_search__form_smart .rh_form_smart_collapsed_fields > .rh_prop_search__option {
		width: auto !important;
		min-width: 0;
		min-height: 78px;
		padding: 12px 14px !important;
		box-sizing: border-box;
	}

	body.design_modern .rh_prop_search__form .rh_prop_search__option label,
	body.design_modern .rh_prop_search__form_smart .rh_prop_search__option label {
		margin-bottom: 5px;
		font-size: 13px;
		line-height: 1.25;
		letter-spacing: 0;
	}

	body.design_modern .rh_prop_search__form .rh_mod_text_field input,
	body.design_modern .rh_prop_search__form_smart .rh_mod_text_field input,
	body.design_modern .rh_prop_search__form .select2-selection__rendered,
	body.design_modern .rh_prop_search__form_smart .select2-selection__rendered {
		min-width: 0;
		padding-right: 20px !important;
		padding-left: 0 !important;
		font-size: 13px !important;
		line-height: 1.35;
	}

	body.design_modern .rh_prop_search__form .bootstrap-select > .dropdown-toggle,
	body.design_modern .rh_prop_search__form_smart .bootstrap-select > .dropdown-toggle {
		padding-right: 12px !important;
		padding-left: 12px !important;
	}

	body.design_modern .rh_prop_search__form .bootstrap-select .filter-option,
	body.design_modern .rh_prop_search__form_smart .bootstrap-select .filter-option {
		padding-right: 18px !important;
	}

	body.design_modern .rh_prop_search__form .bootstrap-select .filter-option-inner-inner,
	body.design_modern .rh_prop_search__form_smart .bootstrap-select .filter-option-inner-inner {
		font-size: 13px !important;
	}

	body.design_modern .rh_prop_search__form .rh_prop_search__buttons,
	body.design_modern .rh_prop_search__form_smart .rh_prop_search__buttons_smart {
		width: 100% !important;
	}

	body.design_modern .rh_prop_search__form .rh_prop_search__btnWrap,
	body.design_modern .rh_prop_search__form_smart .rh_prop_search__btnWrap {
		display: grid !important;
		grid-template-columns: 72px minmax(0, 1fr);
		width: 100%;
	}

	body.design_modern .rh_prop_search__form .rh_prop_search__advance,
	body.design_modern .rh_prop_search__form .rh_prop_search__searchBtn,
	body.design_modern .rh_prop_search__form_smart .rh_prop_search__advance,
	body.design_modern .rh_prop_search__form_smart .rh_prop_search__searchBtn {
		width: auto !important;
		min-width: 0;
	}

	body.design_modern .rh_prop_search__form .rh_prop_search__advance,
	body.design_modern .rh_prop_search__form_smart .rh_prop_search__advance {
		grid-row: 1;
		grid-column: 1;
	}

	body.design_modern .rh_prop_search__form .rh_prop_search__searchBtn,
	body.design_modern .rh_prop_search__form_smart .rh_prop_search__searchBtn {
		grid-row: 1;
		grid-column: 2;
	}

	body.design_modern .rh_prop_search__form .rh_prop_search__advance_btn,
	body.design_modern .rh_prop_search__form .rh_btn__prop_search,
	body.design_modern .rh_prop_search__form_smart .rh_prop_search__advance_btn,
	body.design_modern .rh_prop_search__form_smart .rh_btn__prop_search {
		width: 100%;
		min-width: 0;
		box-sizing: border-box;
	}

	.velas-home__hero,
	.velas-home__hero-image {
		min-height: 390px;
		max-height: 460px;
	}

	.velas-home__hero-image {
		object-position: 58% center;
	}

	.velas-home__hero-inner {
		align-items: flex-end;
		padding: 38px 20px;
	}

	.velas-home__hero-title {
		font-size: 32px;
		line-height: 1.16;
	}

	.velas-home__hero-text {
		font-size: 17px;
		line-height: 1.5;
	}

	.velas-home__search {
		padding: 18px 0 0;
	}

	.velas-city-catalog {
		padding-top: 20px;
		padding-bottom: 36px;
	}

	.velas-home__body {
		padding-top: 20px;
		padding-bottom: 36px;
	}

	.velas-city-catalog__intro,
	.velas-home__intro,
	.velas-home__content {
		padding: 18px;
	}

	.velas-city-catalog__title {
		font-size: 25px;
	}

	.velas-home__title {
		font-size: 25px;
	}

	.velas-city-catalog .arrow-bullet-list {
		grid-template-columns: 1fr;
	}
}

/* Reserve verified media geometry before remote images finish loading. */
.rh_logo img[src*="/lvp3rub.svg"],
.rh_logo_inner img[src*="/lvp3rub.svg"],
.rh_var2_logo img[src*="/lvp3rub.svg"],
.rh_var_logo img[src*="/lvp3rub.svg"] {
	width: 207.13px;
	height: 58px;
	aspect-ratio: 708.66 / 198.43;
}

.rh_logo img[src*="/logovel.jpg"],
.rh_logo_inner img[src*="/logovel.jpg"],
.rh_var2_logo img[src*="/logovel.jpg"],
.rh_var_logo img[src*="/logovel.jpg"] {
	width: 195.19px;
	height: 58px;
	aspect-ratio: 350 / 104;
}

#property-detail-flexslider .flexslider {
	aspect-ratio: 830 / 323;
}

#property-detail-flexslider .slides img {
	width: 100%;
	height: auto;
	aspect-ratio: 830 / 323;
}

/* Override stronger legacy contact and inline-content colors. */
#contact-form .contact-form input::placeholder,
#contact-form .contact-form textarea::placeholder {
	color: #526168 !important;
	opacity: 1;
}

#contact-form .contact-form input,
#contact-form .contact-form textarea {
	color: #526168 !important;
}

#contact-form .contact-form #submit-button {
	background: #9d382d !important;
	color: #fff !important;
}

.velas-home__intro [style*="#808080"],
.velas-home__content [style*="#808080"] {
	color: #4f5f66 !important;
}

@media (max-width: 1139px) {
	.rh_logo img[src*="/lvp3rub.svg"],
	.rh_logo_inner img[src*="/lvp3rub.svg"],
	.rh_var2_logo img[src*="/lvp3rub.svg"],
	.rh_var_logo img[src*="/lvp3rub.svg"] {
		width: 175.98px;
		height: 49.28px;
	}

	.rh_logo img[src*="/logovel.jpg"],
	.rh_logo_inner img[src*="/logovel.jpg"],
	.rh_var2_logo img[src*="/logovel.jpg"],
	.rh_var_logo img[src*="/logovel.jpg"] {
		width: 168.27px;
		height: 50px;
	}
}

@media (max-width: 767px) {
	/* RealHomes reveals this form on document-ready; reserve its final box now. */
	.inspiry_show_on_doc_ready.rh_prop_search {
		display: block !important;
		height: 272.84px;
		overflow: hidden;
	}

	.inspiry_show_on_doc_ready.rh_prop_search:not([style*="display: block"]) {
		visibility: hidden;
	}

	.velas-city-catalog > .velas-home__search {
		height: 290.84px;
		overflow: hidden;
	}

	.rh_logo img[src*="/lvp3rub.svg"],
	.rh_logo_inner img[src*="/lvp3rub.svg"],
	.rh_var2_logo img[src*="/lvp3rub.svg"],
	.rh_var_logo img[src*="/lvp3rub.svg"] {
		width: 132px;
		height: 36.95px;
	}

	.rh_logo img[src*="/logovel.jpg"],
	.rh_logo_inner img[src*="/logovel.jpg"],
	.rh_var2_logo img[src*="/logovel.jpg"],
	.rh_var_logo img[src*="/logovel.jpg"] {
		width: 132px;
		height: 39.22px;
	}
}
