/* 
Theme Name: Suasa Real Estate
Theme URI: https://www.suasarealestate.com
Description: Suasa Real Estate is a WordPress theme for real estate websites.
Author: Wonderworxs
Author URI: https://wonderworxs.com
Template: hello-elementor
Version: 1.0.0
Text Domain: suasa
License: Proprietary - All Rights Reserved
License URI: https://www.suasarealestate.com
*/

:root {
  --viewport-height: 100%;
}

.hidden,
.saved-search-wrap {
	display: none;
}

img{pointer-events: none !important}

.desktop-layout .elementor-sticky__spacer:not(.header-spacing) {
	--position: absolute;
}

.elementor .desktop-layout header.elementor-element.elementor-sticky--effects {
	background-color: var(--e-global-color-text);
}

.elementor-grid .e-loop-item {
	min-width: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin-block-start: 0;
	margin-block-end: 0;
}

.elementor-widget-text-editor h1,
.elementor-widget-text-editor h2,
.elementor-widget-text-editor h3,
.elementor-widget-text-editor h4,
.elementor-widget-text-editor h5,
h6 {
	margin-block-start: 0.5rem;
	margin-block-end: 0.5rem;
}

p:last-child {
	margin-bottom: 0;
}

.whitespace-nowrap {
	white-space: nowrap;
}

.aspect-square,
.aspect-square * {
	aspect-ratio: 1;
}

.aspect-thumbnail {
	aspect-ratio: 4/3;
}

.aspect-blog-featured img {
	aspect-ratio: 16/7;
}

img{pointer-events: none !important}

.elementor-widget-image a {
	display: block;
}

.whistlist {
	display: flex;
	align-items: center;
	gap: 5px;
	text-decoration: none;
}
.whistlist-count-wrap {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 25px;
	width: 25px;
	font-size: 14px;
	background-color: white;
	border-radius: 50%;
	color: #000;
	line-height: 1;
}

/* Global Search Form */

input,
select,
button {
	font-family: var(--e-global-typography-text-font-family), Sans-serif;
}
.global-search {
	display: flex;
	align-items: center;
	border: 1px solid rgba(255, 255, 255, 0.5);
	padding: 10px 15px;
	background-color: rgba(255, 255, 255, 0.1);
	width: fit-content;
	font-family: sans-serif;
	color: white;
}

.gs-heading h2 i {
	font-family: var(--e-global-typography-secondary-font-family), Sans-serif;
}

.gs-select-wrapper {
	position: relative;
	margin-right: 15px;
}

.gs-select {
	background: transparent;
	border: none;
	color: white;
	line-height: 1;
	appearance: none;
	padding-right: 20px;
	padding-left: 5px;
	z-index: 2;
	position: relative;
}

img{pointer-events: none !important}

.gs-select option {
	background-color: #fff;
	color: #000;
}

.gs-select:focus {
	outline: none;
}

.gs-select[name=area] {
	width: 90px;
}
.gs-select[name=term] {
	width: 65px;
}
.gs-select[name=bedroom] {
	width: 125px;
}
@media (max-height: 670px) {
	.m-villa-contact {
		max-height: calc(100vh - 250px)
	}
}

.gs-select-icon {
	position: absolute;
	right: 5px;
	top: 50%;
	pointer-events: none;
	transform: translateY(-50%);
	z-index: 1;
}

.gs-divider {
	width: 1px;
	height: 30px;
	background-color: rgba(255, 255, 255, 0.5);
	margin-right: 15px;
}

.gs-discover-btn {
	background: transparent;
	border: none;
	color: white;
	cursor: pointer;
}

.gs-discover-btn:hover {
	background-color: #fff;
	color: black;
}

/* Testimonials */

.swiper-fraction {
	text-align: center;
	font-family: "Montserrat", Sans-serif;
	font-size: 20px;
}

html:not(.elementor-html) #sb_instagram #sbi_images,
html:not(.elementor-html) #sb_instagram #sbi_images .sbi_item.sbi_num_diff_hide {
	display: block !important;
}

html:not(.elementor-html) #sb_instagram #sbi_images .sbi_item {
	display: block;
}

.partners-logo .elementor-image-carousel {
	align-items: center;
}

.header-widget {
	width: 950px;
}

.whistlist .whistlist-label svg {
	display: none;
}

.whistlist .whistlist-label > span,
.whistlist .whistlist-count {
	display: flex;
}

.refid-search input {
	line-height: 1;
	padding: 8px 15px;
	font-size: 15px;
	background-color: rgba(255, 255, 255, 0.15);
	border: 1px solid transparent;
	color: #96786e;
}
.refid-search input::placeholder {
	color: #96786e;
}
.refid-search input:focus {
	outline: 0;
	border-color: #96786e;
}

.refid-search .search-icon {
	display: none;
}

@media (max-width: 768px) {
	.refid-search {
		display: flex;
		align-items: center;
		background: #fff;
		border-radius: 9999px;
		box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
		width: 100%;
		transition: all 0.3s ease;
		position: relative;
		overflow: hidden;
	}
	.refid-search .search-icon {
		display: block;
		position: absolute;
		left: 38%;
		width: 15px;
		margin-right: 10px;
		transition: transform 0.3s ease;
	}
	.refid-search input {
		border: none;
		outline: none;
		font-size: 12px;
		text-align: center;
		flex: 1;
		background: transparent;
	}
	.refid-search input:focus + .search-icon,
	.refid-search input:not(:placeholder-shown) + .search-icon {
		transform: translateX(-30px);
	}
	.refid-search:has(input:focus) .search-icon {
		transform: translateX(-30px);
	}
}

.m-global-search {
	margin-top: 15px;
	display: flex;
	justify-content: center;
	gap: 7px;
	align-items: center;
}

.m-global-search .field-group {
	display: flex;
	align-items: center;
	padding-right: 17px;
	position: relative;
}

.m-global-search .field-group svg {
	position: absolute;
	right: 0;
}

.m-global-search select,
.m-global-search input {
	color: black;
	width: auto;
	padding: 0 0 0 7px;
	border: 0;
	border-left: 1px solid #ccc;
	height: 20px;
	min-height: 0;
	line-height: 1;
	background-color: transparent;
	font-size: 12px;
	outline: 0;
	border-radius: 0;
	-webkit-appearance: none;
	appearance: none;
}

.m-global-search input[type="submit"] {
	color: black;
	text-decoration: underline;
}

.m-global-search input[type="submit"]:hover {
	background-color: transparent;
}

.m-global-search select:first-child {
	border-left: 0;
	padding: 0 0 0 0;
}

#bottom {
	height: 70px;
}

.elementor .elementor-element.m-menu .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item {
	padding-left: 15px;
}

.has-blur {
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

.m-menu {
	transform: translateX(100%);
  transition: all 0.3s ease;
}

.m-contact {
	transform: translateY(100%);
  transition: all 0.3s ease-in-out;
}

.m-villa-contact:not(.active) {
  pointer-events: none;
}

.m-menu.active,
.m-contact.active {
	transform: translate(0, 0);
}
.m-villa-contact-trigger {
  cursor: pointer;
  user-select: none;
}

.m-villa-contact {
	opacity: 0;
  transform: translateY(-30px);
  transition: all 0.3s ease-in-out;
	pointer-events: none;	
	position: absolute;
}

.m-villa-contact.active {
	opacity: 1;
  transform: translateY(0);
	pointer-events: auto;
}

.suasa-listing-items {
	display: flex;
	flex-direction: column;
}

.suasa-listing-items .suasa-listing-image {
	overflow: hidden;
}

.swiper-horizontal > .swiper-progress {
	top: inherit;
	bottom: 10px;
	right: 10px;
	left: 10px;
	z-index: 9;
	background: rgba(255, 255, 255, 0.5);
	width: auto;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
	background: #fff;
}

.suasa-listing-image a {
	display: flex;
	height: 100%;
	width: 100%;
}

.suasa-listing-image img {
	width: 100%;
}

.suasa-listing-loader {
	display: flex;
	justify-content: center;
	padding: 30px 0;
}

.suasa-listing-loader svg {
	width: 30px;
	height: 30px;
}

.suasa-listing-area-list a:hover {
	text-decoration: underline;
}

.suasa-listing-meta {
  display: flex;
  column-gap: 15px;
  flex-wrap: wrap;
  row-gap: 2px
}
.suasa-listing-meta > span {
  width: calc(50% - 10px);
  display: flex;
  align-items: center;
  gap: 5px
}
.suasa-listing-meta > span svg {
  width: 19px;
  height: 19px;
}
.suasa-listing-meta > span svg.icon-residential-zoning path {
  fill: black
}

.suasa-listing-meta > span svg g {
  stroke: black
}

/**
 * Swiper Text Widget
 */

.swiper_text-wrapper {
	display: flex;
	flex-direction: column;
	gap: 60px;
	margin-top: 60px;
}

.swiper_text-swiper {
	position: relative;
}

.swiper_text-buttons {
	position: absolute;
	left: 0;
	right: 0;
	top: calc(307px / 2 - 12.5px);
	display: flex;
	justify-content: space-between;
	z-index: 9;
}

.swiper_text-buttons svg {
	width: 25px;
	height: 25px;
	fill: #4a4a4a;
}

@media (max-width: 1320px) {
	.whistlist .whistlist-label {
		width: 100%;
		display: flex;
		align-items: center;
	}
	.whistlist .whistlist-label svg {
		display: block;
	}
	.whistlist .whistlist-label > span,
	.whistlist .whistlist-count-wrap {
		display: none;
	}
	.header-widget {
		width: 700px;
		--widgets-spacing: 10px 10px;
		--widgets-spacing-row: 10px;
		--widgets-spacing-column: 10px;
	}
	.elementor-element .elementor-element.header-book .elementor-button {
		padding: 10px;
	}
}

@media (max-width: 1250px) {
	.elementor .elementor-element.home-blog {
		--padding-left: 60px;
		--padding-right: 60px;
	}
}

@media (max-width: 1177px) {
	header .elementor-element ul.elementor-nav-menu .elementor-item {
		margin: 0 7px;
	}
}

@media (min-width: 1024px) and (max-width: 1180px) {
	.elementor-14027 .elementor-element.elementor-element-e6ba3fc img {
		width: 150px;
	}
}

@media (max-width: 1136px) {
	header .elementor-element ul.elementor-nav-menu .elementor-item {
		margin: 0 8px;
	}
	.elementor header .elementor-element.elementor-element-6c350c2 ul.elementor-nav-menu .elementor-item,
	.header-book *,
	.elementor-45276 .elementor-element.elementor-element-4519a4e .suasa-currency-switcher select {
		font-size: 13px;
	}
}

.mobile-layout {
	display: none !important;
}

@media (min-width: 1024px) {
	.hide-desktop {
		display: none !important;
	}
}

@media (min-width: 1024px) and (max-width: 1190px) {
	.elementor-45276 .elementor-element.elementor-element-e7d624a img {
		width: 150px;
	}
}

@media (min-width: 1024px) and (max-width: 1120px) {
	.elementor-widget-n-menu .e-n-menu-heading {
		--n-menu-title-space-between: 12px
	}
	.e-con.e-con>.e-con-inner>.elementor-widget, .elementor.elementor .e-con>.elementor-widget.elementor-widget-suasa-currency-switcher {
		max-width: 50px;
		padding: 10px 0;
	}
	.elementor-45276 .elementor-element.elementor-element-4519a4e .suasa-currency-switcher select {
		padding: 7px 0;
	}
}

@media (max-width: 1023px) {
	.hide-tablet {
		display: none !important;
	}
}

@media (max-width: 767px) {
	.desktop-layout,
	.hide-mobile {
		display: none !important;
	}
	.mobile-layout {
		display: block !important;
	}
	.swiper_text-wrapper {
		gap: 30px;
		margin-top: 30px;
	}
}

#suasa-install-banner {
	position: fixed;
	bottom: 80px;
	left: 50%;
	transform: translateX(-50%);
	background-color: #fff;
	border-radius: 10px;
	z-index: 999991;
	width: 324px;
	box-shadow: 0 0 15px rgba(0, 0, 0, 0.3);
	overflow: hidden;
	justify-content: space-between;
}
#suasa-install-banner > div {
	display: flex;
	align-items: center;
}
#suasa-install-banner > div > img {
	width: 50px;
	height: 50px;
}
#suasa-install-close {
	border: 0;
	outline: 0;
	width: 50px;
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #000;
	border-left: 1px solid #bbb;
	border-radius: 0;
}
#suasa-install-close:hover {
	background-color: #eee;
}
#suasa-install-text {
	padding: 0 10px 0 5px;
}
#suasa-install-text > small {
	display: flex;
	align-items: center;
	gap: 5px;
}
#suasa-install-text > small > svg {
	width: 17px;
	height: 17px;
}

/**
 * Blog CSS
 */

html:not(.elementor-html) .overlay-link {
	display: block;
	height: 100%;
}

.aspect-thumbnail a {
	display: flex;
	height: 100%;
	width: 100%;
}

.elementor-posts .elementor-post__card .elementor-post__text {
	margin: 0
}

.elementor-widget-theme-post-content img {
	display: block;
	width: 100%;
	margin: 30px 0
}

.elementor-widget-theme-post-content p {
	line-height: 1.3;
}

.elementor-widget-theme-post-content ul,
.elementor-widget-theme-post-content ol,
.elementor-widget-theme-post-content h1,
.elementor-widget-theme-post-content h2,
.elementor-widget-theme-post-content h3,
.elementor-widget-theme-post-content h4,
.elementor-widget-theme-post-content h5,
.elementor-widget-theme-post-content h6 {
	margin: 30px 0
}

@media (max-width: 1080px) {
	.aspect-blog-featured {
		aspect-ratio: 4/3;
	}
}

@media (max-width: 768px) {
	.blog-featured-content {
		position: static;
		background-color: #dddddd;
	}
	.blog-featured-content * {
		--e-global-color-secondary: var(--e-filter-normal-text-color);
	}
}

/**
 * Career
 */

* {
	outline: 0 !important;
}

.e-loop-item.career:not(:last-child) {
	position: relative;
	padding-bottom: 10px;
}

.e-loop-item.career .elementor-heading-title {
	position: relative;
}

.e-loop-item.career:not(:last-child):after {
	height: 1px;
	content: "";
	display: block;
	bottom: 0;
	left: 0;
	right: 0;
	position: absolute;
	background: linear-gradient(to right, transparent, black, transparent);
}

@media (min-width: 768px) {
	.e-loop-item.career .elementor-widget-container > h3.elementor-heading-title:after {
		content: "";
		width: 1px;
		display: block;
		position: absolute;
		right: 0;
		top: 0;
		bottom: 0;
		background: linear-gradient(to bottom, transparent, black, transparent);
	}
}

/**
 * Suare Area Items
 */

.suasa-area-item a:hover {
	text-decoration: underline;
}

/* Price on Request Styling */
.price-on-request,
.price-unavailable {
	color: #888;
	font-style: italic;
	font-weight: 500;
}

.villa-card .price-on-request,
.villa-card .price-unavailable {
	color: #666;
	font-size: 16px;
}

.swiper-lazy-preloader-white {
	--swiper-preloader-color: var( --e-global-color-accent )
}

/**
 * Villa grid
 */

 .suasa-villas-widget {
	width: 100%;
}

.suasa-results-count {
	margin-bottom: 60px;
	border-radius: 4px;
	font-size: 14px;
	text-align: center
}
.search-criteria {
	color: #666
}
.results-count,
.results-text-wishlist {
	font-size: 200%;
}

.suasa-villas-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
}

.suasa-pagination {
	margin-top: 40px;
}

img{pointer-events: none !important}

.suasa-pagination > * {
	display: inline-block;
	padding: 7px 12px;
}
.elementor-14030 .elementor-element.elementor-element-ba7da09 .suasa-pagination a:hover {
	opacity: .9;
	border-color: var( --e-global-color-accent )
}

@media (max-width: 1024px) {
	.suasa-villas-grid {
			grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 768px) {
	.suasa-villas-grid {
			grid-template-columns: 1fr;
	}
}

.no-villas-found {
	text-align: center;
	padding: 60px 20px;
	background: #f8f9fa;
	border-radius: 8px;
	color: #666;
}

@keyframes spin {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

.suasa-villas-loading {
	text-align: center;
	padding: 40px;
}

.suasa-villas-loading:after {
	content: "";
	display: inline-block;
	width: 30px;
	height: 30px;
	border: 3px solid #f3f3f3;
	border-top: 3px solid #007cba;
	border-radius: 50%;
	animation: spin 1s linear infinite;
}

/* Skeleton Loader Styles */
.suasa-skeleton-card {
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 1px 4px rgba(0,0,0,0.03);
	padding: 0;
	display: flex;
	flex-direction: column;
	min-height: 220px;
}
.suasa-skeleton-image {
	aspect-ratio: 4/3;
	background: linear-gradient(90deg, #ececec 25%, #f5f5f5 50%, #ececec 75%);
	background-size: 200% 100%;
	border-radius: 8px 8px 0 0;
	animation: suasa-skeleton-loading 1.2s infinite linear;
}
.suasa-skeleton-content {
	padding: 16px;
	flex: 1;
}
.suasa-skeleton-line {
	height: 14px;
	background: linear-gradient(90deg, #ececec 25%, #f5f5f5 50%, #ececec 75%);
	background-size: 200% 100%;
	border-radius: 4px;
	margin-bottom: 10px;
	animation: suasa-skeleton-loading 1.2s infinite linear;
}

img{pointer-events: none !important}

.suasa-skeleton-title { width: 70%; height: 18px; margin-bottom: 12px; }
.suasa-skeleton-meta { width: 40%; }
.suasa-skeleton-price { width: 50%; height: 16px; margin-bottom: 0; }
@keyframes suasa-skeleton-loading {
	0% { background-position: 200% 0; }
	100% { background-position: -200% 0; }
}

/**
 * Whistlist btn
 */
.toast {
  position: fixed;
  bottom: 60px;
  left: 50%;
  background: #333;
  color: #fff;
  padding: 20px 30px;
  border-radius: 6px;
  margin-top: 8px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s, transform 0.3s;
	white-space: nowrap;
  transform: translateY(20px) translateX(-50%);
  z-index: 9999;
}
.toast.show {
  opacity: 1;
  transform: translateY(0) translateX(-50%);
}
.suasa-listing-image {
	position: relative;
}
.whistlist-btn {
	position: absolute;
	right: 15px;
	top: 15px;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	display: none;
	align-items: center;
	justify-content: center;
	background-color: #fff;
	z-index: 9;
	cursor: pointer;
	padding: 0;
	color: #000;
	transition: .1s ease-in;
	border: 0;
	outline: 0
}
.suasa-map-infowindow .whistlist-btn {
	left: 15px;
	right: inherit;
}
.whistlist-btn.active {
	display: flex;
}
.whistlist-btn:focus {
	background-color: #fff;
	color: #000;
}
.whistlist-btn.is-wishlisted,
.whistlist-btn:hover {
	color: #FFF;
	background-color: var( --e-global-color-accent );
}
.whistlist-btn svg {
	height: 25px;
	width: 25px;
	margin-top: 1px;
}

/**
 * Suasa listing fraction
 */

 .suasa-listing-image-count {
	position: absolute;
	bottom: 20px;
	right: 10px;
	z-index: 1;
	border-radius: 4px;
	background-color: rgba(0,0,0,0.7);
	color: #FFF;
	width: 40px;
	height: 25px;
	font-size: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}
.image-count-current {
	display: block;
	width: 30px;
	text-align: center
}
.suasa-listing-image-count-text {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	font-size: 14px;
	color: #222;
	background-color: #FFF;
	padding: 10px 10px;
	border-radius: 20px;
	z-index: 1;
	display: none;
	pointer-events: none;
}

.suasa-listing-swiper .swiper-button-prev,
.suasa-listing-swiper .swiper-button-next,
.suasa-listing-swiper .swiper-button-prev:hover,
.suasa-listing-swiper .swiper-button-next:hover {
	display: none;
	background-color: #fff;
	color: #000;
	height: 40px;
	width: 40px;
}
.swiper-button-next::after, .swiper-button-prev::after {
	font-size: 14px;
}
.suasa-listing-swiper:hover .swiper-button-prev,
.suasa-listing-swiper:hover .swiper-button-next {
	display: flex;
}
.swiper-button-disabled {
	display: none !important;
}
.suasa-listing-swiper .swiper-button-prev {
	left: 10px;
}
.suasa-listing-swiper .swiper-button-next {
	right: 10px;
}

/**
 * Suasa listing summary
 */

.suasa-search-summary {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 40px;
}
.suasa-search-sort,
.suasa-search-total {
	display: flex;
	white-space: nowrap;
	width: 260px;
	user-select: none;
}
.suasa-search-sort > p,
.suasa-search-total > p {
	margin: 0;
	display: flex;
	background-color: var(--e-global-color-text);
	padding: 10px;
	font-size: 14px;
	color: var(--e-global-color-secondary);
}
.suasa-search-sort {
	justify-content: flex-start;
}
.suasa-search-total {
	justify-content: flex-end;
}
.suasa-search-sort > select,
.suasa-search-total > select {
	width: auto;
	border-radius: 0;
	font-size: 14px;
	border: 1px solid var(--e-global-color-text);
}

/**
 * Elementor lightbox
 */
body.admin-bar .dialog-lightbox-widget {
	height: 100vh;
}
.dialog-type-lightbox:not(.elementor-popup-modal.dialog-type-lightbox) {
	z-index: 999999;
	background-color: white !important;
	--lightbox-ui-color: black !important;
	--lightbox-ui-color-hover: #444 !important;
}
.elementor-lightbox .elementor-swiper-button-next, .elementor-lightbox .elementor-swiper-button-prev {
	position: absolute;
	top: 50%;
	transform: translatey(-50%);
	width: 30px !important;
	z-index: 999
}

.elementor-button-icon .e-font-icon-svg {
	transition: all .3s;
}

/**
 * Custom Map Markers
 */
.suasa-custom-marker {
	position: relative;
	background: transparent;
	border: none;
	cursor: pointer;
	z-index: 10;
}

/* Map view styling */
body.suasa-listing-map {
	overflow: hidden;
}

.suasa-map-container {
	position: relative;
	z-index: 99;
	display: none;
}
.suasa-listing-map .suasa-villas-container,
.suasa-listing-map .area-banner-wrapper {
	display: none;
}
body.suasa-listing-map .suasa-map-container {
	display: block;
}

@media (max-width: 768px) {
	.suasa-listing-map .elementor-sticky__spacer {
		display: block;
	}
}

.suasa-marker-price {
	background: #000;
	border-radius: 20px;
	padding: 6px 12px;
	font-size: 12px;
	font-weight: 600;
	color: white;
	white-space: nowrap;
	box-shadow: 0 4px 4px rgba(0, 0, 0, 0.2);
	position: relative;
	text-align: center;
	line-height: 1.2;
	transition: all 0.3s ease;
}

.suasa-custom-marker:hover .suasa-marker-price {
	background: var(--e-global-color-accent);
	color: #ffffff;
	transform: scale(1.1);
}

.suasa-custom-marker:hover .suasa-marker-price::after {
	border-top-color: var(--e-global-color-accent);
}

.suasa-custom-marker:hover .suasa-marker-price::before {
	border-top-color: var(--e-global-color-accent);
}

.gm-style-iw-chr {
  height: 0;
}

.gm-style-iw {
	padding-left: 0 !important
}

.gm-style-iw-d {
	overflow: auto !important
}

button[aria-label="Close"] {
	display: none;
	position: absolute !important;
	right: 0 !important;
	background-color: #fff;
	opacity: 1 !important
}

button[aria-label="Close"]>span {
	background-color: #fff !important;
}

.suasa-map-infowindow {
	padding: 0;
	max-width: 250px;
	display: flex;
	flex-direction: column;
	gap: 0;
	align-items: center;
}

.suasa-map-infowindow img {
	width: 100%;
	height: 100px;
	object-fit: cover;
	object-position: center
}

.suasa-map-infowindow .infowindow-content {
	flex: 1;
	padding: 10px;
	font-family: var(--e-global-typography-text-font-family), Sans-serif;
    font-size: 12px;
    font-weight: var(--e-global-typography-text-font-weight);
    line-height: var(--e-global-typography-text-line-height);
	line-height: 1;
	display: flex;
	flex-direction: column;
	gap: 4px
}

.suasa-map-infowindow-price {
	font-size: 13px;
	font-weight: bold;
	letter-spacing: 0;
	color: black
}

.suasa-map-infowindow h3 a {
	color: #000;
	text-decoration: none;
	font-family: var(--e-global-typography-text-font-family), Sans-serif;
    font-size: 12px;
    font-weight: var(--e-global-typography-text-font-weight);
    line-height: var(--e-global-typography-text-line-height);
}

.suasa-map-infowindow h3 a:hover {
	text-decoration: underline;
}

.suasa-map-infowindow p {
	margin: 0;
}

.mobile-tabs,
.mobile-map-view {
	user-select: none;
}

/**
 * Mobile css
 */

 @media (max-width: 1258px) {
	.suasa-search-sort > p, .suasa-search-total > p,
	.suasa-search-sort > select, .suasa-search-total > select {
		font-size: 12px;
	}
	.results-count, .results-text-wishlist {
		line-height: 1;
	}
}
@media (max-width: 1030px) {
	.suasa-search-summary {
		flex-wrap: wrap;
	}
	.suasa-search-summary-inner {
		order: 1;
		width: 100%;
		margin-bottom: 40px;
	}
	.suasa-search-sort {
		order: 2
	}
	.suasa-search-total {
		order: 3
	}
}
@media (max-width: 768px) {
	.results-count, .results-text-wishlist {
		font-size: 150%;
	}
	.suasa-search-summary-inner {
		margin-bottom: 0;
	}
	.suasa-search-sort, .suasa-search-total {
		display: none;
	}
}

.map-view-card {
	display: flex;
}
.map-view-card-button {
	outline: 0 !important; 
	padding: 0;
	border: 1px solid #DDD;
	background-color: #fff !important;
	position: relative;
	overflow: hidden;
	border-radius: 20px;
	cursor: unset !important
}
.map-view-card-button img {
	height: 100%;
	width: 100%;
	object-fit: cover;
	object-position: center
}
.map-view-card-content {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}
.map-view-card-content span {
	display: flex;
	align-items: center;
	gap: 5px;
	padding: 10px 15px;
	background-color: #fff;
	border-radius: 20px;
	color: #000;
	box-shadow: 0 5px 10px rgba(0,0,0,0.3);
	cursor: pointer;
	font-family: "Inter", Sans-serif;
    font-size: 14px;
    font-weight: 500;
}
@media (max-width: 768px) {
	.map-view-card {
		display: none;
	}
}

.suasa-map-container .suasa-map-button {
	position: fixed;
	bottom: 20px;
	left: 50%;
	transform: translateX(-50%);
	box-shadow: 0 5px 10px rgba(0,0,0,0.3);
	border-radius: 20px;
	padding: 10px 15px;
	background-color: #fff;
}

.suasa-map-button,
.suasa-map-button:hover {
	z-index: 1;
	display: flex;
	align-items: center;
	gap: 10px;
	outline: 0;
	color: #000;
	border: 1px solid #DDD;
	cursor: pointer;
	font-family: "Inter", Sans-serif;
    font-size: 14px;
    font-weight: 500;
}
.suasa-map-button svg {
	width: 20px;
	height: 20px;
}

.no-x-padding {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

@media (max-width: 768px) {
	.suasa-villa-info-table .info-value {
		text-align: right
	}
}

/**
 * Contact Form
 */

 .elementor-widget.elementor-align-center.contact-list .elementor-inline-items {
	width: 100%;
	justify-content: space-between
}
.iti {
	display: block;
	width: 100%;
}
.iti button:hover,
.iti button:focus,
.iti button:active {
	outline: 0;
	background-color: inherit;
}
#form-field-message {
	min-height: 150px;
	padding-top: 15px;
}
.prefill-messages {
	position: absolute;
	top: 0;
	padding: 45px 14px 15px 14px;
	display: flex;
	gap: 5px;
	flex-wrap: wrap;
}
.prefill-messages button {
	margin: 0;
	padding: 4px;
	line-height: 1;
	font-size: 13px;
	border-color: white;
	color: white;
	background-color: rgba(0, 0, 0, 0.5);
	text-align: left;
	white-space: inherit !important;
}
.prefill-messages button:hover {
	background-color: #444;
}
.prefill-messages button:focus {
	background-color: inherit !important;
}

/**
 * Popup
 */

 .form-html {
	text-align: center
}
.iti--container {
  z-index: 9999991 !important;
}
.iti {
	display: block;
	width: 100%;
}
.iti button:hover,
.iti button:focus,
.iti button:active {
	outline: 0;
	background-color: inherit;
}

.iti input.iti__tel-input {
	display: block;
	width: 100%;
}

input[type="local-tel"] {
	border: 1px solid #666;
	border-radius: 3px;
	padding: .5rem 1rem;
	transition: all .3s;
	width: 100%;
}

.form-html h3 {
	font-size: 24px;
	margin-bottom: 10px;
}

.form-html button,
.form-html button:hover,
.form-html button:focus {
	border-radius: 30px;
	border-color: black;
	color: black;
	background-color: transparent;
}

.elementor-field-type-next {
	display: none;
}

.elementor-location-popup .elementor-field-group:not(.elementor-field-type-text):not(.elementor-field-type-tel):not(.elementor-field-type-local-tel) {
	justify-content: center;
	gap: 10px;
}

.elementor-field-subgroup {
	display: flex;
	gap: 10px;
	justify-content: center;
}

.elementor-field-subgroup:not(.elementor-subgroup-inline) .elementor-field-option {
	flex-basis: auto !important
}

.elementor-field-type-radio .elementor-field-subgroup .elementor-field-option input {
  display: none;
}

.elementor-field-type-radio .elementor-field-subgroup .elementor-field-option label {
  display: inline-block;
  padding: 12px 35px;
  background-color: transparent;
  color: black;
  font-family: sans-serif;
  font-size: 14px;
  border: 1px solid #555555;
  border-radius: 50px;
  cursor: pointer;
  text-align: center;
  transition: all 0.3s ease;
}

.elementor-46821 .elementor-element.elementor-element-7a09f40 .elementor-field-group .elementor-field:not(.elementor-select-wrapper) {
	background-color: transparent;
	color: black;
}

.elementor-field-type-previous {
	position: absolute;
	left: -40px;
	bottom: -60px;
	opacity: .5;
	transition: .2s ease-in
}

@media (max-width: 768px) {
	.elementor-field-type-previous {
		left: 50%;
		transform: translateX(-50%);
	}
}

.elementor-field-type-previous:hover {
	opacity: 1
}
.e-form__indicators__indicator:nth-of-type(1),
.e-form__indicators__indicator:nth-of-type(9) {
  display: none;
}
.e-form__indicators__indicator:nth-of-type(3) .e-form__indicators__indicator__number,
.e-form__indicators__indicator:nth-of-type(5) .e-form__indicators__indicator__number,
.e-form__indicators__indicator:nth-of-type(7) .e-form__indicators__indicator__number {
  color: transparent;
  border-color: var(--e-form-steps-indicator-inactive-primary-color,#c2cbd2);
  position: relative;
}
.e-form__indicators__indicator:nth-of-type(3) .e-form__indicators__indicator__number::before,
.e-form__indicators__indicator:nth-of-type(5) .e-form__indicators__indicator__number::before,
.e-form__indicators__indicator:nth-of-type(7) .e-form__indicators__indicator__number::before {
  content: "1";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  color:  var(--e-form-steps-indicator-inactive-primary-color,#c2cbd2);
}
.e-form__indicators__indicator--state-active .e-form__indicators__indicator__number,
.e-form__indicators__indicator--state-completed .e-form__indicators__indicator__number {
	border-color: black !important
}
.e-form__indicators__indicator--state-active .e-form__indicators__indicator__number::before,
.e-form__indicators__indicator--state-completed .e-form__indicators__indicator__number::before {
	color: black !important
}
.e-form__indicators__indicator:nth-of-type(5) .e-form__indicators__indicator__number {
  color: transparent;
  position: relative;
}
.e-form__indicators__indicator:nth-of-type(5) .e-form__indicators__indicator__number::before {
  content: "2";
}
.e-form__indicators__indicator:nth-of-type(7) .e-form__indicators__indicator__number {
  color: transparent;
  position: relative;
}
.e-form__indicators__indicator:nth-of-type(7) .e-form__indicators__indicator__number::before {
  content: "3";
}

#elementor-popup-modal-46980 {
	display: flex;
}
#elementor-popup-modal-46980 .dialog-widget-content {
	overflow: unset !important	
}
.dialog-close-button {
	margin-block-start: 0 !important
}

.pinned-villas {
	margin-bottom: 30px;
}

.pinned-badge {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 9;
  color: #FFF;
  background-color: rgba(0,0,0,0.7);
  border-radius: 4px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  font-size: 12px;
  padding: 5px 10px
}
.pinned-badge svg {
  width: 18px;
  height: 18px;
}
.suasa-listing-image {
  border-bottom: 0 !important
}
.pinned-villas .suasa-listing-image,
.pinned-villas .suasa-listing-content {
  border-color: var( --e-global-color-accent ) !important;
}

/* Villa Map Widget Styles */
.suasa-villa-map-widget {
    position: relative;
    width: 100%;
}

.suasa-villa-map-container {
    position: relative;
    width: 100%;
    height: 400px;
    background-color: #f5f5f5;
    border-radius: 8px;
    overflow: hidden;
}

.suasa-villa-map-loading {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
    background-color: rgba(255, 255, 255, 0.9);
    padding: 15px 20px;
    border-radius: 6px;
    font-family: var(--e-global-typography-text-font-family), Sans-serif;
    font-size: 14px;
    color: #666;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    text-align: center;
}

/* Ensure map fills container properly */
.suasa-villa-map-container .gm-style {
    border-radius: inherit;
}

.suasa-villa-map-container .gm-style > div:first-child {
    border-radius: inherit;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .suasa-villa-map-container {
        height: 300px;
    }
}

@media (max-width: 480px) {
    .suasa-villa-map-container {
        height: 250px;
    }
    
    .suasa-villa-map-loading {
        padding: 10px 15px;
        font-size: 13px;
    }
}

.home-testimonials .swiper-wrapper {
  align-items: start !important;
  transition: .1s ease-in-out
}

.main-gs > .elementor-widget-container {
  display: flex;
  gap: 20px;
}
a.suasa-map-button,
a.suasa-map-button:hover {
  gap: 5px;
  white-space: nowrap;
  padding: 0px 10px;
  height: 34px;
  line-height: 34px;
  border-radius: 4px;
  background-color: #96786e;
  color: white;
  border-color: #96786e;
}
.elementor-186 .elementor-element button.suasa-search-submit {
  transition: .2s ease-in-out
}
.elementor-186 .elementor-element button.suasa-search-submit:hover {
  background-color: #262626;
  border-color: #262626;
  color: white
}
#sb_instagram .owl-nav {
  display: none !important
}
.suasa-villa-description-toggle,
.suasa-villa-description-toggle:hover,
.suasa-villa-description-toggle:focus {
  padding: 0;
  background-color: #fff;
  border: 0;
  color: black;
  text-decoration: underline !important;
  font-size: var(--e-global-typography-text-font-size);
}

.suasa-area-info {
  padding: 15px;
  text-align: center
}
.suasa-area-info b {
  font-weight: bold;
}
.elementor-widget-suasa_map_area [aria-label="Close"] {
  display: none !important;
}

.single-post .elementor-widget-theme-post-content a {
  text-decoration: underline
}
img{pointer-events: none !important}