/* ============================================================================
   CLEANUP CHANGELOG  (most recent first)
   ----------------------------------------------------------------------------
   2026-06-26  De-duplication pass (no style changes intended)
     - ROOT-CAUSE FIX (in functions.php, not here): child-custom.css was being
       printed BEFORE child-default because block [03] re-enqueues child-default
       at PHP_INT_MAX. The custom enqueue was moved into that same function so it
       now prints LAST. This is why so many rules previously needed !important.
     - Removed the bootstrap-select / submit-form dropdown block, which was
       duplicated THREE times (~420 lines). Kept ONE copy of the rules plus the
       ENHANCED scroll-arrow version (the "half-row peek" fade-band + taller
       arrow). The two older plain-arrow copies were discarded.
     - Removed a duplicate .grecaptcha-badge block (kept the fuller one).
     - Removed a duplicate ::-webkit-calendar-picker-indicator block (identical).
     - All 286 unique selectors verified still present. Braces balanced.
     - !important flags were INTENTIONALLY LEFT IN. Now that load order is fixed
       most are redundant, but they must be stripped empirically (a few at a
       time, reload, check) — see child-custom-IMPORTANT-strip-guide.md.
   ============================================================================ */

/* ============================================================================
   REALHOMES CHILD THEME — CUSTOM CSS
   ============================================================================
   File: /wp-content/themes/realhomes-child/css/child-custom.css

   HOW THIS FILE IS ORGANISED
   --------------------------
   Sections are grouped by feature/component and labelled with a "===" banner
   so you can jump between them with your editor's search (Ctrl/Cmd+F).

   Quick index — search for the bracketed code to jump to a section:
     [01] PAGE-SPECIFIC BACKGROUNDS
     [02] ELEMENTOR — BUTTONS
     [03] ELEMENTOR — ACCORDION
     [04] SECTION TITLES (RealHomes section head)
     [05] NAV — "Submit" menu item AI-stars badge
     [06] KLARO COOKIE NOTICE
     [07] GTRANSLATE LANGUAGE SWITCHER
     [08] MYLIVECHAT BUBBLE
     [09] FEATURE ICONS
     [10] CTA / PARALLAX BACKGROUNDS
     [11] FOOTER — NEWSLETTER (WPForms)
     [12] FOOTER — CHILD CTA BAR (animated hand/stars)
     [13] SCROLL-TO-TOP BUTTON
     [14] CONTACT PAGE — MAP, DETAILS, SOCIAL LINKS

   MIGRATION / MULTI-SUBDOMAIN NOTES (read before copying to a new site)
   --------------------------------------------------------------------------
   - Section [07] contains a HARDCODED absolute URL to
       https://propertyboutique.es/.../en-default.png
     This MUST be changed (or made relative) on each new subdomain or the
     English flag image will 404.
   - Section [10] mixes media.propertyboutique.es and cdn.propertyboutique.es.
     Project notes say all media should route through cdn. — review.
   - A few invalid properties are flagged inline with  "INVALID" — the browser
     silently ignores them, so they're harmless but pointless.
   ============================================================================ */


/* ============================================================================
   [01] PAGE-SPECIFIC BACKGROUNDS
   Transparent / coloured backgrounds keyed to specific page IDs.
   page-id-19299 / 19294 : transparent blog/section wrappers
   page-id-19159         : contact page (white form card on grey background)
   ============================================================================ */


/* ---- PB QR codes ---- */
.pb-qr img {
	display: block;
	height: auto;
	max-width: 100%;
}

.pb-qr--top {
	margin-left: auto;
	align-self: center;
	padding-left: 20px;
}

.pb-qr--top img {
	width: 90px;
	border-radius: 4px;
}

@media (max-width: 767px) {
	.pb-qr--top {
		margin-left: 0;
		padding-left: 0;
	}
}
.pb-qr--nofit {
	display: none !important;
}

/* ---- PB share block ---- */
.pb-share {
	max-width: 1140px;
	margin: 30px auto;
	padding: 0 15px;
	box-sizing: border-box;
}

.pb-share__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 40px;
	padding: 25px 30px;
	border: 1px solid #e6e9ec;
	border-radius: 6px;
	background: #fafbfc;
}

.pb-share__text {
	flex: 0 1 auto;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.pb-share__scan {
	margin: 0 0 4px;
	font-size: 17px;
	font-weight: 600;
}

.pb-share__or {
	margin: 0 0 12px;
	font-size: 13px;
	font-style: italic;
	color: #7a8593;
}

.pb-share__networks {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 0 14px;
	padding: 0;
	list-style: none;
}

.pb-share__networks li {
	margin: 0;
	padding: 0;
	list-style: none;
}

.pb-share__networks a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #1ea69a;
	color: #fff;
	font-size: 17px;
	line-height: 1;
	text-decoration: none;
	transition: opacity .2s ease;
}

.pb-share__networks a:hover {
	opacity: .8;
	color: #fff;
}

.pb-share__short {
	margin: 0;
	font-size: 14px;
}

.pb-share__short_intro {
	color: #7a8593;
}

.pb-share__short_link {
	font-weight: 700;
	letter-spacing: .3px;
}

.pb-share__copy {
	margin-left: 8px;
	padding: 3px 10px;
	border: 1px solid #ccd3da;
	border-radius: 3px;
	background: #fff;
	color: #43596b;
	font-size: 12px;
	line-height: 1.4;
	cursor: pointer;
}

.pb-share__copy:hover {
	border-color: #1ea69a;
	color: #1ea69a;
}

.pb-share__qr {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
}

.pb-share__qr img {
	width: 200px;
	border-radius: 4px;
}

@media (max-width: 600px) {
	.pb-share__inner {
		flex-direction: column-reverse;
		align-items: center;
		gap: 20px;
		text-align: center;
	}

	.pb-share__networks {
		justify-content: center;
	}
}





/* ---- PB shortlink field (dashboard name row) ---- */
.pb-title-input-wrap {
	position: relative;
}

.pb-short-field {
	position: absolute;
	top: 50%;
	right: 12px;
	transform: translateY(-50%);
	display: flex;
	align-items: center;
	gap: 3px;
	max-width: 55%;
	pointer-events: none;
}

.pb-short-field > * {
	pointer-events: auto;
}

.pb-title-input-wrap #post_title {
	padding-right: 300px;
}

.pb-short-host {
	color: #9aa5b1;
	font-size: 13px;
	line-height: 1;
	white-space: nowrap;
}

.pb-short-input.pb-short-input {
	width: 150px;
	min-height: 0;
	height: 26px;
	margin: 0;
	padding: 0 6px;
	border: 1px solid #d6dce2;
	border-radius: 3px;
	background: #fff;
	color: #43596b;
	font-size: 13px;
	line-height: 24px;
	box-shadow: none;
}

.pb-short-input:focus {
	border-color: #1ea69a;
	outline: none;
}

.pb-short-input.pb-short--bad {
	border-color: #d9534f;
	color: #d9534f;
}

.pb-short-input.pb-short--good {
	border-color: #1ea69a;
}

.pb-short-note {
	position: absolute;
	top: 100%;
	right: 0;
	margin-top: 3px;
	color: #9aa5b1;
	font-size: 11px;
	line-height: 1.3;
	white-space: nowrap;
}

.pb-short-note.pb-short-note--bad {
	color: #d9534f;
}

.pb-short-field--locked .pb-short-input {
	background: #f1f3f5;
	color: #8a97a3;
	cursor: not-allowed;
}

/* Verified rows already carry a tick inside the box — keep clear of it. */
.pb-is-verified .pb-short-field {
	right: 34px;
}

.pb-is-verified .pb-title-input-wrap #post_title {
	padding-right: 330px;
}

/* Verify button: match the name input, not the row. Applied at ALL
   widths so its height never drifts with the content beside it.
   Set 44px to the computed height of #post_title if it differs. */
.pb-title-row {
	align-items: flex-start;
}

.pb-title-row .pb-verify-btn {
	align-self: flex-start;
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	box-sizing: border-box;
} 

/* ---- Narrow: drop the field below the name box, full width ---- */
@media (max-width: 900px) {

	.pb-title-input-wrap {
		flex: 1 1 auto;
		min-width: 0;
	}

	.pb-short-field,
	.pb-is-verified .pb-short-field {
		position: static;
		right: auto;
		transform: none;
		max-width: none;
		width: 100%;
		flex-wrap: wrap;
		margin-top: 8px;
	}

	.pb-title-input-wrap #post_title,
	.pb-is-verified .pb-title-input-wrap #post_title {
		padding-right: 12px;
	}

	.pb-short-input.pb-short-input {
		flex: 0 1 160px;
	}

	.pb-short-note,
	.pb-is-verified .pb-short-note {
		position: static;
		flex: 1 1 120px;
		min-width: 0;
		margin: 0 0 0 8px;
		align-self: center;
		white-space: normal;
		text-align: left;
	}

	/* Keep the verify button beside the name, top-aligned, not stretched. */
	.pb-title-row .pb-verify-btn {
		align-self: flex-start;
		flex: 0 0 auto;
	}
	/* The tick is centred on its positioning context. Once the shortlink
	   field sits inside that wrapper, the wrapper is taller and 50% is
	   no longer the middle of the name input — so pin it to the input's
	   own height instead. Adjust 22px if you change the input height. */
	.pb-title-input-wrap .pb-title-tick {
		top: 22px;
		transform: translateY( -50% );
	}
}

@media (max-width: 480px) {

	.pb-title-row {
		flex-wrap: wrap;
		align-items: flex-start;
	}

	.pb-short-input.pb-short-input {
		flex: 1 1 auto;
		width: auto;
	}
}







@media (max-width: 558px) {
.rh_wrap--topPadding {
    padding-top: 0;
    }
}

@media (max-width: 558px) {
.rh_wrap--padding {
    padding: 0;
    max-width: 1440px;
    margin: 0;
    }
}

@media (max-width: 558px) {
    .entry-content {
        padding-bottom: 0;
		padding-left:0;
		padding-right:0;
    }
}

@media (min-width: 768px) {
    .entry-content {
        padding: 2rem;
    }
}



@media (max-width: 1024px) {
.page-id-60 .rh_page__sidebar, .page-id-4580 .rh_page__sidebar {
    visibility: hidden;
}
.page-id-60 .rh_page__main, .page-id-4580 .rh_page__main {
    width: 100%;
}
}

.rh_page__sidebar {
        width: 25%;
}

.rh_page__main {
        width: 75%;
}


@media (max-width: 1023px) {
.rh_page__sidebar {
        width: 100%;
}
}
@media (max-width: 1023px) {
.rh_page__main {
        width: 100%;
}
}




.page-id-4661 .rh_banner {
    max-height: 85px;
    min-height: 0;
}
.page-id-4661 .rh_banner .rh_banner__wrap {
    padding: 15px 0;
}

@media (max-width: 1138px) {
.page-id-4661 .rh_banner {
    max-height: 0px;
}
}


@media (min-width: 480px) and (max-width: 1024px) {
    .rh_map #map-head {
        height: 40rem;
    }
}




.rh_header_var_1 ul.rh_menu__main>li>a {
	border-radius: 4px;
}	
	
.rh_menu__user .rh_menu__user_submit a, .user_menu_wrapper .rh_menu__user_submit a, .rh_mod_sticky_header .rh_menu__user_submit a {
	border-radius: 4px;
}	

@media screen and (max-width: 500px) {
	.submit-property-form-wizard .dashboard-tabs-nav li {
		width: 100%;
		padding: 15px 18px;
		border-bottom: 1px solid #cbcbcb;
		cursor: pointer;
		text-align: center;
	}
	.submit-property-form-wizard .dashboard-tabs-nav li.current {
		background-color: #3b3b3b;
		color: #fff;
		font-weight: 600;
		border-left: 3px solid #ea723d;
		border-right: 3px solid #ea723d;
		border-bottom-color: #3b3b3b;
	}
}



.page-id-149 .rh_banner {
    max-height: 135px;
    min-height: 0;
}
.page-id-149 .rh_banner .rh_banner__wrap {
    padding: 15px 0;
}


.page-id-18326 .rh_blog__single,
.page-id-18326 .rh_blog__post {
    background: transparent !important;
}

.page-id-18326 .rh_banner__image {
    height: 10rem;
    background-position: center top;
}

.page-id-19299 .rh_section,
.page-id-19299 .rh_page,
.page-id-19299 .rh_blog,
.page-id-19299 .rh_blog__post,
.page-id-19299 .rh_content {
    background: transparent !important;
}

.page-id-19294 .rh_blog,
.page-id-19294 .rh_blog__post {
    background: transparent !important;
}

.page-id-19159 .rh_contact__wrap,
.page-id-19159 .rh_section,
.page-id-19159 .rh_page,
.page-id-19159 .rh_blog,
.page-id-19159 .rh_blog__post,
.page-id-19159 .rh_content {
    background: #F7F7F7 !important;
}

.page-id-7596 .rh_form {
    background: transparent !important;
}

.page-id-19159 .rh_contact__form {
    padding: 30px;
    background: white !important;
    border: 1px solid grey;
    border-radius: 6px;
}

.rh_blog__post {
    background: #F7F7F7 !important;
}

@media (max-width: 767px), (max-height: 500px) and (orientation: landscape) {
.rh_page__property .rh_page__property_title .rh_page__title { color: #fff; }
}

@media (max-width: 767px), (max-height: 500px) and (orientation: landscape) {
.rh_page__property .rh_page__property_price .status { color: #a69a1e; }
}

.rh-whatsapp-btn img {
    opacity: 0.9;
    transition: opacity 0.2s ease;
}

.rh-whatsapp-btn:hover img,
.rh-whatsapp-btn:active img {
    opacity: 1;
}

.rh-header-slim-left .rh-logo img {
    max-width: 100px;
    height: auto;
}


/* Filter sidebar section order */
.property-filters { display: flex; flex-direction: column; }
.property-filters > .collapse-button        { order: 0; }
.property-filters > .property-types         { order: 1; }
.property-filters > .property-statuses      { order: 2; }
.property-filters > .property-locations-pb  { order: 3; }
.property-filters > .price-ranges           { order: 4; }
.property-filters > .radio-buttons          { order: 5; }  /* Min Bedrooms */
.property-filters > .radio-buttons ~ .radio-buttons { order: 6; }  /* Min Bathrooms */
.property-filters > .property-features      { order: 7; }
.property-filters > .area-ranges            { order: 8; }
.property-filters > .agency-options         { order: 9; }
.property-filters > .agent-options          { order: 10; }
.property-filters > .input-wrapper          { order: 11; }


.elementor-element-86ca3b0 {
    position: relative;
    z-index: 0;
}
.elementor-element-86ca3b0::before {
    content: "";
    position: absolute;
    top: -140px;
    left: calc(50% - 50vw);
    width: 100vw;
    height: clamp(520px, calc(520px + (580px - 100vw) * 0.5), 640px);
    background: linear-gradient(rgba(240,234,214,.55), rgba(240,234,214,.55)), url('https://cdn.propertyboutique.es/properties/properties-search/info-header.png') center / cover no-repeat;
    z-index: -1;
    pointer-events: none;
}
@media (max-width: 589px) {
    .elementor-element-86ca3b0::before {
        height: 620px;
    }
}
@media (max-width: 383px) {
    .elementor-element-86ca3b0::before {
        height: 750px;
    }
}


.rh_prop_search__form .rh_prop_search__fields .inspiry_select_picker_field .inspiry_select_picker_trigger .form-control {
    color: #000;
}


/* ============================================================================
   [02] ELEMENTOR — BUTTONS
   Make Elementor "Success" buttons use the theme green, with a darker hover.
   ============================================================================ */

.elementor-button-success .elementor-button,
.elementor-element.elementor-button-success .elementor-button {
    background-color: var(--rh-global-color-primary) !important;
}

.elementor-button-success .elementor-button:hover,
.elementor-element.elementor-button-success .elementor-button:hover {
    background-color: #18857b !important;   /* slightly darker shade for hover */
}







/* ============================================================================
   [03] ELEMENTOR — ACCORDION
   Centre accordion titles; keep the +/- icon pinned right.
   ============================================================================ */

.elementor-accordion .elementor-tab-title {
    position: relative;
}

.elementor-accordion .elementor-accordion-title {
    display: block;
    width: 100%;
    text-align: center;
}

.elementor-accordion .elementor-accordion-icon {
    position: absolute;
    right: 15px;                /* keep the arrow on the right, out of the way */
    top: 50%;
    transform: translateY(-50%);
}


/* ============================================================================
   [04] SECTION TITLES (RealHomes section-head Elementor widget)
   Centre every section-title widget on all screen sizes.
   ============================================================================ */

.re_section_head_elementor {
    text-align: center !important;
}

.re_section_head_elementor .rh_section__subtitle,
.re_section_head_elementor .rh_section__title,
.re_section_head_elementor .rh_section__desc {
    text-align: center !important;
    margin-left: auto;
    margin-right: auto;
}


/* ============================================================================
   [05] NAV — "SUBMIT" MENU ITEM — AI-STARS BADGE
   Adds an animated ai-stars.gif badge to the user-submit menu link.
   (Image lives in the child theme: /images/ai-stars.gif — relative path, OK.)
   ============================================================================ */

.rh_menu__user_submit a {
    position: relative;
}

.rh_menu__user_submit a::before {
    content: '';
    position: absolute;
    top: -17px;
    right: -15px;
    width: 40px;
    height: 40px;
    background-image: url('/wp-content/themes/realhomes-child/images/ai-stars.gif');
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: none;
}


/* ============================================================================
   [06] KLARO COOKIE NOTICE
   Layout overrides for the Klaro consent banner (loaded from main domain).
   - Centres the notice, constrains width, lays the body out as a flex row.
   - Mobile (<=767px): full-width, no transform.
   ============================================================================ */

/* --- Banner position & width --- */
.klaro .cookie-notice:not(.cookie-modal-notice) {
    max-width: 820px !important;
    z-index: 9999999 !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: calc(100% - 160px) !important;
    bottom: 15px !important;
}

@media (max-width: 767px), (max-height: 500px) and (orientation: landscape) {
    .klaro .cookie-notice:not(.cookie-modal-notice) {
        margin-left: 0 !important;
        left: 0 !important;
        transform: none !important;
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* --- Banner body layout (flex row: text + buttons) --- */
.klaro .cookie-notice:not(.cookie-modal-notice) .cn-body {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    padding: 0.8em 1em !important;
    margin-top: -10px !important;
    padding-left: 10px;
    padding-right: 6px;
}

.klaro .cookie-notice:not(.cookie-modal-notice) .cn-body p {
    margin: 0 !important;
    flex-grow: 0 !important;
    flex-shrink: 1 !important;
    order: 1 !important;
    margin-bottom: -12px !important;
    margin-left: 12px !important;
}

.klaro .cookie-notice:not(.cookie-modal-notice) .cn-body .cn-ok {
    order: 2 !important;
    margin-top: 0 !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    flex-grow: 1 !important;
}

/* --- Banner buttons --- */
.klaro .cookie-notice .cm-btn-success {
    margin-left: 10px !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
}

.klaro .cookie-notice .cm-btn-danger {
    margin-left: 6px !important;
    padding-left: 7px !important;
    padding-right: 7px !important;
}

.klaro .cookie-notice:not(.cookie-modal-notice) .cn-body .cn-buttons {
    order: 2 !important;
    min-width: 150px !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
}

.klaro .cookie-notice:not(.cookie-modal-notice) .cn-body .cn-learn-more {
    order: 1 !important;
    white-space: normal !important;
    flex-grow: 1 !important;
    margin-left: 0 !important;
}





/* ============================================================================
   [08] MYLIVECHAT BUBBLE  (mlc3 redesign 2026)
   New widget: root = [id^="mylivechat3-root"], launcher = .mlc3-launcher
   ============================================================================ */

/* Desktop: pin the floating widget to bottom-right corner */
[id^="mylivechat3-root"] {
    position: fixed !important;
    top: auto !important;
    left: auto !important;
    z-index: 99999 !important;
	margin-right: -13px !important;
    margin-bottom: -16px !important;
}

/* Grey-out the launcher icon (their default is blue #2563eb) */
[id^="mylivechat3-root"] .mlc3-launcher {
    background: #8a8a8a !important;
}
[id^="mylivechat3-root"] .mlc3-launcher svg {
    fill: none !important;
    stroke: #fff !important;
}

/* Mobile: hide their floating launcher; header PNG opens chat instead */
@media (max-width: 767px), (max-height: 500px) and (orientation: landscape) {
    [id^="mylivechat3-root"] .mlc3-launcher {
        display: none !important;
}
}

/* Inline page widget container (#MyLiveChatContainer on the contact page) */
.mylivechat_inline {
    margin-bottom: -32px !important;
    margin-right: -25px !important;
}

/* ---- Your own header PNG trigger (independent of MyLiveChat classes) ---- */
.header-chat-trigger img {
    opacity: 0.7;
    width: 30px;
    height: auto;
}
.rh-chat-trigger { display: none; }   /* hidden by default */
@media (max-width: 767px), (max-height: 500px) and (orientation: landscape) {
    .rh-chat-trigger {
        position: absolute;
        right: 66px;
        top: 33px;
        width: 27px;
        height: 38px;
        display: inline-block !important;
        z-index: 99999999;
    }
    .rh-chat-trigger img {
        opacity: 0.7;
        width: 30px;
        height: auto;
        display: block;
    }
}

@media (max-width: 767px), (max-height: 500px) and (orientation: landscape) {
    /* Join the load-fade group so it reveals with the menu/user block */
    .rh_temp_header_responsive_view .rh-chat-trigger {
        opacity: 0;
        transition: opacity 0.2s ease;
    }
    .rh-loaded .rh_temp_header_responsive_view .rh-chat-trigger {
        opacity: 1;
    }
}





/* ============================================================================
   [09] FEATURE ICONS
   Make RealHomes feature icons full-width responsive images.
   ============================================================================ */

.rh_feature .rh_feature__icon {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    margin-bottom: 1rem !important;
}

.rh_feature .rh_feature__icon img {
    width: 100% !important;
    height: auto !important;
    padding: 3% !important;
}


/* ============================================================================
   [10] CTA / PARALLAX BACKGROUNDS
   NOTE: Mixed media domains — featured CTA uses media.propertyboutique.es,
         contact CTA uses cdn.propertyboutique.es. Review against the
         "all media via cdn." rule.
   ============================================================================ */

.rh_cta--featured .rh_parallax_cta {
    background-image: url('https://media.propertyboutique.es/interior/grey-sofas.jpg') !important;
    background-size: cover !important;
    background-position: center !important;
}

.rh_cta--contact .rh_parallax {
    background-image: url('https://cdn.propertyboutique.es/2019/07/staff.jpg') !important;
    background-size: cover !important;
    background-position: top center !important;
}


/* ============================================================================
   [11] FOOTER — NEWSLETTER (WPForms, footer column 3)
   Lays the email input + submit button out as a single inline row, like the
   search box. Hides the field label.
   ============================================================================ */

.rh_footer__widgets .wpforms-form {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;       /* input + button share the same height */
    gap: 0;                     /* button butts up to input like the search */
    margin-top: 0;
}

.rh_footer__widgets .wpforms-field-label {
    display: none;              /* remove label so the row sits up */
}

.rh_footer__widgets .wpforms-field-container {
    flex: 1 1 auto;
    margin: 0;
}

.rh_footer__widgets .wpforms-field-container .wpforms-field {
    padding: 0;
    margin: 0;
}

.rh_footer__widgets .wpforms-field-container input[type="email"] {
    width: 100%;
    box-sizing: border-box;
    max-height: 42px;           /* match search input height */
    padding: 0 14px;
    font-size: 15px;
}

.rh_footer__widgets .wpforms-submit-container {
    flex: 0 0 auto;
    margin-top: 11px !important;
    padding: 0;
}

.rh_footer__widgets .wpforms-submit {
    height: 25px;               /* same height as the input */
    padding: 22px 22px 24px 22px;
    font-size: 15px;
    box-sizing: border-box;
    margin-top: 22px;
}

/* Footer field label colour (note: label is display:none above, but this
   styles it wherever it is shown). */
.rh_footer__widgets .wpforms-field-label {
    color: #838282 !important;
}




/* ============================================================================
   [13] SCROLL-TO-TOP BUTTON
   Restyles #scroll-top into a transparent centred chevron that fades in.
   ============================================================================ */

#scroll-top {
    left: 49%;
    right: auto;
    transform: translateX(-50%);
    background: transparent !important;
    border: none;
    box-shadow: none;
    border-radius: 50%;
    transition: opacity 0.3s ease-in-out;
    height: 60px;
    width: 60px;
    line-height: 60px;
}

#scroll-top.show {
    opacity: 0.4;
    bottom: 5px;
    transform: translateX(-50%);
    z-index: 10000;
}

#scroll-top:hover,
#scroll-top:active {
    background: transparent !important;
}

#scroll-top:before {
    display: none;
}

#scroll-top i:before {
    content: '\f102';
    font-size: 36px;
    color: rgba(150, 150, 150, 0.6);
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
}


/* ============================================================================
   [14] CONTACT PAGE — MAP, DETAILS, SOCIAL LINKS
   Map padding reset, contact-item icon sizing, and a wrapping social-links row.
   ============================================================================ */

.rh_contact__map {
    padding: 0;
}

.rh_contact__details .rh_contact__item .icon {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

.rh_contact__details .rh_contact__item .icon svg {
    width: 20px !important;
    height: 20px !important;
    fill: currentColor;
}

@media (min-width: 1024px) {
    .rh_contact__details img {
        padding-right: 0 !important;
    }
}

.social-links-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 0;
}

.social-links-row {
    display: flex;
    gap: 11px;
    min-width: 210px;
    align-items: center;
    flex-shrink: 0;
}

social-links-row {
    display: flex;
    gap: 11px;
    min-width: 210px;
    align-items: center;
    flex-shrink: 0;
}

.social-links-row a {
    display: flex;
    align-items: center;
    gap: 3px;
    white-space: nowrap;
    text-decoration: none;
}

.social-links-row2 {
    display: flex;
    gap: 11px;
    min-width: 110px;
    align-items: center;
    flex-shrink: 0;
}

social-links-row2 {
    display: flex;
    gap: 11px;
    min-width: 310px;
    align-items: center;
    flex-shrink: 0;
}

.social-links-row2 a {
    display: flex;
    align-items: center;
    gap: 3px;
    white-space: nowrap;
    text-decoration: none;
}


@media (max-width: 767px), (max-height: 500px) and (orientation: landscape) {
    /* Grey wrapper shows immediately */
    .rh_responsive_header_temp {
        background: #646464;
    }
    /* Fade everything in the header EXCEPT the logo */
    .rh_temp_header_responsive_view .rh_menu,
    .rh_temp_header_responsive_view .rh_menu__user {
        opacity: 0;
        transition: opacity 0.2s ease;
    }
    .rh-loaded .rh_temp_header_responsive_view .rh_menu,
    .rh-loaded .rh_temp_header_responsive_view .rh_menu__user {
        opacity: 1;
    }
    /* Logo stays visible the whole time */
    .rh_temp_header_responsive_view .rh_logo {
        opacity: 1 !important;
    }
}

@media (max-width: 767px), (max-height: 500px) and (orientation: landscape) {
    .rh_temp_header_responsive_view .rh_menu__user_phone,
    .rh_temp_header_responsive_view .rh_menu__user_submit {
        opacity: 0;
        transition: opacity 0.3s ease 0.25s;
    }
    .rh-loaded .rh_temp_header_responsive_view .rh_menu__user_phone,
    .rh-loaded .rh_temp_header_responsive_view .rh_menu__user_submit {
        opacity: 1;
    }
}

img[src*="help.png"] {
    background: transparent !important;
}
.lazyloadxt-fadein,
img[data-src*="help.png"] {
    opacity: 0;
}
img[src*="help.png"] {
    opacity: 1;
    transition: opacity 0.3s ease 0.25s;
}

/* Hide original until JS swaps it, to kill the flash */
.rh_form__login .info-text,
.rh_form__register .info-text {
    visibility: hidden;
}
.rh_form__login .info-text:has(.rh-form-heading),
.rh_form__register .info-text:has(.rh-form-heading) {
    visibility: visible;
}

.rh-form-heading {
    display: block;
    font-size: 3.6rem;
    font-weight: 700;
    line-height: 1.1;
	color: #b538b5;
}
.rh-form-sub {
    display: block;
    font-size: 1.5rem;
    font-weight: 400;
    color: #bdbdbd;
}


.rh_form__login,
.rh_form__register {
    max-width: 480px;        /* slimmer — adjust to taste */
    margin-left: auto;
    margin-right: auto;      /* centre within their half */
    border: 2px solid #ccc;
    border-radius: 16px;
    padding: 25px;
    box-sizing: border-box;
	background: white !important;
	margin-bottom: 50px;
}

.rh_user_role label[for="user-role"] {
    display: none !important;
}

.rh_user_role .dropdown-menu.inner li:first-child {
    display: none !important;
}

.page-id-7596 .rh_page__head {
    display: none !important;
}

.page-id-7596 .rh_banner.rh_banner__default_hide {
    display: block !important;
    min-height: 200px;        /* give it height — match your other banners */
	max-height: 200px !important;
}

.page-id-7596 .rh_banner {
    background-image:
        linear-gradient(rgba(0,0,0,0.4), rgba(0,0,0,0.4)),
        url('https://storage.googleapis.com/propbout/2026/02/login-register.jpg') !important;
    background-size: cover !important;
    background-position: center !important;
}

@media (max-width: 767px), (max-height: 500px) and (orientation: landscape) {
	.page-id-7596 .rh_banner.rh_banner__default_hide {
    display: block !important;
    min-height: 100px;        /* give it height — match your other banners */
	max-height: 100px !important;
}
}

@media (max-width: 767px), (max-height: 500px) and (orientation: landscape) {
    #nav_menu-1,
    #nav_menu-2 {
        display: none !important;
    }
}

@media (max-width: 1023px) {
    .rh_footer__widgets:last-child {
        width: 100% !important;       /* beat the theme's 50% */
    }
    .rh_footer__widgets:last-child .rh_widgets {
        max-width: 500px;
        width: 100%;
        margin-left: auto;
        margin-right: auto;
        box-sizing: border-box;
        padding: 0 1rem;
    }
}



@media (max-width: 748px) {
    .rh_footer__bottom_wrap {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
    .rh_footer__bottom_wrap .copyrights,
    .rh_footer__bottom_wrap .designed-by {
        text-align: center;
    }	
	.rh_footer .rh_footer__wrap .copyrights, .rh_footer .rh_footer__wrap .designed-by {
    min-width: 100%;
}
}

.page-id-19341 .mylivechat_inline,
.page-id-19341 .gt_switcher_wrapper,
.page-id-19341 .mlc3-root {
    display: none !important;
}


/* Clear content below the fixed/transparent header on Elementor Full Width pages */
.elementor-template-full-width #content,
.elementor-template-full-width .elementor-section-wrap > .elementor-section:first-child {
    padding-top: 220px;   /* set to your header height */
}





/* ============================================================================
   DASHBOARD
   ============================================================================ */
   
   
   
.submit-property-form-wizard .dashboard-tab-content.current-tab-content {
    display: block !important;
    height: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;
}

@media (max-width: 767px), (max-height: 500px) and (orientation: landscape) {
.dashboard-form-actions {
  padding: 1px 10px !important;
}
}

@media (max-width: 767px), (max-height: 500px) and (orientation: landscape) {
.search-wrapper {
    display: none !important;
}
}

.rh-user-account-add-property-btn {
    display: none !important;
}

@media (max-width: 767px), (max-height: 500px) and (orientation: landscape) {
.dashboard-breadcrumbs {
    display: none !important;
}
}

@media (max-width: 767px), (max-height: 500px) and (orientation: landscape) {
.rh-user-account .rh-user-account-back-to-home-btn.type-icon a {
    display: none !important;
}
}

@media (max-width: 767px), (max-height: 500px) and (orientation: landscape) {
.rh-user-account-back-to-home-btn type-icon {
    display: none !important;
}
}

@media (max-width: 1200px) {
  .rh-header-slim-right .search-wrapper .dashboard-header-search {
    display: none !important;
}
}


.rh-header-slim-right { display: flex; align-items: center; }
.rh-header-slim-right .rh-user-account { margin-left: auto; }
.rh-header-slim-right .rh-main-menus { margin-left: 16px; }

.rh-menu-responsive {
  left: auto !important;
  right: 0 !important;
}

@media (max-width: 767px), (max-height: 500px) and (orientation: landscape) {
  .rh-header-slim-left {
    order: 1 !important;
	width: 40% !important;
	max-height: 60px;
	margin-top: -7px;
  }
}

@media (max-width: 767px), (max-height: 500px) and (orientation: landscape) {
 .rh-user-account-profile-image {
    margin-top: -7px;
  }
   }

@media (max-width: 767px), (max-height: 500px) and (orientation: landscape) {
.rh-header-slim-right
 {
    order: 2 !important;
        width: auto !important;
        flex: 1 1 auto;
        max-height: 60px;
        flex-wrap: nowrap !important;
        min-width: 0;
  }
.rh-header-slim-right .rh-user-account {
        flex: 1 1 auto;
        min-width: 0;
        overflow: hidden;
  }
.rh-header-slim-right .rh-user-account-username {
        flex: 1 1 auto;
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
  }
.rh-header-slim-right .rh-user-account-username .display-name {
        display: inline-block;
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        vertical-align: bottom;
  }
.rh-header-slim-right .rh-user-account-profile-image,
.rh-header-slim-right .rh-main-menus {
        flex: 0 0 auto;
  }
}

/* Very narrow: drop the greeting so the name itself keeps the space. */
@media (max-width: 430px) {
.rh-header-slim-right .rh-user-account-username strong { display: none; }
}

@media (max-width: 767px), (max-height: 500px) and (orientation: landscape) {
	/* The header row itself must not wrap — this is what pushes the
	   right-hand block onto a second line. */
	header.rh-header-slim .rh-header-slim-inner,
	header.rh-header-slim > .container,
	header.rh-header-slim {
		flex-wrap: nowrap !important;
		min-width: 0;
	}
	header.rh-header-slim .rh-header-slim-left {
		flex: 0 0 auto;
		min-width: 0;
	}

	/* Greeting goes as soon as space is tight, not at 430px. */
	.rh-header-slim-right .rh-user-account-username strong { display: none; }
}


@media (max-width: 767px), (max-height: 500px) and (orientation: landscape) {
.rh-header-slim-left .rh-logo img {
    max-width: 50px !important;
	margin-left: -20px !important;
}
}

.rh-header-slim-right .search-wrapper .dashboard-header-search {
  padding: 0;
}

.rh-header-slim-left .rh-logo img {
	margin-top: -5px !important;
	max-height: 40px !important;
}

#rh-sidebar-menu-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
}

#rh-sidebar-menu-toggle::before {
  content: "My Menu";
  order: -1;
  white-space: nowrap;
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  margin-left: -75px;
}

/* PB: align sidebar icons to a fixed-width column regardless of glyph width */
.dashboard-sidebar .dashboard-menu > li > a > i:first-child {
    display: inline-block;
    width: 20px;
    text-align: center;
}

.submit-property-form-wizard .dashboard-tabs-nav {
	background-color: #e7e7e7 !important;
	min-width: 100%;
  }
 
@media screen and (max-width: 767px) {
 .dashboard-content {
    padding: 15px 0px 30px;
  }
 } 
 
 
@media screen and (max-width: 767px) {
  .submit-property-form-wizard .dashboard-tabs-nav {
    flex-direction: row !important;
  }
 } 

@media screen and (max-width: 767px) {
.submit-property-form-wizard .dashboard-tabs-nav > li {
    line-height: 0.1rem;
  }
 } 

@media screen and (max-width: 767px) { 
 	#dashboard-tabs-nav {
  justify-content: center;
   }
 }
 
@media screen and (max-width: 767px) {
.draft-button-wrap .dashboard-draft-property {
		top: 0;
        margin-top: -45px;
        padding-bottom: 0px;
        position: absolute;
		margin-left: -73px;
        padding: 3px 5px;
    }
}
  

@media screen and (max-width: 767px) {
 .dashboard-page-head {
  margin-bottom: 0px;
  margin: 10px;
  margin-top: 0px;
}
  } 
  
@media screen and (max-width: 767px) {
 .dashboard-page-title {
  color: #a6a6a6 !important;
}
  } 
   
.dashboard-form-actions {
background-color: #3b3b3b;
  }
  
  
  



.dashboard .form-fields-separator {
  visibility: hidden !important;
}


@media screen and (max-width: 767px) {
.rh-header-slim-right .rh-user-account {
  max-height: 30px;
}
}

@media screen and (max-width: 767px) {
.rh-header-slim.sticked-header {
  max-height: 70px;
}
}



@media (min-width: 768px) {
  .rh-header-slim-left {
    max-height: 75px;
  }
}

@media (min-width: 768px) {
  .rh-header-slim-right {
    max-height: 75px;
  }
}


/* PB: CRM widget (Management Overview block) */
.pb-crm-widget { padding-top: 2px; padding-bottom: 20px; }
.pb-crm-widget > h4 { text-align: center; }
.pb-crm-buttons { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 16px; }
.pb-crm-buttons a {
    font-size: clamp(13px, 1.1vw + 6px, 17px);
    line-height: 1;
    padding: clamp(8px, 0.8vw + 4px, 14px) clamp(14px, 1.8vw + 6px, 26px);
    border-radius: 3px;
    background: #1ea69a;
    color: #fff;
    text-decoration: none;
}
.pb-crm-buttons a:hover { background: #178f84; color: #fff; }
.pb-crm-empty { margin: 15px 0 0; color: #999; font-size: 13px; text-align: center; }

/* PB: small centered "Import your data?" link below the CRM buttons */
.pb-crm-import-link { text-align: center; margin: 12px 0 0; font-size: 13px; }
.pb-crm-import-link a { color: #1ea69a; text-decoration: underline; }
.pb-crm-import-link a:hover { color: #178f84; }

/* ============================================================================
   @media screen and (min-width: 1200px) {
#rh-sidebar-menu-toggle {
  visibility: hidden;
}
}



@media (min-width: 1200px) {
  .dashboard .dashboard-sidebar { transform: translateX(-100%); }
  .dashboard.show-sidebar .dashboard-sidebar { transform: translateX(0); }
}
   ============================================================================ */


.pb-info-icon, .pb-info-icon img  { max-width: 25px; }
.pb-field-trigger { cursor: pointer; display: inline-flex; align-items: center; gap: 6px; padding: 12px 0;}
.pb-field-trigger label { cursor: pointer; margin: 0; }

.pb-info-icon-videos {
    position: relative;
}

.submit-property-form .address-map-fields-wrapper label {
    display: inline-block;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.4;
    color: var(--dashboard-heading-color);
}

@media (min-width: 768px) {
    .submit-property-form .address-map-fields-wrapper .map-wrapper {
        max-height: 347px !important;
    }
}



/* Master Popup Overlays Baseline */
.popup {
    display: none;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    z-index: 999999 !important;
    background: rgba(0, 0, 0, 0.6) !important;
}

.popup-content {
    max-height: 75vh;
    overflow-y: auto;
    overscroll-behavior: contain !important;
    position: relative;
}

/* Unified Indicator Styling */
.scroll-indicator {
    position: sticky;
    bottom: -25px;
    left: 0;
    right: 0;
    text-align: center;
    background: linear-gradient(transparent, white 70%);
    padding: 20px 0 10px 0;
    font-size: 20px;
    color: #1ea69a;
    cursor: pointer;
    user-select: none;
    transition: opacity 0.5s ease;
    opacity: 1;
}

.popup-close { position: absolute; top: 5px; right: 20px; cursor: pointer; padding: 10px 14px; margin: -10px -14px; }
.popup-close-x { color: #1ea69a; font-size: 27px; line-height: 40px; }
.popup-close-word { position: relative; top: -5px; }

.popup-tagline { text-align: center; }
.popup-tagline h3 { color: #ea723d; font-weight: bold; }
.popup-tagline h5 { color: grey; font-weight: bold; }

.popup-content p strong { color: #222; }
.popup-list { list-style: none; padding-left: 0; }
.popup-list li { color: #333; }
.popup-list li::before { content: "- "; }
.popup-signoff { text-align: center; padding-top: 10px; color: #c6c6c6; }

.pb-label-note { font-weight: 300; font-size: 0.8em; color: #999; }
.address-map-fields-wrapper .map-wrapper { margin-top: 32px; }
.property-gallery-images .gallery-thumbs-container { margin-top: 12px; }
.wp-editor-wrap { margin-top: 12px; }

.dashboard-tab-content .col-12 > p.checkbox-field {
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    white-space: nowrap;
}


#map-address-field-wrapper.address-wrapper {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}
#map-address-field-wrapper.address-wrapper label {
    flex: 0 0 100%;
}
#map-address-field-wrapper.address-wrapper input#address {
    flex: 1 1 auto;
    min-width: 0;
    margin-bottom: 0;
}
#map-address-field-wrapper.address-wrapper .goto-address-button {
    flex: 0 0 auto;
    margin: 0;
    white-space: nowrap;
}
.map-wrapper #map-address-field-wrapper.address-wrapper { display: flex !important; flex-wrap: wrap; align-items: center; gap: 8px; }
.map-wrapper #map-address-field-wrapper.address-wrapper input#address { flex: 1 1 auto !important; width: auto !important; min-width: 0; margin-bottom: 0; }
.map-wrapper #map-address-field-wrapper.address-wrapper .goto-address-button { flex: 0 0 auto; margin: 0; white-space: nowrap; }



@media (min-width: 768px) {
    .submit-property-form .address-map-fields-wrapper .address-wrapper {
        position: static !important;
        width: 100% !important;
		margin-top: -14px !important;
		padding: 15px 0 0 !important;
    }
}
@media (min-width: 768px) {
    .submit-property-form .address-map-fields-wrapper .map-canvas {
        margin-top: 5px;
		max-height: 321px !important;
    }
}
@media (min-width: 768px) {
.submit-property-form .address-map-fields-wrapper .map-wrapper {
    padding-bottom: 27px !important;
 }
}


@media (max-width: 767px), (max-height: 500px) and (orientation: landscape) {
.map-canvas {
	min-height: 500px !important;
}
}
@media (max-width: 767px), (max-height: 500px) and (orientation: landscape) {
.map-canvas {
	margin-bottom: -20px !important;
}
}








.rh-header-slim-right .search-wrapper .dashboard-header-search {
    padding: 0 !important;
}

.grecaptcha-badge {
  visibility: hidden !important;
  position: absolute !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}

/* ============================================================================
   Submit-form dropdowns — orange styling (bootstrap-select / selectpicker)
   ----------------------------------------------------------------------------
   Orange (--dashboard-secondary-color) chosen for contrast vs the green page.
   Closed box keeps default look. OPEN list = faded orange + BLACK text;
   hover = full bright orange + WHITE text. 1px dividers.

   Two picker types, scoped by .bs-actionsbox (present only on multiselect):
   - SINGLE-SELECT (Status/Type/Location): the selected row IS the placeholder
     that the de-dup JS removes; we hide .selected so it never paints (this
     kills the first-open flash). No check-mark needed.
   - MULTISELECT (Agent): keep check-marks; selected rows get full-cell orange.
   ============================================================================ */

/* --- Open panel frame --- */
.bootstrap-select .dropdown-menu.open {
    border: none;
    border-radius: 4px;
    box-shadow: 0 6px 18px rgba(0,0,0,0.18);
    overflow: hidden;
}

/* Visible area is .inner — faded orange lives here */
.bootstrap-select .dropdown-menu.inner {
    background: color-mix(in srgb, var(--dashboard-secondary-color, #ea723d) 28%, white);
}

/* Kill theme's li-level grey hover + transitions (flash source) */
.bootstrap-select .dropdown-menu li {
    background: transparent !important;
    transition: none !important;
}
.page-template-dashboard .inspiry_select_picker_trigger > .dropdown-menu li:hover {
    background: transparent !important;
}

/* --- Option rows: black text, divider, no transition --- */
.bootstrap-select .dropdown-menu li a,
.bootstrap-select .dropdown-menu li a .text {
    color: #1a1a1a;
}
.bootstrap-select .dropdown-menu li a {
    padding: 10px 16px;
    border-bottom: 1px solid rgba(0,0,0,0.10);
    transition: none !important;
    background: transparent;
}
.bootstrap-select .dropdown-menu li:last-child a {
    border-bottom: none;
}

/* --- Hover: full bright orange + white text --- */
.bootstrap-select .dropdown-menu li a:hover {
    background: var(--dashboard-secondary-color, #ea723d) !important;
    color: #fff !important;
}
.bootstrap-select .dropdown-menu li a:hover .text {
    color: #fff !important;
}

/* ============================================================
   SINGLE-SELECT pickers (no .bs-actionsbox in the menu)
   Hide the selected row — it's the placeholder being removed;
   hiding it prevents the first-open flash entirely.
   ============================================================ */
.bootstrap-select:not(:has(#agent-selectbox)) .dropdown-menu li.selected {
    display: none !important;
}
/* Single-select check-mark not needed */
.bootstrap-select:not(:has(#agent-selectbox)) .dropdown-menu li a .check-mark {
    display: none !important;
}

/* ============================================================
   MULTISELECT picker (Agent — has .bs-actionsbox)
   Keep check-marks; selected rows get full-cell bright orange.
   ============================================================ */
.bootstrap-select:has(#agent-selectbox) .dropdown-menu li.selected a {
    background: var(--dashboard-secondary-color, #ea723d);
    color: #fff;
    font-weight: 600;
}
.bootstrap-select:has(#agent-selectbox) .dropdown-menu li.selected a .text {
    color: #fff;
}
/* Tick on the LEFT for agent rows, absolutely positioned in the left gutter
   so it takes NO layout space: no gap when hidden, no text-budge when shown.
   Row gets a small left padding to hold the tick when a row IS selected. */
.bootstrap-select:has(#agent-selectbox) .dropdown-menu li a {
    position: relative;
    padding-left: 34px;            /* room for the tick + a little breathing space */
}
.bootstrap-select:has(#agent-selectbox) .dropdown-menu li a .check-mark {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    display: none;                 /* no space, no paint when unselected */
    color: #fff;
}
.bootstrap-select:has(#agent-selectbox) .dropdown-menu li.selected a .check-mark {
    display: inline-block;         /* appears in the gutter; text doesn't move */
}

/* --- Search box (locations) --- */
.bootstrap-select .bs-searchbox {
    background: var(--dashboard-secondary-color, #ea723d);
}
.bootstrap-select .bs-searchbox input {
    background: #fff;
    color: #333;
    border: none;
    border-radius: 3px;
    box-shadow: none;
}
.bootstrap-select .no-results {
    color: #1a1a1a;
    background: transparent;
}

/* --- Multiselect actions bar (Select All / Deselect All) --- */
.bootstrap-select .bs-actionsbox {
    padding: 6px 10px;
    background: var(--dashboard-secondary-color, #ea723d);
}
.bootstrap-select .bs-actionsbox .btn {
    background: rgba(255,255,255,0.18);
    color: #fff;
    border: none;
}
.bootstrap-select .bs-actionsbox .btn svg path,
.bootstrap-select .bs-actionsbox .btn svg polygon,
.bootstrap-select .bs-actionsbox .btn svg polyline {
    stroke: #fff;
    fill: #fff;
}
.bootstrap-select .dropdown-menu li a .rh-dropdown-thumbnail {
    border-radius: 50%;
}

/* --- Scrollbar: visible & functional (webkit) ---
   Wider thumb, a light track channel separating it from the cells, and a dark
   thumb that contrasts BOTH the faded-orange cells and bright-orange selected
   rows so it never disappears. The transparent border creates a left gutter. */
.bootstrap-select .dropdown-menu .inner::-webkit-scrollbar {
    width: 14px;
}
.bootstrap-select .dropdown-menu .inner::-webkit-scrollbar-track {
    background: rgba(255,255,255,0.55);     /* light channel = the gutter */
    border-radius: 8px;
    margin: 4px 0;
}
.bootstrap-select .dropdown-menu .inner::-webkit-scrollbar-thumb {
    background: var(--dashboard-primary-color, #1ea69a);   /* green grip */
    border-radius: 8px;
    border: 3px solid transparent;          /* padding around thumb via bg-clip */
    background-clip: padding-box;
    min-height: 32px;                        /* never too small to grab */
}
.bootstrap-select .dropdown-menu .inner::-webkit-scrollbar-thumb:hover {
    background: var(--dashboard-primary-hover-color, #1b958b);
    background-clip: padding-box;
}

/* Firefox scrollbar (thin API — best we can do there) */
.bootstrap-select .dropdown-menu .inner {
    scrollbar-width: auto;
    scrollbar-color: var(--dashboard-primary-color, #1ea69a) rgba(255,255,255,0.55);
}

/* ============================================================================
   Dropdown scroll arrows — same ▼/▲ pattern as the gtranslate popup, but
   pinned to the dropdown frame (.dropdown-menu.open) with position:absolute.
   Classes (gt-scrollable / gt-scrolled-top / gt-scrolled-bottom) are toggled
   by child-custom.js, identical logic to the popup.
   ============================================================================ */

/* NOTE: do NOT add position:relative to .dropdown-menu.open — it breaks
   bootstrap-select's overlay positioning and pushes the page down. The menu is
   already positioned by the library, so the absolute arrows anchor correctly. */



/* --- Half-row peek: a soft fade pinned to the dropdown's BOTTOM EDGE (the
   non-scrolling frame), so a partial row always shows while there's more below.
   Uses an inset shadow on the frame — no pseudo (arrows use those), no layout
   change, can't affect scroll. Only while scrollable and not at the bottom. --- */
.bootstrap-select .dropdown-menu.open.gt-scrollable:not(.gt-scrolled-bottom) {
    box-shadow: 0 6px 18px rgba(0,0,0,0.18),
                inset 0 -22px 16px -16px color-mix(in srgb, var(--dashboard-secondary-color, #ea723d) 60%, white);
}

/* Bottom arrow — shown when the list is scrollable */
.bootstrap-select .dropdown-menu.open.gt-scrollable::after {
    content: "▼";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 14px;                 /* clear of the scrollbar */
    height: 44px;                /* taller fade-band ≈ one row dissolving */
    padding-bottom: 2px;
    box-sizing: border-box;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    /* fade to the faded-orange cell colour so a full row dissolves into the bg */
    background: linear-gradient(to bottom, transparent 0%, color-mix(in srgb, var(--dashboard-secondary-color, #ea723d) 28%, white) 80%);
    color: var(--dashboard-primary-color, #1ea69a);
    font-size: 18px;
    line-height: 1;
    pointer-events: none;
    z-index: 5;
    text-shadow: 0 1px 2px rgba(255,255,255,0.6);
    opacity: 1;                  /* arrow + fade visible together while scrollable */
    transition: opacity 0.4s ease;
}

/* Top arrow — shown once the user has scrolled down a bit */
.bootstrap-select .dropdown-menu.open.gt-scrollable.gt-scrolled-top::before {
    content: "▲";
    position: absolute;
    top: 2px;
    left: 0;
    right: 14px;
    text-align: center;
    color: var(--dashboard-primary-color, #1ea69a);
    font-size: 18px;
    line-height: 1;
    pointer-events: none;
    z-index: 5;
    text-shadow: 0 1px 2px rgba(255,255,255,0.7);
    opacity: 0.35;
    transition: opacity 0.4s ease;
}

/* Hide bottom arrow when scrolled to the bottom */
.bootstrap-select .dropdown-menu.open.gt-scrollable.gt-scrolled-top:not(.gt-scrolled-bottom)::after {
    opacity: 0;
}

/* Hide top arrow when at the very top */
.bootstrap-select .dropdown-menu.open.gt-scrollable:not(.gt-scrolled-top)::before {
    opacity: 0;
}

/* Search-box dropdowns (locations/agent): nudge the TOP arrow below the box
   so it doesn't overlap the search field. */
.bootstrap-select .dropdown-menu.open:has(.bs-searchbox).gt-scrolled-top::before {
    top: 44px;
}
#gallery-thumbs-container .sortable-placeholder {
    display: inline-block;
    vertical-align: middle;
    width: 55px;
    height: 65px;
    margin: 5px;
    border: 2px dashed #4a90d9;
    border-radius: 4px;
    background: rgba(74, 144, 217, 0.08);
    box-sizing: border-box;
}

.pb-video-url input:focus::placeholder { color: transparent; }

.pb-availability-wrap {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;     /* never wrap to next row */
	gap: 8px;
	width: 100%;
}
.pb-availability-wrap .bootstrap-select {
	flex: 1 1 0;           /* shrink/grow from zero basis */
	min-width: 0;          /* critical: allows shrinking below content */
	width: auto !important;
}
.pb-availability-date-box {
	flex: 0 0 auto;        /* keep its natural width, don't shrink */
	position: relative;
	height: 42px;
	padding: 0 12px;
	border: 1px solid #dfdfdf; border-radius: 4px;
	background: #ffffff;
	display: inline-flex; align-items: center; justify-content: center;
	gap: 6px;
	font-size: 14px; color: #555;
	cursor: pointer; overflow: hidden;
	white-space: nowrap;
}
.pb-availability-date-box:hover { background: #eee; }
.pb-availability-date-box .pb-date-label {
	pointer-events: none;   /* clicks pass through to the input */
}
.pb-availability-date-overlay {
	position: absolute;
	top: 0; left: 0;
	width: 100%; height: 100%;
	opacity: 0; cursor: pointer;
	border: 0; padding: 0; margin: 0;
	color-scheme: light;
}
.pb-availability-date-overlay::-webkit-calendar-picker-indicator {
	position: absolute; top: 0; left: 0;
	width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer;
}

.pb-availability-date-overlay {
	background: #ffffff;
	color-scheme: light;
}

:root {
	color-scheme: light;
}

/* EPC fields: align labels when side-by-side (≥576px) */
@media (min-width: 576px) {
	.pb-epc-row > [class*="col-"] > p > label {
		display: block;
		min-height: 1.3em;      /* room for two lines */
		line-height: 1.3;
	}
}

/* EPC fields: 2×2 layout, tight spacing (≤575px) */
@media (max-width: 575px) {
	.pb-epc-row {
		flex-wrap: wrap;
	}
	.pb-epc-row > [class*="col-"] {
		flex: 0 0 48%;
		max-width: 48%;
	}
	.pb-epc-row > [class*="col-"] > p {
		margin-bottom: 10px !important;
	}
	.pb-epc-row > [class*="col-"] > p > label {
		display: block;
		min-height: 0;
		margin-bottom: 6px;
		line-height: 1.3;
	}
}

#wp-description-editor-tools.hide-if-no-js {
	display: block !important;
}

.wp-editor-wrap {
	margin-top: -38px;
	position: relative;
	z-index: 1;
}
.pb-field-trigger {
	position: relative;
	z-index: 10;
}






/* Let the wrapping column be full width so we can re-center inside it */
[class*="col-"]:has(.property-agent-information) {
	flex: 0 0 100%;
	max-width: 100%;
	width: 100%;
}

/* Cap the whole field at 700px and center it */
.property-agent-information {
	max-width: 600px;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
}

.pb-agent-radios-inline {
	display: flex !important;
	flex-wrap: nowrap;
	justify-content: space-between;   /* radio1 left, radio2 center, radio3 right */
	align-items: center;
	margin: 0 0 10px;
	padding: 0 50px 10px !important;
	list-style: none;
	width: 100%;
}




.pb-agent-radios-inline > li.radio-field {
	margin: 0;
	display: flex;
	align-items: center;
	gap: 6px;
}

@media (max-width: 600px) {
	.pb-agent-radios-inline {
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		align-items: flex-start !important;
		justify-content: flex-start !important;
		width: fit-content !important;
		margin: 0 auto 10px !important;
		padding: 10px 0 !important;
	}
	.pb-agent-radios-inline > li.radio-field {
		margin: 0 0 8px;
	}
	.pb-agent-radios-inline > li.radio-field:last-child {
		margin-bottom: 0;
	}
}



/* Reveal area — full width of the 700px container */
.pb-agent-reveal { width: 100%; min-height: 1.5em; }
.pb-reveal {
	display: none;
	width: 100%;
	padding: 10px 12px;
	background: #f7f7f7;
	border: 1px solid #e2e2e2;
	border-radius: 4px;
	line-height: 1.4;
	box-sizing: border-box;
}
.pb-reveal.is-active { display: block; }

.pb-reveal-none    { text-align: left; }
.pb-reveal-profile { text-align: center; }
.pb-reveal-agent   { text-align: right; padding-right: 35px;}

.pb-reveal-agent .agent-options-wrap {
	display: inline-block;
	text-align: left;
	width: 100%;
	max-width: 480px;
	padding: 6px 0;
}
.pb-reveal-agent .agent-options-wrap .note { display: block; margin: 0 0 6px; }
.pb-reveal-agent .bootstrap-select { width: 100% !important; }

.pb-agent-radios-inline label {
	font-weight: 500 !important;
}

.dashboard .pb-agent-radios-inline label::before {
	background: #fff !important;
	border: 1px solid #555 !important;
}

.dashboard .pb-agent-radios-inline input:checked + label::after {
	width: 16px !important;
	height: 16px !important;
	top: 47% !important;
	left: 10px !important;          /* match the circle's horizontal centre */
	transform: translate(-50%, -50%) !important;
	margin: 0 !important;
}

.pb-trigger-extra { display: inline-block; position: relative; top: 34px; left: 82px; z-index: 5; }
.pb-icon-trigger { display: inline !important; vertical-align: middle; margin-left: 6px; cursor: pointer; }
.checkbox-field label { display: inline; width: auto; }
.checkbox-field label[for="featured"], .checkbox-field label[for="terms"] { display: inline !important; width: auto !important; }
.checkbox-field input[type="checkbox"] {
    position: static !important;
    clip: auto !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px;
    opacity: 1 !important;
    appearance: checkbox !important;
    -webkit-appearance: checkbox !important;
    margin-right: 6px;
    vertical-align: middle;
}

.dashboard label {
    font-weight: 400;
}

.dashboard label[for="inspiry_property_title"] {
    font-weight: 600 !important;
	font-size: 1.1em !important;
	color: #ea723d !important;
}

.pb-field-trigger label {
    font-weight: 600 !important;
	color: #ea723d !important;
	font-size: 1.1em !important;
}

.property-status-tag.property-status-tag-private { background-color: #d63333 !important; color: #fff !important; }

.dashboard label.error {
    color: red !important;
}
.energy-performance-wrapper .pb-field-trigger label,
label[for="REAL_HOMES_360_virtual_tour"],
label[for="message_to_reviewer"],
.property-attachments-container-wrap > label,
.property-features-fields > label,
.inspiry-details-wrapper > label {
	color: grey !important;
	font-weight: 600 !important;
	font-size: 1.1em !important;
}

.pb-trigger-additional {
	padding-bottom: 10px !important;
}

.property-features-fields {
    margin-bottom: 0 !important;
}

.dashboard label.error {
    font-size: 1.1em !important;
	font-weight: 400 !important;
}

.dashboard .form-fields p {
    margin-bottom: 16px;
}

.dashboard .form-fields p:has(.pb-field-trigger[onclick*="popuptitle"]) {
	margin-bottom: 0 !important;
}


@keyframes pb-flash {
    0%, 100% { transform: scale(1); opacity: 1; }
    50%      { transform: scale(1.18); opacity: 0.6; }
}
#rh-sidebar-menu-toggle.pb-flash {
    animation: pb-flash 0.6s ease-in-out 3;
}

.submit-property-form-wizard .dashboard-tabs-nav>li {
    font-weight: 900;
}

@media screen and (max-width: 767px) and (min-width: 500px) {
	body .submit-property-form-wizard .dashboard-tabs-nav#dashboard-tabs-nav {
		flex-direction: row !important;
	}
	body .submit-property-form-wizard .dashboard-tabs-nav#dashboard-tabs-nav li {
		width: auto !important;
	}
}

.submit-property-form-wizard .dashboard-tabs-nav {
	justify-content: center !important;
}


.elementor_property_card_parent .rh_overlay__contents a:hover {
    background: #f0ad4e;
}

.dashboard-sidebar .dashboard-menu .fa-angle-down {
    color: grey !important;
}

/* PB: submenu toggle — closed by default, opens via arrow click or when a child page is active */
.dashboard-sidebar .dashboard-menu .has-submenu .submenu { display: none; }
.dashboard-sidebar .dashboard-menu .has-submenu.current .submenu,
.dashboard-sidebar .dashboard-menu .has-submenu.pb-open .submenu { display: block; }
.dashboard-sidebar .dashboard-menu .has-submenu > a .fa-angle-down { transition: transform .2s; cursor: pointer; }
.dashboard-sidebar .dashboard-menu .has-submenu.pb-open > a .fa-angle-down { transform: rotate(180deg); }

.dashboard .widget-small h4 {
	font-weight: 700;
	font-size: 18px;
	color: grey;
}

/* PB: shorten dashboard widget headings (remove "Properties") */
.widget-published-properties-count .widget-body h4,
.widget-pending-properties-count .widget-body h4,
.widget-featured-properties-count .widget-body h4 {
    font-size: 0;
}
.widget-published-properties-count .widget-body h4::after { content: "Published"; font-size: 18px; font-weight: 700; color: grey;}
.widget-pending-properties-count   .widget-body h4::after { content: "Pending";   font-size: 18px; font-weight: 700; color: grey;}
.widget-featured-properties-count  .widget-body h4::after { content: "Featured";  font-size: 18px; font-weight: 700; color: grey;}

/* ============================================================
   PB: Avatar dropdown — hide on small screens (<768px)
   Pairs with the avatar-click JS:
   - >=768px : hover dropdown works, avatar click is blocked (JS)
   - <768px  : dropdown hidden here, avatar click redirects to Dashboard
   Scoped to the header user profile only.
   ============================================================ */
@media (max-width: 767px), (max-height: 500px) and (orientation: landscape) {
    .rh_menu__user_profile .rh_modal {
        display: none !important;
    }
}

@media (max-width: 767px), (max-height: 500px) and (orientation: landscape) {
.rh_footer .rh_footer__logo .tag-line {
    text-align: center;
}
}

/* Property gallery: width-based ratio frame, whole image visible */
.property-detail-slider-two.flexslider { max-height: none; }
.property-detail-slider-two.flexslider > .slides > li { height: auto; aspect-ratio: 1240 / 720; display: flex; align-items: center; justify-content: center; background: #7c7a7a; }
.property-detail-slider-two.flexslider > .slides > li a { padding-top: 0 !important; height: 100%; display: flex; align-items: center; justify-content: center; }
.property-detail-slider-two.flexslider > .slides > li img { width: 100%; height: 100%; object-fit: contain; }

/* Property page: solid bar behind menu, gallery starts below it */
.single-property-fullwidth {
    padding-top: 83px;
    background: #f9f9f9;
}
.single-property-fullwidth .single-property-fullwidth-flexslider { background: #a8a8a8; }


@media (max-width: 1139px) {
	.single-property-fullwidth {
		padding-top: 0;
}
}   

.property-detail-slider-two.flexslider { max-height: 820px; overflow: hidden; }
.property-detail-slider-two.flexslider > .slides > li { max-height: 820px; }

/* Cap gallery height on tall screens */
.property-detail-slider-two.flexslider > .slides > li { max-height: 820px; padding: 15px 0 6px; border-top: 1px solid #d732d0}

/* Move title/price block below the gallery instead of over it */
.single-property-fullwidth .property-head-wrapper { position: static !important; bottom: auto !important; background: #373737; border-top: 1px solid #9f9f9f}
.single-property-fullwidth .property-head-wrapper .rh_page__head { color: #fff; }

.rh_page__property .rh_page__property_title .rh_page__property_address {
    color: #858585 !important;
}

body.single-property .rh_prop_search { display: none !important; }



.rh_login_logo {
    margin-top: -30px;
    max-width: 100px !important;
    margin-left: auto;
    margin-right: auto;
}





.rh_footer {
    border-top: 1px solid #d732d0;
	padding: 20px 0 20px;
}
.rh_banner {
    border-bottom: 1px solid #d732d0;
}

/* Hide breadcrumb on property detail pages */
.single-property-fullwidth .page-breadcrumbs { display: none; }

@media (min-width: 768px) {
    .property-head-wrapper {
        padding-top: 3rem;
    }
}

.rh-footer-cta {
    position: relative;
    z-index: 999;
    text-align: center;
    margin: 20px 0 80px 20px;
}
.rh_menu__user_submit {
    z-index: 999;
    text-align: center;
}
.rh-footer-cta__btn {
    display: inline-block;
    padding: 15px;
    border: 1px solid #000;
    border-radius: 4px;
    color: #d9d9d9;
    background: #2b9087;
    position: relative;
    z-index: 1;
    text-decoration: none;
    transition: background .2s ease-in-out;
}
.rh-footer-cta__btn:hover {
    background: var(--rh-global-color-primary-dark, #0b8278);
    color: #ffffff;
}
.rh-footer-cta__stars {
    max-width: 40px;
    position: absolute;
    margin-left: -26px;
    margin-top: -32px;
}
.rh-footer-cta__hand {
    max-width: 100px;
    position: absolute;
    left: 50%;
    margin-left: -170px;
    margin-top: -50px;
    z-index: 5;
    animation: rh-hand-tap 2.5s ease-in-out infinite;
}
@keyframes rh-hand-tap {
    0%, 60%, 100% { transform: translateY(0); }
    70%           { transform: translateY(8px); }
    80%           { transform: translateY(0); }
}



.rh_menu__user_submit a.rh-footer-cta__btn {
    color: #e5e5e5;
}

.rh_menu__responsive li {
    border-bottom: 1px solid var(--rh-global-color-secondary, #ea723d);
}

.rh_menu__responsive li a {
    font-weight: 500;
}

@media (max-width: 767px), (max-height: 500px) and (orientation: landscape) {

    /* Closed hamburger: nudge over */
    .rh_temp_header_responsive_view .hamburger-box {
        margin-right: 5px !important;
    }

    /* Open menu: pin the X to the corner (theme drops it otherwise) */
    .rh_temp_header_responsive_view.menu-overlay-open .hamburger-box {
        position: fixed !important;
        top: 36px !important;
        right: 14px !important;
        z-index: 100001 !important;
    }

    /* Menu close: glide up to the hamburger */
    .rh_temp_header_responsive_view .rh_menu__responsive {
        transition: margin-top 0.25s ease !important;
    }

    /* Menu open: jump straight into place, NO transition (kills the jitter) */
    .rh_temp_header_responsive_view.menu-overlay-open .rh_menu__responsive {
        margin-top: -80px !important;
        transition: none !important;
    }

}

@media (max-width: 767px), (max-height: 500px) and (orientation: landscape) {
    /* Open menu flips nav absolute→relative, adding its 43px into flow and
       pushing the header + login icon down. Zero its flow height; the X is
       position:fixed so it stays visible regardless. */
    .rh_temp_header_responsive_view.menu-overlay-open .rh_menu .rh_menu__hamburger {
        height: 0 !important;
    }
}

@media (max-width: 1139px) {
.rh_menu__user .rh_menu__user_submit a, .user_menu_wrapper .rh_menu__user_submit a, .rh_mod_sticky_header .rh_menu__user_submit a {
    padding: 0.7rem 1.5rem;
} 
}




.rh-menu-responsive li {
    border-bottom: 1px dotted var(--rh-global-color-secondary, #ea723d);
	background-color: #eaeaea;
}

.dashboard-content {
    background-color: #c7c7c7;
}

.dashboard-posts-list-topnav {
    padding: 10px 20px 5px 20px;
    background-color: #2b2b2b;
}

.dashboard-posts-list-head {
    border-bottom: 1px solid grey;
    background-color: #d9d9d9;
}

.fancybox-progress {
    background: grey;
    height: 1px;
}



.single-property-section {
    padding-top: 2rem;
    padding-bottom: 3rem;
    background-color: #f7f7f7;
}

.rh_header_var_1 ul.rh_menu__main ul.sub-menu {
	max-width: 150px;
    border-bottom: 2px solid var(--rh-global-color-secondary);
}

body.pb-submit-property .rh-header-slim-right .search-wrapper .dashboard-header-search,
body.pb-requirements .rh-header-slim-right .search-wrapper .dashboard-header-search { display: none; }






.property-detail-slider-wrapper .property-detail-slider-two .flex-direction-nav a {
    display: block;
    width: 40px;
    height: 100px;
	margin-top: -45px;
    background-color: transparent;
    background-size: 20px 40px;
    background-repeat: no-repeat;
    background-position: center;
}
.property-detail-slider-wrapper .property-detail-slider-two .flex-direction-nav .flex-next, .property-detail-slider-wrapper .property-detail-slider-two .flex-direction-nav .flex-prev  {
    filter: brightness(1.2) !important;
}

.property-detail-slider-wrapper .property-detail-slider-two .flex-direction-nav a:hover, .property-detail-slider-wrapper .property-detail-slider-carousel-nav .flex-direction-nav a:hover {
    background-color: transparent;
}

/* Up to 1500px: almost flush, ~5px inset */
.property-detail-slider-wrapper .property-detail-slider-two .flex-direction-nav .flex-prev { left: 3px !important; }
.property-detail-slider-wrapper .property-detail-slider-two .flex-direction-nav .flex-next { right: 3px !important; }
/* 1500–1920px: ramps from 5px to 220px */
@media (min-width: 1500px) {
    .property-detail-slider-wrapper .property-detail-slider-two .flex-direction-nav .flex-prev { left: calc(3px + (100vw - 1500px) * 0.512) !important; }
    .property-detail-slider-wrapper .property-detail-slider-two .flex-direction-nav .flex-next { right: calc(3px + (100vw - 1500px) * 0.512) !important; }
}
/* 1920px and up: hold at 220px */
@media (min-width: 1920px) {
    .property-detail-slider-wrapper .property-detail-slider-two .flex-direction-nav .flex-prev { left: 220px !important; }
    .property-detail-slider-wrapper .property-detail-slider-two .flex-direction-nav .flex-next { right: 220px !important; }
}


/* Cap thumbnail row height */

/* .property-detail-slider-carousel-nav.flexslider { max-height: 76px; overflow: hidden; border-bottom: 1px solid var(--rh-global-color-primary);} */


/* .property-detail-slider-carousel-nav.flexslider .slides > li { max-height: 73px; width: 130px !important; } */
/* .property-detail-slider-carousel-nav.flexslider .slides > li { max-height: 73px; } */

/* .property-detail-slider-carousel-nav.flexslider .slides > li img { height: 73px; width: 100%; object-fit: cover; } */

.property-detail-slider-wrapper .flexslider {
    background-color: #515151;
		padding-top: 3px;
}

.flex-control-nav, .flex-direction-nav, .slides, .slides>li {
    border-bottom: 1px solid grey;
}

.property-detail-slider-wrapper .property-detail-slider-two {
    margin-bottom: 0;
}

@media (min-width: 768px) {
.submit-property-form .address-map-fields-wrapper .pb-field-trigger {
	margin-top: -20px;
	display: inline-block;
}
}



#pb-free-note { position: fixed; top: 26px; left: 50%; transform: translateX(-50%); z-index: 9; color: green; white-space: nowrap;font-weight:700;font-size:18px;}
@media (max-width: 999px) {
#pb-free-note { display: none !important; }
}

#pb-free-bar { display: none; }
@media (max-width: 999px) {
#pb-free-bar { display: block; width: 100%; text-align: center; color: green; background: #f2fbf2; padding: 8px 12px; }
}



@media (max-height: 500px) and (orientation: landscape) {
header.rh-header-slim.sticked-header { position: relative !important; z-index: 10000; }
#submit-property-form-actions { position: static !important; }
body.page-template-templatesdashboard-php { padding-top: 2px !important; padding-bottom: 0 !important; }
.dashboard-content { padding-bottom: 25px !important; padding-left: 12px !important; padding-right: 12px !important; }
}

@media (max-height: 500px) and (orientation: landscape) {
#dashboard-sidebar { width: 95% !important; max-width: 95% !important; height: auto !important; max-height: 85vh; overflow-y: auto !important; padding-top: 58px !important; }
#dashboard-menu { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 4px 8px; }
#dashboard-menu > li { width: auto !important; max-width: none !important; }
#dashboard-menu > li > a { white-space: nowrap; }
#dashboard-menu .submenu { display: none !important; }
#dashboard-menu .submenu > li { margin: 0 !important; padding: 4px 6px !important; }
#dashboard-menu .submenu > li > a { padding: 16px 40px 16px 17px !important; }
}



/* ============================================================================
   [07] GTRANSLATE LANGUAGE SWITCHER
   ----------------------------------------------------------------------------
   CLEANED UP: the desktop .gt_switcher_wrapper was previously defined in two
   separate blocks with conflicting values. They had equal specificity, so the
   later block won on shared properties while the earlier block's "bottom: 3px"
   survived (it wasn't overridden). Both have been merged into ONE desktop
   block below using the exact values that the browser was already computing,
   so this renders identically to before — just without the duplication.
   Invalid declarations (negative padding, "font-color") have been removed;
   they were silently ignored by browsers and changed nothing.
   ============================================================================ */

/* --- Mobile switcher position + size (<=767px) ----------------------------
   NOTE: the desktop .gt_switcher_wrapper block (further down) has no media
   query, so it also applies on mobile and — being later in the file — wins any
   tie. GTranslate ALSO prints an inline style="position:fixed;..." on this
   element. To beat BOTH, the sizing/position values here use !important.
   'overflow:hidden' was REMOVED: it was clipping the oversized flag (cropped
   bottom/right) instead of letting it shrink. The flag is resized properly in
   the paired rule below.
   --------------------------------------------------------------------------- */
@media (max-width: 767px), (max-height: 500px) and (orientation: landscape) {
    .gtranslate_wrapper,
    #gt-wrapper-87226058 {
        opacity: 0;
        transition: opacity 0.2s ease;
    }
    .rh-loaded .gtranslate_wrapper,
    .rh-loaded #gt-wrapper-87226058 {
        opacity: 1;
    }
}



/* --- Mobile: resize the custom English flag (<=767px) ----------------------
   The flag is a BACKGROUND image (see the [07] en-flag rule), so capping the
   <img> with max-width does nothing. We must shrink all three in-sync values:
   background-size, padding-left (width) and height. 24x24 here — adjust to
   taste, but keep all three equal.
   --------------------------------------------------------------------------- */


/* --- Switcher link / label tweaks --- */
a.glink {
    margin-right: -30px !important;
}

.gt_float_wrapper {
    z-index: 99999999999;
}

a.glink span {
    font-size: 14px !important;
    margin-right: 0px !important;
}

.gt_switcher-popup glink nturl notranslate {
    margin-right: -30px !important;
}

/* --- Desktop switcher wrapper (merged: see section note above) --- */
.gt_switcher_wrapper {
    background-color: #646464;
    padding-left: 4px;
    max-width: 56px;
    margin-bottom: 7px !important;
    overflow: hidden;
    left: 7px !important;
    max-height: 48px;
    bottom: 0 !important;
    z-index: 999999999999999 !important;
}	
.gt_switcher_wrapper {
    width: 56px !important;
    height: 56px !important;
    max-height: 56px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 18px 38px rgba(15, 123, 241, 0.34), 0 7px 14px rgba(16, 24, 40, 0.18) !important;
}
	
/* --- Popup language list (scrollable area + scroll arrows) --- */
.gt_white_content a {
    width: 270px;
}

.gt_white_content {
    position: relative;
    top: 0 !important;
    padding-bottom: 40px;
    height: 80% !important;
    margin-top: 80px !important;
    overflow-y: auto;                        /* ensure it's the scroll container */
    overscroll-behavior: contain !important; /* stop scroll chaining to the page */
}

/* Bottom scroll arrow (fades — toggled by child-custom.js) */
.gt_white_content.gt-scrollable::after {
    content: "▼";
    position: fixed;
    bottom: 15px;
    left: 15px;
    right: 15px;
    color: #ababab;
    font-size: 50px;
    font-weight: bold;
    text-align: center;
    pointer-events: none;
    z-index: 1001;
    text-shadow: 0 1px 3px rgba(0,0,0,0.8);
    opacity: 0.3;
    transition: opacity 0.5s ease;
}

/* Top scroll arrow (fades — toggled by child-custom.js) */
.gt_white_content.gt-scrollable.gt-scrolled-top::before {
    content: "▲";
    position: fixed;
    top: 15px;
    left: 15px;
    right: 15px;
    color: #ababab;
    font-size: 50px;
    font-weight: bold;
    text-align: center;
    pointer-events: none;
    z-index: 1001;
    text-shadow: 0 1px 3px rgba(0,0,0,0.8);
    opacity: 0.3;
    transition: opacity 0.5s ease;
}

/* Hide bottom arrow when scrolled to bottom */
.gt_white_content.gt-scrollable.gt-scrolled-top:not(.gt-scrolled-bottom)::after {
    opacity: 0;
}

/* Hide top arrow when scrolled to top */
.gt_white_content.gt-scrollable:not(.gt-scrolled-top)::before {
    opacity: 0;
}

/* --- English flag default image (custom flag replacement) ------------------
   GTranslate hardcodes width=48 height=48 on the <img> and we can't change its
   src from CSS, so we collapse the real <img> (width:0) and paint our custom
   en-default.png as a BACKGROUND into a padding strip instead.

   The visible flag size is governed by THREE values that must stay in sync:
       background-size: W H   (how big the flag is drawn)
       padding-left:    W     (the strip it sits in — must equal background W)
       height:          H     (must equal background H)
   Desktop = 48x48 below. Mobile overrides all three (see mobile block).

   URL is now RELATIVE so it works on every subdomain (no more hardcoded
   propertyboutique.es). Requires en-default.png to exist at:
       /wp-content/themes/realhomes-child/images/en-default.png
   --------------------------------------------------------------------------- */
.gt_switcher-popup.glink img[alt="en"] {
    width: 0;
    height: 42px;                        /* must match background-size height */
    padding-left: 48px;                  /* must match background-size width  */
    background: url("/wp-content/themes/realhomes-child/images/en-default.png") no-repeat;
    background-size: 48px 48px;
	margin-top: 13px !important;
	opacity: 0.7;
}

@media (max-width: 767px), (max-height: 500px) and (orientation: landscape) {
    .gt_switcher_wrapper {
        background-color: transparent !important;
        box-shadow: none !important;
        border-radius: 0 !important;
        width: auto !important;
        height: auto !important;
        display: block !important;
        position: absolute !important;
        top: 0 !important;
        margin-top: 16px !important;
        margin-left: 49px !important;
        padding-left: 6px !important;
        left: 8px !important;
        max-width: 38px !important;
        max-height: 39px !important;
        z-index: 999999 !important;
		min-width: 35px !important;
    }
}

@media (max-width: 767px), (max-height: 500px) and (orientation: landscape) {
    .gt_switcher-popup.glink span {
        display: none !important;
    }
    .gt_switcher-popup.glink img {
        position: static !important;
        display: block !important;
        width: 32px !important;
        height: 32px !important;
        margin: 13px 0 0 0 !important;
    }
    .gt_switcher-popup.glink img[alt="en"] {
        width: 0 !important;
        padding-left: 31px !important;
        background-size: 32px 32px !important;
        background-repeat: no-repeat !important;
    }
}

@media (max-width: 767px), (max-height: 500px) and (orientation: landscape) {
    .gt_switcher-popup.glink {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        margin: 0 !important;
        width: 38px !important;
        height: 38px !important;
        overflow: visible !important;
    }
}

.fade-in-manual { opacity: 0; }
.fade-in-manual.animated { opacity: 1; animation: fadeIn 0.8s ease-in-out; }

.pb-realcenter-list-wrap{display:flex;justify-content:center;}
.pb-realcenter-list-wrap::before{content:"";flex:0 999 0px;}
.pb-realcenter-list-wrap ul{text-align:left;margin:0;}

.pb-center-list-wrap{display:flex;justify-content:center;}
.pb-center-list-wrap::before{content:"";display:block;flex:0 999 34px;}
.pb-center-list-wrap ul{text-align:left;margin:0;min-width:0;}

.pb-center-inner{text-align:left;min-width:0;}
.pb-center-inner ul{margin:0;}

/* Target the form ONLY on the main Services page and specified sub-pages */
.services-center-btn .wpforms-submit-container {
    text-align: center !important;
}



.terms-link-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 0;
}

.terms-link-row {
    display: flex;
    gap: 11px;
    align-items: center;
    flex-shrink: 0;
}

@media (max-width: 600px) {
  .pb-order-form-wrap #left { width: 2% !important; }
  .pb-order-form-wrap #center { padding-right: 5px !important; }
  .pb-order-form-wrap td[style*="width: 75%"] { width: 98% !important; }
}

.pb-package-img { 
	width: 60%; 
	height: auto; 
	box-shadow: 
		/* 1st Border: 1px crisp earth-tone dark charcoal frame */
		inset 0 0 0 1px rgba(40, 35, 30, 0.4), 
		/* 2nd Border: 1px light grey line over the shadow */
		inset 0 0 0 2px rgba(220, 215, 210, 0.5), 
		/* Main Centered Shadow: Muted warm grey ambient glow */
		0 4px 40px rgba(45, 40, 35, 0.25), 
		/* Secondary Shadow: Adds a tight, sharp ground definition */
		0 2px 10px rgba(45, 40, 35, 0.15) !important;
		border-radius: 5px !important;
}
@media (max-width: 767px) {
  .pb-package-img { width: 98% !important; margin-top: -15px !important; box-shadow: none !important; border: 1px solid grey !important; }
}


.tml .tml-field {
    background: #fff;
}

.rh_sidebar .widget .title, .rh_sidebar .widget .wp-block-group__inner-container>h2, .rh_sidebar .widget .wp-block-search__label {
    font-size: 2.2rem;
    font-weight: 400;
    margin: 0 0 2rem 0;
    color: var(--rh-global-color-secondary);
}

.widget_properties_filter_widget .filter-wrapper h4:before, .rhea-properties-filter-widget .filter-wrapper h4:before {
    background-color: transparent;
}

.widget_properties_filter_widget .filters-widget-wrap, .rhea-properties-filter-widget .filters-widget-wrap {
    padding: 0px;
    background: grey;
    border-radius: 0px;
}

.widget_properties_filter_widget .filter-wrapper .terms-list .items-visible>span i, .widget_properties_filter_widget .filter-wrapper .terms-list .items-view-more>span i, .rhea-properties-filter-widget .filter-wrapper .terms-list .items-visible>span i, .rhea-properties-filter-widget .filter-wrapper .terms-list .items-view-more>span i {
    top: 8px;
}

.widget_properties_filter_widget .filter-wrapper .terms-list .items-visible>span, .widget_properties_filter_widget .filter-wrapper .terms-list .items-view-more>span, .rhea-properties-filter-widget .filter-wrapper .terms-list .items-visible>span, .rhea-properties-filter-widget .filter-wrapper .terms-list .items-view-more>span {
    color: #333;
    font-weight: 300;
}

.widget_properties_filter_widget .filter-wrapper .posts-list .items-visible .pt-item.thumbnail .item-content h5, .widget_properties_filter_widget .filter-wrapper .posts-list .items-view-more .pt-item.thumbnail .item-content h5 {
    font-size: 12px !important;
}





.rh_view_type {
    display: none !important;
}

@media (min-width: 768px) {
    .property-gallery-images .drag-drop-container {
        padding: 10px 15px 10px;
    }
}
@media (min-width: 768px) {
    .property-attachments-container .attachments-drag-drop {
        padding-top: 10px;
        padding-bottom: 10px;
    }
}



.pagination {
  display: flex;
  justify-content: center;
  list-style: none;
  padding: 0px;
}

.pagination li a {
  display: block;
  padding: 0px 14px;
  text-decoration: none;
  border: 1px solid gray;
  color: black;
  margin: 0 4px;
  border-radius: 10px;
  transition: background-color 0.5s;  
}

.pagination li a.active {
  background-color: #1ea69a;
  color: white;
}

.pagination li a:hover:not(.active) {
  background-color: lightgray;
}





.paginationnew {
  display: flex;
  justify-content: center;
  list-style: none;
  padding-bottom: 60px;
}

.paginationnew li a {
  display: block;
  padding: 6px 18px;
  text-decoration: none;
  border: 1px solid gray;
  color: black;
  margin: 0 4px;
  border-radius: 10px;
  transition: background-color 0.5s;  
}

.paginationnew li a.active {
  background-color: #1ea69a;
  color: white;
}

.paginationnew li a:hover:not(.active) {
  background-color: lightgray;
}

.pb-login-msg {
  text-align: center;
  padding: 12px 20px;
  margin: 0 auto 40px;
  max-width: 420px;
  border: 1px solid #1ea69a;
  border-radius: 8px;
  color: #333;
}



.rh_page__head-agents-list-template .verified-agents, .rh_page__head-agents-list-template .verified-agencies {
		justify-content: center;
		margin: 20px 0 40px 0;
    }

@media (max-width: 767px) {
    .rh_page__head-agents-list-template .verified-agents, .rh_page__head-agents-list-template .verified-agencies {
        justify-content: center;
		margin: 20px 0 40px 0;
    }
}


@media (max-width: 767px) {
    /* Lock header to viewport and let sections stack */
    .rh_page__head-agents-list-template {
        max-width: 100%;
        flex-wrap: wrap;
    }
    /* Let form fields shrink and stack full-width */
    .rh_page__head-agents-list-template .advance-agent-search-form,
    .rh_page__head-agents-list-template .advance-agency-search-form {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        min-width: 0;
    }
    .rh_page__head-agents-list-template .rh_agent_search__option,
    .rh_page__head-agents-list-template .rh_agency_search__option {
        flex: 1 1 100%;
        min-width: 0;
        width: 100%;
    }
    /* Sort control full width below */
    .rh_page__head-agents-list-template .rh_page__controls {
        flex: 1 1 100%;
        min-width: 0;
    }
}

@media (max-width: 767px) {
    /* Agencies only: flatten the wrapper so sort can slot in above the toggle */
    .rh_page__head-agents-list-template .rh_agent__search_form:has(.advance-agency-search-form) {
        display: contents;
    }
    .rh_page__head-agents-list-template .advance-agency-search-form {
        order: 1;
        width: 100%;
    }
    .rh_page__head-agents-list-template .rh_page__controls {
        order: 2;
        flex: 1 1 100%;
        justify-content: right;
        padding: 0 0 10px;
    }
    .rh_page__head-agents-list-template .verified-agents,
    .rh_page__head-agents-list-template .verified-agencies {
        order: 3;
        width: 100%;
        display: flex;
        justify-content: center;
        margin: 10px 0 0 0;
    }
}

.inspiry_bs_agents_listing button.dropdown-toggle {
    min-width: 120px;
	max-width: 100%;
}

.rh_page__head-agents-list-template .rh_agent__search_form, .rh_page__head-agents-list-template .rh_agency__search_form {
	min-width: 87%;
}


.dropdown-menu li.dropdown-header {
	text-align: center;
	font-size: 18px;
	font-weight: 600;
	text-decoration: underline;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: var(--dashboard-primary-color);
}


/* PB: page-head action button (right-aligned, vertically level with title) */
.pb-head-action { display: flex; justify-content: flex-end; align-items: flex-end; }
@media (max-width: 575px) { .pb-head-action { justify-content: flex-start; margin-top: 12px; } }

/* PB: standalone green button (clone of Elementor "success" button, no .elementor scope needed) */
.pb-btn-green { background-color: var(--rh-global-color-primary, #1ea69a); border-radius: 3px; color: #fff; display: inline-block; font-size: 15px; line-height: 1; padding: 12px 24px; text-align: center; text-decoration: none; box-shadow: none; box-sizing: border-box; transition: all .3s; }
.pb-btn-green:hover, .pb-btn-green:focus { color: #fff; text-decoration: none; opacity: .85; }


body:not(.logged-in) #aiMainContainer, body:not(.logged-in) #aiTipBox, body:not(.logged-in) .ai-buttons-bar { display: none !important; }
.pb-guest-notice { margin: 10px 0 0; padding: 14px 18px; border: 1px solid #f0c36d; background: #fff8e5; border-radius: 12px; color: #7a5b00; font-size: 0.95rem; }
.pb-guest-notice a { color: #ea723d; font-weight: bold; }

.pb-savelink-box { border: 2px solid var(--dashboard-primary-color, #1ea69a); border-radius: 8px; padding: 14px 16px; margin: 16px 0; background: #f4fbfa; }
.pb-savelink-title { font-weight: 700; font-size: 15px; color: #333; margin-bottom: 4px; }
.pb-savelink-note { font-size: 13px; color: #666; margin-bottom: 10px; }
.pb-savelink-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.pb-savelink-btn { display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: 6px; border: none; cursor: pointer; font-size: 13px; text-decoration: none; color: #fff !important; background: var(--dashboard-primary-color, #1ea69a); }
.pb-savelink-btn.pb-wa { background: #25d366; }
.pb-savelink-btn.pb-mail { background: var(--dashboard-secondary-color, #ea723d); }
.pb-savelink-btn:hover { opacity: .88; }
.pb-savelink-copied { font-size: 12px; color: #1ea69a; margin-top: 8px; font-weight: 600; }


/* Info popup styling — moved from submit-ai.css so guests get it too */
.popup {
    display: none;
    position: fixed;
    z-index: 9999999;
    left: 0; top: 0;
    width: 100%; height: 100%;
    background-color: rgba(0,0,0,0.5);
}
.popup-content {
    background: #fff;
    margin: 5% auto;
    padding: 20px;
    border-radius: 8px;
    max-width: 500px;
    position: relative;
}






.rh_login_modal_wrapper .rh_login_tabs li {
    padding: 6px 20px 5px;
    border-radius: 8px;
    border: 2px solid #D3D3D3;
    font-size: 23px;
    font-weight: 600;
    background: #fff;
    color: grey;
    position: relative;
    transition: border-color 0.2s ease; /* no box-shadow here */
}

/* Active tab glow (matches your HTML: class="... rh_active") */
.rh_login_modal_wrapper .rh_login_tabs li.rh_active {
    border-color: #ea723d;
    box-shadow:
        0 -2px 8px rgba(234, 114, 61, 0.9),
        0 -4px 16px rgba(234, 114, 61, 0.6),
        0 0 12px rgba(234, 114, 61, 0.7);
}

/* Hover glow for inactive tabs only */
.rh_login_modal_wrapper .rh_login_tabs li:not(.rh_active):hover {
    border-color: #ea723d;
    box-shadow:
        0 -2px 8px rgba(234, 114, 61, 0.9),
        0 -4px 16px rgba(234, 114, 61, 0.6),
        0 0 12px rgba(234, 114, 61, 0.7);
}

/* Text inside tabs */
.rh_login_modal_wrapper .rh_login_tabs li {
    cursor: pointer;
}

/* Base: position for pseudo-element */
.rh_login_modal_wrapper .rh_login_tabs li {
    position: relative;
    z-index: 1;
}

/* Add glow via box-shadow */
.rh_login_modal_wrapper .rh_login_tabs li.rh_active,
.rh_login_modal_wrapper .rh_login_tabs li:not(.rh_active):hover {
    border-color: #ea723d;
    box-shadow:
        0 -2px 8px rgba(234, 114, 61, 0.9),
        0 -4px 16px rgba(234, 114, 61, 0.6),
        0 0 12px rgba(234, 114, 61, 0.7);
}

/* Mask the bottom glow */
.rh_login_modal_wrapper .rh_login_tabs li.rh_active::after,
.rh_login_modal_wrapper .rh_login_tabs li:not(.rh_active):hover::after {
    content: "";
    position: absolute;
    left: -12px;
    right: -12px;
    bottom: -16px;
    height: 20px;                 /* covers the glow area below the border */
    background: #fff;             /* match the modal background color */
    z-index: 2;                   /* above the glow, below the text */
    pointer-events: none;
}




/* Base: full border for all tabs */
.rh_login_modal_wrapper .rh_login_tabs li {
    padding: 6px 20px 5px;
    border-radius: 8px;
    border: 2px solid #D3D3D3;
    font-size: 23px;
    font-weight: 600;
    background: #fff;
    color: grey;
    position: relative;
    cursor: pointer;
    transition: box-shadow 0.2s ease, border-color 0.2s ease;
    z-index: 1;
}

/* Active tab: glow, full border visible */
.rh_login_modal_wrapper .rh_login_tabs li.rh_active {
    border-color: #ea723d;
    box-shadow:
        0 -2px 8px rgba(234, 114, 61, 0.9),
        0 -4px 16px rgba(234, 114, 61, 0.6),
        0 0 12px rgba(234, 114, 61, 0.7);
}

/* Glow on hover for inactive */
.rh_login_modal_wrapper .rh_login_tabs li:not(.rh_active):hover {
    border-color: #ea723d;
    box-shadow:
        0 -2px 8px rgba(234, 114, 61, 0.9),
        0 -4px 16px rgba(234, 114, 61, 0.6),
        0 0 12px rgba(234, 114, 61, 0.7);
}

/* Mask bottom of INACTIVE tabs so it appears shorter */
.rh_login_modal_wrapper .rh_login_tabs li:not(.rh_active)::after {
    content: "";
    position: absolute;
    left: -2px;          /* match border width */
    right: -2px;
    bottom: -2px;
    height: 6px;         /* tune so the visible part matches active tab height */
    background: #fff;    /* modal background color */
    z-index: 2;          /* above border, below text */
    pointer-events: none;
}

/* "FREE!" badge for the Join tab */
.rh_login_modal_wrapper .rh_login_tabs li.rh_register_target::before {
    content: "FREE!";
    position: absolute;
    top: -8px;                  /* Pulls it slightly above the tab border */
    right: -7px;                /* Shifts it slightly off the right edge */
    background-color: #ff3b30;   /* Vibrant, modern red background */
    color: #ffffff;              /* Crisp white text */
    font-size: 10px;             /* Small, highly readable font size */
    font-weight: 800;            /* Extra bold to make it pop */
    padding: 2px 6px;            /* Gives the badge some breathing room */
    border-radius: 4px;          /* Clean, slightly rounded corners */
    text-transform: uppercase;
    transform: rotate(15deg);    /* Angles the badge to the right */
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15); /* Soft shadow to lift it off the tab */
    z-index: 10;                 /* Ensures it sits safely above active/inactive masks */
    letter-spacing: 0.5px;
}


/* PB: OTP panel layout when opened from registration.
   The theme sets an inline pixel height on .rh_wrapper_login_forms by measuring
   the visible forms, and re-applies it on window resize. When the OTP panel is
   open all forms are hidden, so that wrapper becomes an empty box. Collapse it
   with !important so the theme's resize handler can't undo it. */
.rh_login_modal_wrapper.pb-otp-open .rh_wrapper_login_forms {
	height: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
}

/* The status overlay is only for the spinner / success / error states.
   It reserves 200px even when empty, so hide it until it has something to show. */
.rh_login_modal_wrapper.pb-otp-open .rh_otp_status_overlay {
	display: none;
}

.rh_login_modal_wrapper.pb-otp-open .rh_otp_status_overlay.pb-otp-status-active {
	display: flex;
}

.rh_modal__dashboard .pb-login-join { display: flex; align-items: center; }
.rh_modal__dashboard .pb-login-join:hover { text-decoration: none; }


.rh_modal .rh_modal__wrap .rh_modal__dashboard {
    display: block;
    padding: 1rem 0; /* remove horizontal padding so links can fill width */
    background: #fff;
    text-align: left;
}

/* Full-width clickable area */
.rh_modal .rh_modal__wrap .rh_modal__dashboard a {
    display: block;
    padding: 0.85rem 2.5rem;
    font-weight: 600;
    color: inherit;
    text-decoration: none;
    border-bottom: 1px dotted #d8d8d8;
    transition: color .15s ease, background-color .15s ease;
}

/* Hover/focus */
.rh_modal .rh_modal__wrap .rh_modal__dashboard a:hover,
.rh_modal .rh_modal__wrap .rh_modal__dashboard a:focus {
    color: var(--rh-global-color-secondary);
    text-decoration: none;
    font-weight: 600; /* same weight avoids movement */
    background: #fafafa; /* subtle highlight */
}

/* Remove divider from last item */
.rh_modal .rh_modal__wrap .rh_modal__dashboard a:last-child {
    border-bottom: none;
}

.rh_modal .rh_modal__wrap .rh_modal__dashboard .rh_modal__dash_link {
    display: flex;
    align-items: center;
    width: 100%;
    margin-bottom: 0;
    padding: 1.1rem 0 1.1rem;
    transition: .2s all linear;
    border-bottom: 1px dotted #d6d6d6;
	padding-left: 20px;
}

.rh_modal {
	top: 0;
	width: 230px;
}

.rh_modal .rh_modal__wrap {
	border: 2px solid var(--dashboard-secondary-color, #ea723d);
}


/* PB native thumbnail strip */
.pb-native-strip { overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; scrollbar-width: thin; border-bottom: 1px solid var(--rh-global-color-primary); }
.pb-native-strip .slides { display: flex !important; flex-wrap: nowrap; width: max-content !important; margin: 0; }
.pb-native-strip .slides > li { flex: 0 0 130px; width: 130px !important; margin-right: 5px; float: none !important; display: block !important; }
.pb-native-strip .slides > li img { display: block; height: 73px; width: 100%; object-fit: cover; cursor: pointer; }
.pb-native-strip .slides > li.flex-active-slide img { outline: 2px solid var(--rh-global-color-primary); outline-offset: -2px; }
.pb-native-strip { height: auto !important; max-height: none; }

.pb-strip-outer { position: relative; }
.pb-strip-arrow { position: absolute; top: 0; bottom: 0; width: 32px; border: none; cursor: pointer; z-index: 5; opacity: 0; pointer-events: none; transition: opacity .25s ease; background: linear-gradient(90deg, rgba(0,0,0,.45), rgba(0,0,0,0)); }
.pb-strip-arrow--next { right: 0; background: linear-gradient(270deg, rgba(0,0,0,.45), rgba(0,0,0,0)); }
.pb-strip-arrow.is-visible { opacity: 1; pointer-events: auto; }
.pb-strip-arrow::before { content: ''; position: absolute; top: 50%; width: 10px; height: 10px; border-top: 2px solid #fff; border-right: 2px solid #fff; }
.pb-strip-arrow--prev::before { left: 12px; transform: translateY(-50%) rotate(-135deg); }
.pb-strip-arrow--next::before { right: 12px; transform: translateY(-50%) rotate(45deg); }
.pb-native-strip { scroll-behavior: auto !important; }

/* PB native strip: custom scrollbar colours */
.pb-native-strip {
    scrollbar-color: #177b72 #2b2b2b; /* Firefox: thumb, track */
}
.pb-native-strip::-webkit-scrollbar {
    height: 8px;
}
.pb-native-strip::-webkit-scrollbar-track {
    background: #2b2b2b;
}
.pb-native-strip::-webkit-scrollbar-thumb {
    background-color: #999999;
    border-radius: 4px;
}
.pb-native-strip::-webkit-scrollbar-thumb:hover {
    background-color: #bbbbbb;
}

@media (min-width: 768px) {
    .rh_footer .rh_footer__social {
        padding-bottom: 0;
        margin-left: auto;
        margin-right: auto;
        margin-top: -16px;
		padding-left: 160px;
		opacity: 0.5;
    }
}

.rh_footer .separator {
    display: none !important;
}

.rh_footer .rh_footer__logo .tag-line {
	color: #09736a;
    text-align: center;
}

/* Footer bottom text */
.rh_footer__bottom_wrap,
.rh_footer__bottom_wrap p,
.rh_footer__bottom_wrap a {
    color: black !important;
	font-weight: 500;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.15);
}

/* Keep hover/active links white */
.rh_footer__bottom_wrap a:hover,
.rh_footer__bottom_wrap a:focus,
.rh_footer__bottom_wrap a:active {
    color: #fff !important;
}

/* Standalone separator */
.rh_footer__bottom_wrap .rh-footer-bottom-items-separator {
    color: #999 !important; /* or whatever colour you want */
}

.rh_footer a, .rh_footer .rh_footer__wrap .designed-by a, .rh_footer .rh_footer__wrap .copyrights a, .rh_footer .rh_footer__social a
Specificity: (0,2,1)
 {
    color: #b5b5b5;
}



/* 1. Targets only the 3rd column container (60% opacity by default) */
.rh_footer__widgets_wrap > .rh_footer__widgets:nth-child(3) {
    opacity: 0.8;
    transition: opacity 0.3s ease;
}

/* 2. Bring to full opacity when hovered... */
.rh_footer__widgets_wrap > .rh_footer__widgets:nth-child(3):hover,
/* 3. ...OR when any input inside it is clicked/active (even if mouse moves away) */
.rh_footer__widgets_wrap > .rh_footer__widgets:nth-child(3):focus-within {
    opacity: 1;
}

/* Your original selector with an added transition for a smooth fade */
.rh_footer .rh_footer__logo img {
    max-width: 140px;
    opacity: 0.7;
    transition: opacity 0.3s ease; /* Makes the hover effect smooth instead of an instant snap */
}

/* The hover state to bring it back to full opacity */
.rh_footer .rh_footer__logo img:hover {
    opacity: 1;
}

/* Target only the emoji inside the home menu item */
.rh_menu__main .menu-item-19259 .emoji {
    width: 22px !important;   /* Adjust this size as needed */
    height: 22px !important;  /* Keep width and height equal */
    vertical-align: middle;   /* Keeps it aligned nicely with other text links */
    transform: translateY(-2px); /* Optional: fine-tunes the vertical position */
}

.wp-image-5104 {
  background: none !important;
  background-color: transparent !important;
}

.wp-caption {
  background: none !important;
  background-color: transparent !important;
}




/* Hide number input spinner arrows */
#wpforms-11808-field_3::-webkit-outer-spin-button,
#wpforms-11808-field_3::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
#wpforms-11808-field_3 {
  -moz-appearance: textfield;
}

/* Placeholder disappears on focus */
#wpforms-11808-field_3:focus::placeholder {
  color: transparent;
}

/* Layout: input + button side by side */
#wpforms-form-11808 {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-end;
  gap: 0px;
}
#wpforms-form-11808 .wpforms-field-container {
  flex: 1 1 auto;
  min-width: 0;
  margin-bottom: -21px;
}
#wpforms-11808-field_3-container .wpforms-field-label {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#wpforms-form-11808 .wpforms-submit-container {
  margin-top: 0;
  flex: 0 0 auto;
  min-width: 120px;
}

/* Button padding */
#wpforms-submit-11808 {
  padding-left: 3px;
  padding-right: 3px;
  min-width: 80px;
}
@media (max-width: 768px) {
  #wpforms-submit-11808 {
    padding-left: 4px;
    padding-right: 4px;
  }
}
#wpforms-11808-field_3 {
  height: 42px;
}

/* PB: Public Name field + verification button */
.pb-title-row {
	display: flex;
	align-items: stretch;
	gap: 8px;
	width: 100%;
}
.pb-title-input-wrap {
	position: relative;
	flex: 1 1 auto;
	min-width: 0;
}
.pb-title-input-wrap input {
	width: 100%;
}
.pb-title-tick {
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
	width: 15px;
	height: 15px;
	pointer-events: none;
}
.pb-title-tick svg {
	width: 100%;
	height: 100%;
	fill: #1ea69a;
}
.pb-is-verified .pb-title-input-wrap input {
	padding-right: 34px;
	background: #f7f7f7;
	cursor: not-allowed;
}
.pb-verify-btn {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	font-size: clamp(13px, 1.1vw + 6px, 17px);
	line-height: 1;
	padding: clamp(8px, 0.8vw + 4px, 14px) clamp(14px, 1.8vw + 6px, 26px);
	border-radius: 3px;
	color: #fff;
	text-decoration: none;
	white-space: nowrap;
}
.pb-verify-btn--get {
	background: #8a8a8a;
}
.pb-verify-btn--get:hover {
	background: #6f6f6f;
	color: #fff;
}
.pb-verify-btn--done {
	background: #1ea69a;
	pointer-events: none;
	cursor: default;
}


/* PB: verified tick — matches the site badge (white check in a filled circle) */
.pb-title-tick {
	position: absolute;
	right: 8px;
	top: 50%;
	transform: translateY(-50%);
	display: inline-flex !important;
	justify-content: center;
	align-items: center;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: #1ea69a;
	pointer-events: none;
	list-style: none !important;
}
.pb-title-tick::before,
.pb-title-tick::after {
	content: none !important;
}
.pb-title-tick svg {
	display: block;
	width: 11px;
	height: 11px;
	fill: #fff !important;
}
.pb-title-tick svg path {
	fill: #fff !important;
}


/* PB: locked-field badge (grey padlock + small green tick) */
.pb-lock-badge {
	position: absolute;
	right: 8px;
	top: 70%;
	transform: translateY(-50%);
	display: inline-flex;
	align-items: center;
	gap: 3px;
	pointer-events: none;
}
.pb-lock-badge__lock svg {
	display: block;
	fill: #9a9a9a;
}
.pb-lock-badge__tick {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: #1ea69a;
}
.pb-lock-badge__tick svg {
	display: block;
	fill: #fff;
}
.pb-locked-wrap {
	position: relative;
}
.pb-locked-wrap input,
.pb-locked-wrap textarea {
	padding-right: 46px;
	background: #f7f7f7;
	cursor: not-allowed;
}

.dashboard-agents .dashboard-posts-list .small-column-wrap,
.dashboard-agencies .dashboard-posts-list .small-column-wrap {
    align-items: flex-start;
}
.dashboard-agents .dashboard-posts-list .small-column-wrap .column,
.dashboard-agencies .dashboard-posts-list .small-column-wrap .column {
    text-align: left;
}


/* Avatar images: defaults + user uploads fill the box uniformly (no small-image-in-big-box) */
.profile-image-upload-container .profile-image img,
.rh_agent_card__dp img,
.pb-default-avatar {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}


.tml-user-links .tml-user-link-site_admin { display: none; }
.tml-user-links { display: flex !important; flex-wrap: wrap; gap: 16px; list-style: none !important; margin: 0; padding: 0; }
.tml-user-links li { margin: 0; display: block; }


/* ===== Filter off-canvas drawer (page 4661, below 1024px) ===== */
@media (max-width: 1023px) {

  /* Panel — full height always; scroll offset applied via translateY (no height writes) */
  .page-id-4661 .widget_properties_filter_widget {
    position: fixed;
    top: 2px;
    left: calc(-1 * min(320px, 85vw));
    height: calc(100dvh - 2px);
    width: min(320px, 85vw);
    background: #fff;
    box-shadow: 2px 0 14px rgba(0,0,0,.22);
    border-top-right-radius: 14px;
    z-index: 9999;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 15px 5px 40px;
    margin: 0;
    transform: translate3d(0,144px,0);
    transition: left .28s ease;
    will-change: transform, left;
	border-top: 2px solid grey;

  }
  .page-id-4661 .widget_properties_filter_widget.pb-filter-open { left: 0; }

  /* Green line — 10px, full height, sits at edge, travels with tab + scroll */
  .page-id-4661 .pb-filter-line {
    position: fixed;
    top: 6px;
    left: 0;
    width: 15px;
    height: calc(100dvh - 6px);
    background: var(--rh-global-color-primary, #1ea69a);
    border-top-right-radius: 6px;
    z-index: 10000;
    cursor: pointer;
    transform: translate3d(0,144px,0);
    transition: left .28s ease;
    will-change: transform, left;
  }
  .page-id-4661 .pb-filter-line.pb-open { left: min(320px, 85vw); }

  /* Tab stack — just right of the line */
  .page-id-4661 .pb-filter-tabs {
    position: fixed;
    top: 6px;
    left: 10px;
    z-index: 10001;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    transform: translate3d(0,144px,0);
    transition: left .28s ease;
    will-change: transform, left;
    user-select: none;
	margin-top: 5px;
  }
  .page-id-4661 .pb-filter-tabs.pb-open { left: calc(min(320px, 85vw) + 10px); margin-top: 5px;}

  /* Lock tab (dark grey, brass padlock) */
  .page-id-4661 .pb-filter-lock {
    width: 34px;
    height: 34px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #444;
    font-size: 12px;
    cursor: pointer;
    border-radius: 0 6px 0 0;
    box-shadow: 2px 0 8px rgba(0,0,0,.2);
	border: 6px solid var(--rh-global-color-primary, #1ea69a);
  }
  .page-id-4661 .pb-filter-lock.pb-locked { background: #333; }
  .page-id-4661 .pb-filter-lock i { color: #c19a3b; }

  /* Filters / Close tab */
  .page-id-4661 .pb-filter-handle {
    width: 34px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 28px 0;
    background: var(--rh-global-color-primary, #1ea69a);
    color: #fff;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: .7px;
    cursor: pointer;
    border-radius: 0 0 6px 0;
    box-shadow: 2px 2px 8px rgba(0,0,0,.2);
    writing-mode: vertical-rl;
    text-orientation: mixed;
  }
}

@media (min-width: 1024px) {
  .page-id-4661 .pb-filter-handle,
  .page-id-4661 .pb-filter-lock,
  .page-id-4661 .pb-filter-tabs,
  .page-id-4661 .pb-filter-line { display: none; }
}





.widget_properties_filter_widget .property-filters .collapse-button, .rhea-properties-filter-widget .property-filters .collapse-button {
    right: 4px;
    top: -28px;
    width: 160px;
}

.collapse-button {
  padding: 12px 24px 12px 16px;   /* more padding on all sides */
  width: auto;                    /* or min-width: 180px */
  /* keep your existing position and text-align */
}

.widget_properties_filter_widget .property-filters .collapse-button>span .button-text, .rhea-properties-filter-widget .property-filters .collapse-button>span .button-text {
    height: 15px;
    font-size: 12px;
	margin-top: -8px;
}

/* 1. Make the text span fill the ENTIRE green box */
.widget_properties_filter_widget .property-filters .collapse-button .button-text,
.rhea-properties-filter-widget .property-filters .collapse-button .button-text {
    position: absolute;
    inset: 0; /* top:0; right:0; bottom:0; left:0; */
    height: auto !important; /* OVERRIDE the tiny 15px height */
    display: flex;
    align-items: center;
    justify-content: flex-end; /* keeps text on the right side */
    padding: 6px 16px 6px 0; /* match your original padding */
    cursor: pointer;
    z-index: 2; /* sits above the background, but we'll handle the icon below */
    background: transparent; /* ensures no accidental background blocking */
}

/* 2. Let clicks on the icon pass through to the expanded span */
.widget_properties_filter_widget .property-filters .collapse-button i,
.rhea-properties-filter-widget .property-filters .collapse-button i {
    pointer-events: none; /* CRITICAL: makes the icon "click-transparent" */
    position: relative;
    z-index: 3; /* keeps the icon visually ON TOP of the span */
    margin-left: 4px; /* keep spacing nice (optional) */
}

/* 3. Make sure the wrapper span doesn't restrict the absolute child */
.widget_properties_filter_widget .property-filters .collapse-button > span,
.rhea-properties-filter-widget .property-filters .collapse-button > span {
    display: block;
    position: relative; /* establishes a stacking context but not strictly needed */
    width: 100%;
    height: 100%;
}

@media (min-width: 320px) {
.page-id-4661 .rvr-is-enabled .rh_list_card {
        max-width: 100%;
    }
}

.page-id-4661 .rh_header {
	max-height: 84px;
}


@media (max-width: 767px), (max-height: 500px) and (orientation: landscape) {
.page-id-4661 .rh_temp_header_responsive_view .rh_menu, .rh_temp_header_responsive_view .rh_menu__user {
        margin-top: -8px;
    }
}

/* Sticky travel: pageload position = element's `top` + this value. Pinned position = `top`. */
@media (min-width: 768px) and (max-width: 1023px) {
    .page-id-4661 { --pb-travel: 84px; }
}
@media (max-width: 767px) {
    .page-id-4661 { --pb-travel: 135px; }
}

@media (max-width: 767px) {
    .page-id-4661 .rh_list_card {
        max-width: 80% !important;
    }
}

html {
    scrollbar-gutter: stable;
}


.rh_page__listing_page .filter-pagination .rh_filter_pagination a,
.rh_pagination a,
.rh_filter_pagination a {
    border-radius: var(--rh-small-border-radius);
}

@media (max-width: 1024px) {
	.page-id-4661 .rh_section {
        margin-left:20px !important;
    }
}



/* Page 4661 — separator and notification bar above properties listing */
body.page-id-4661 #properties-listing { position: relative; }
body.page-id-4661 #properties-listing::before {
    content: "";
	margin-top:-14px !important;
	border-top: 1px solid grey;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    max-width: none;
    height: 15px;
    background: #f7f7f7;
}

body.page-id-4661 #properties-listing::before { margin-top: 0px; }

/* Compact sort-by + save-search controls */
.rh_page__controls .rh_sort_controls .bootstrap-select {
    width: 183px !important;
    max-width: 183px !important;
}

.rh_page__controls .rh_sort_controls .bootstrap-select > .btn.dropdown-toggle {
    padding: 4px 28px 4px 10px !important;
    height: auto !important;
    min-height: 0 !important;
    line-height: 1.2 !important;
    font-size: 13px !important;
}

.page-id-4580 .rh_page__controls .rh_sort_controls .bootstrap-select > .btn.dropdown-toggle {
    padding: 4px 28px 4px 10px !important;
    line-height: 2.8 !important;
	margin-top: -5px !important;
}

.page-id-4580 .rh_page__controls .rh_sort_controls .bootstrap-select {
    width: 123px !important;
    max-width: 123px !important;
}

.rh_page__controls .rh_sort_controls .bootstrap-select .dropdown-menu li a {
    padding: 5px 10px !important;
    font-size: 13px !important;
}

.rh_page__controls #rh_save_search_btn.modern {
    padding: 5px 12px !important;
    height: auto !important;
    min-height: 0 !important;
    line-height: 1.2 !important;
    font-size: 13px !important;
}

.rh_page__controls #rh_save_search_btn.modern i {
    font-size: 13px !important;
    margin-right: 6px !important;
}

.rh_page__controls .rh_sort_controls .bootstrap-select > .btn.dropdown-toggle {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding: 4px 26px 4px 10px !important;
    font-size: 13px !important;
}

.rh_page__controls .rh_sort_controls .bootstrap-select .dropdown-menu {
    width: 100% !important;
    min-width: 0 !important;
}

.rh_page__controls {
        margin-top: 5px;
    }

@media (max-width: 599px) {
    .rh_pagination__stats { font-size: 0 !important; }
    .rh_pagination__stats span { font-size: 14px !important; }
}

/* Page 4661 — no header banner image */
body.page-id-4661 .rh_long_screen_header_temp,
body.page-id-4661 .rh_header_layout_default,
body.page-id-4661 .rh_header_var_1,
body.page-id-4661 .rh_header {
    background-image: none !important;
}




@media (max-width: 599px) {
    .rh_pagination__stats span:last-child { font-size: 0 !important; }
}


.page-id-4661 .rh_page__head {
        padding: 0 0 1rem;
}

.rh_page__listing_page .filters-display {
    margin-bottom:35px !important;
}


.elementor-widget-text-editor img.alignright,
.elementor-widget-text-editor img.alignleft {
    width: auto;
    max-width: 100%;
    height: auto;
}

/* PB header search: green heading text only */
.inspiry_multi_select_picker_location.bootstrap-select .dropdown-menu li.dropdown-header .text,
.inspiry_multi_select_picker_location.bootstrap-select .dropdown-menu li.dropdown-header {
color: #1ea69a !important;
font-weight: 700 !important;
text-align: center !important;
text-transform: uppercase !important;
}


/* PB header search special cell colours */
.pbc-anda { font-weight: 800; text-transform: uppercase; color: #006633; }
.pbc-costa { font-weight: 700; color: #FFEA00; }
.pbc-costa { text-shadow: 0 0 1px #000, 0 2px 2px rgba(0,0,0,.6); }
.pbc-gib { font-weight: 600; color: #DA000c; }
.pbc-prov { font-weight: 600; color: #0051a2; }
.pbc-prov .pbc-all { font-weight: 400; }
.pbc, .pbc-prov, .pbc-prov .pbc-all { display: inline !important; white-space: nowrap; }

/* PB results-page location filter */
#pb-loc-filter { font-size: 14px; }
#pb-loc-filter .pb-lf-costa { padding: 8px 12px; cursor: pointer; font-weight: 700; color: #FFEA00; text-shadow: 0 0 1px #000, 0 1px 2px rgba(0,0,0,.6); background: #d5d5d5; border-radius: 6px; margin-bottom: 4px; }
#pb-loc-filter .pb-lf-costa:hover { background: #FFEA00; color: #000; text-shadow: none;}
#pb-loc-filter .pb-lf-costa.pb-active { background: #cbbf32; color: #000; ; text-shadow: none}
#pb-loc-filter .pb-lf-prov { border: 1px solid #e2ded9; border-radius: 6px; margin-bottom: 6px; overflow: hidden; }
#pb-loc-filter .pb-lf-prov-head { display: flex; align-items: center; gap: 8px; padding: 10px 12px; cursor: pointer; background: #f7f5f2; font-weight: 500 !important; color: #175492; }
#pb-loc-filter .pb-lf-prov-name { flex: 1; font-weight: 500 !important;}
#pb-loc-filter .pb-lf-prov-all { font-size: 12px; font-weight: 600; color: #fff; background: #175492; padding: 2px 8px; border-radius: 10px; cursor: pointer; }
#pb-loc-filter .pb-lf-prov-all.pb-active { background: #006633; }
#pb-loc-filter .pb-lf-arrow { width: 0; height: 0; border-left: 5px solid transparent; border-right: 5px solid transparent; border-top: 6px solid #0051a2; transition: transform .2s; }
#pb-loc-filter .pb-lf-prov.pb-open .pb-lf-arrow { transform: rotate(180deg); }
#pb-loc-filter .pb-lf-towns { display: none; padding: 4px 0; }
#pb-loc-filter .pb-lf-prov.pb-open .pb-lf-towns { display: block; }
#pb-loc-filter .pb-lf-town { display: block; padding: 6px 16px; cursor: pointer; color: #333; }
#pb-loc-filter .pb-lf-town:hover { background: #f0efed; }
#pb-loc-filter .pb-lf-town.pb-active { background: #1ea69a; color: #fff; font-weight: 600; }
#pb-loc-filter .pb-lf-anda { display: block; text-align: left; padding: 10px 12px; margin-bottom: 8px; border-radius: 6px; background: #bebebe; color: #006633; font-weight: 500; text-transform: uppercase; letter-spacing: .5px; text-decoration: none; }
#pb-loc-filter .pb-lf-anda:hover { background: #00552b; color: #fff; }
#pb-loc-filter .pb-lf-gib { padding: 8px 12px; margin-top: 8px; cursor: pointer; font-weight: 500; color: #bf6f73; background: #e6e6e6; border-radius: 6px; text-align: left; }
#pb-loc-filter .pb-lf-gib.pb-active { background: #bf6f73;  color: #fff;}

/* Item 2: Location folded into the Filters widget as a native section */
.property-locations-pb .filter-section { padding: 0; }
.property-locations-pb #pb-loc-filter { margin: 0 10px; }
#pb-loc-filter .pb-lf-gib { margin-bottom: 14px; }
#pb-loc-filter::after { content: ""; display: block; border-top: 1px solid #e2ded9; }

.pb-fallback-note { grid-column: 1 / -1; flex-basis: 100%; width: 100%; box-sizing: border-box; margin: 12px 0; padding: 10px 14px; background: 
color-mix(in srgb, var(--dashboard-secondary-color, #ea723d) 5%, white); color: #a3a3a3; }

/* Quick Find — type-to-open autocomplete */
.pb-qf { position: relative; margin: 14px 0 12px; }
.pb-qf-input { width: 100%; box-sizing: border-box; padding: 8px 12px; border: 1px solid #cfcfcf; border-radius: 6px; font-size: 14px; background: color-mix(in srgb, var(--dashboard-secondary-color, #ea723d) 8%, white);}
.pb-qf-panel { position: absolute; left: 0; right: 0; top: 100%; z-index: 1000; background: color-mix(in srgb, var(--dashboard-secondary-color, #ea723d) 28%, white); border: 1px solid #cfcfcf; border-top: none; border-radius: 0 0 6px 6px; overflow-y: auto; box-shadow: 0 6px 14px rgba(0,0,0,.12); }
.pb-qf-head { padding: 6px 12px; background: #f7f5f2; color: #1ea69a; font-weight: 700; text-align: center; text-transform: uppercase; font-size: 12px; position: sticky; top: 0; }
.pb-qf-row { padding: 7px 14px; cursor: pointer; font-size: 14px; color: #333; }
.pb-qf-row:hover { background: #1ea69a; color: #fff; }
.pb-qf-none { padding: 8px 14px; color: #888; font-size: 13px; }

.rh_page__listing .no-results {
    color: grey;
}


.widget_properties_filter_widget .filter-wrapper h4 {
    background-color: #3e3e3e;
	color: #35c2ac; 
	margin: 0 1px;
	 border-radius: 7px 7px 0px 0px;
	 padding: 10px 10px;
}


.widget_properties_filter_widget .filter-wrapper h4.collapsed:after, .rhea-properties-filter-widget .filter-wrapper h4.collapsed:after {
    transform: none;
    top: 20px;
}

.widget_properties_filter_widget .filter-wrapper h4>span, .rhea-properties-filter-widget .filter-wrapper h4>span {
    color: var(--rh-global-color-secondary);
}

.rh_page__listing_page .filters-display>span.clear-all-filters {
    font-weight: 600; 
}

.rh_list_card__wrap .rh_list_card__thumbnail .rh_list_card__btns a svg path {
	max-width: 60% !important;
    opacity: 0.5;
}

.pb-map-pin { display: inline-block; cursor: pointer; }
.pb-map-pin svg { fill: currentColor; vertical-align: middle; }
.pb-map-pin:hover svg { fill: #1ea69a; }


.rh_list_card__wrap .rh_list_card__thumbnail .rh_list_card__btns a {
    max-width: 16px;
    max-height: 10px;
}

.rh_list_card__wrap .rh_list_card__thumbnail .rh_list_card__btns {
    right: 3px;
    margin: 1rem;
}

.widget_properties_filter_widget .filter-wrapper .terms-list {
    margin-top: 10px;
}

.widget_properties_filter_widget .filter-wrapper.radio-buttons .filter-section {
    margin-top: 8px;
}

.widget_properties_filter_widget .property-filters, .rhea-properties-filter-widget .property-filters {
    border-radius: 0px;
}

.widget_properties_filter_widget .filter-wrapper:last-child, .rhea-properties-filter-widget .filter-wrapper:last-child {
    padding-bottom: 0px;
}

.pb-qf { position: relative; margin: 14px 0 12px; }
#pb-loc-filter .pb-lf-costas { margin-bottom: 15px; }

/* Hide the "No Matching Results" line (fallback search shows alternatives instead) */
.rh_page__listing h4.no-results, #properties-section h4.no-results { display: none; }


.pb-map-pin { display: inline-block; cursor: pointer; }
.pb-map-pin svg { fill: currentColor; vertical-align: middle; }
.pb-map-pin:hover svg { fill: #1ea69a; }

/* Map load: overlay must match the map container so there's no grey->white->map flash */
.rh_map, .rh_map__search, #map-head { background: #f0efed; }
html.rh-deeplink-loading .rh_map::before { background: #f0efed !important; }

/* Google's base map div (inline rgb(229,227,223)) — match our loading colour */
.rh_map div[style*="rgb(229, 227, 223)"],
.rh_map .gm-style > div:first-child {
	background-color: #f0efed !important;
}

/* Nearby pin card */
.pb-nb-card { position: relative; width: 260px; background: #fff; border-radius: 8px; overflow: hidden; box-shadow: 0 6px 18px rgba(0,0,0,.28); font-size: 14px; }
.pb-nb-card .pb-nb-link { display: block; text-decoration: none; color: inherit; }
.pb-nb-img { height: 130px; background-size: cover; background-position: 50% 50%; background-color: #e9e7e4; }
.pb-nb-body { padding: 10px 12px 12px; }
.pb-nb-title { font-weight: 700; color: #222; line-height: 1.25; margin-bottom: 4px; }
.pb-nb-price { color: #1ea69a; font-weight: 700; }
.pb-nb-tag { display: inline-block; margin-top: 6px; padding: 2px 8px; border-radius: 10px; background: #0051a2; color: #fff; font-size: 11px; font-weight: 600; text-transform: uppercase; }
.pb-nb-close { position: absolute; top: 6px; right: 8px; z-index: 2; width: 22px; height: 22px; line-height: 20px; text-align: center; border-radius: 50%; background: rgba(0,0,0,.55); color: #fff !important; text-decoration: none; font-size: 16px; }
.pb-nb-close:hover { background: rgba(0,0,0,.8); }

/* Search scope control */
.pb-scope { display: flex; align-items: center; gap: 8px; margin: 8px 0 10px; padding: 8px 10px; background: #f7f5f2; border: 1px solid #e2ded9; border-radius: 6px; }
.pb-scope-btn { flex: 0 0 28px;
    width: 38px;
    height: 28px;
    line-height: 1;
    border: 1px solid #cfcfcf;
    border-radius: 10px;
    background: #fff;
    color: #0051a2;
    font-size: 17px;
    font-weight: 700;
    cursor: pointer;
    padding: 5px 35px 5px 25px; }
.pb-scope-btn:hover:not(:disabled) { background: #0051a2; color: #fff; border-color: #0051a2; }
.pb-scope-btn:disabled { opacity: .35; cursor: default; }
.pb-scope-mid { flex: 1 1 auto; text-align: center; line-height: 1.2; min-width: 0; }
.pb-scope-label { display: block; font-weight: 700; color: #0051a2; font-size: 14px; }
.pb-scope-dots { display: flex; justify-content: center; gap: 6px; margin: 4px 0 2px; }
.pb-scope-dot { width: 10px; height: 10px; border-radius: 25px; background: #d8d4cf; cursor: pointer; display: inline-block; }
.pb-scope-dot.pb-on { background: #1ea69a; }
.pb-scope-hint { display: block; font-size: 11px; color: #888; }

/* Top-up ("nearby") cards */
.pb-fallback-hidden { display: none !important; }
.pb-fallback-more { display: block; width: 100%; margin: 14px 0; padding: 10px; border: 1px dashed #bbb; border-radius: 6px; background: #fff; color: #0051a2; font-weight: 600; cursor: pointer; }
.pb-fallback-more:hover { background: #f0efed; }

.pb-qf-input:focus::placeholder {
  color: transparent; /* Makes the text invisible but keeps the space */
}

/* 1. The wrapper needs relative positioning to hold the fake cursor */
.pb-qf {
  position: relative;
}

/* 2. The fake blinking cursor (positioned on the left) */
.pb-qf::before {
  content: '';
  position: absolute;
  left: 12px;  /* Match the input's left padding so it lines up with text */
  top: 50%;
  transform: translateY(-50%);
  width: 2px;
  height: 1.2em;   /* Match the font-size of the input */
  background-color: #d5d5d5; /* Use a subtle grey, or #0051a2 for brand color */
  border-radius: 1px;
  z-index: 5;
  pointer-events: none;  /* Crucial: allows clicks to pass straight to the input */
  
  /* The Blinking Animation */
  animation: pb-cursor-blink 1s step-end infinite;
}

/* 3. Hide the fake cursor entirely when the input is focused OR has text */
.pb-qf:focus-within::before {
  display: none;  /* Or use opacity: 0; animation: none; if you prefer */
}

/* 4. The keyframes for the blink effect */
@keyframes pb-cursor-blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0; }
}

.pb-qf-input {
  padding-left: 24px; /* Increase from whatever it was (e.g., 12px) */
}

.pb-qf::before {
  left: 20px; /* Adjust to sit comfortably at the left, maybe a bit left of the text start */
}

.elementor_property_card_parent .rh_overlay__contents a {
    font-size: 18px;
    padding: 25px 40px;
}

.rh_list_card__wrap .rh_list_card__thumbnail .rh_overlay__contents a {
    font-size: 1.6rem;
    padding: 2rem 2rem;
}

.rh_list_card__wrap .rh_list_card__thumbnail .rh_overlay__contents a:hover {
	color: #fff;
	background: #f0ad4e;
}

/* Append to realhomes-child/css/child-custom.css */
.pb-tml-triggers { display: flex; gap: 10px; }
.pb-tml-btn {
    flex: 1 1 auto;
    padding: 10px 14px;
    border: 0;
    border-radius: 4px;
    cursor: pointer;
    font-weight: 600;
}

/* realhomes-child/css/child-custom.css */
.rh_prop_search_form_header .pb-hide-field { display: none !important; }

/* realhomes-child/css/child-custom.css */
/* Hide <WIDGET> on tablet and mobile */
@media screen and (max-width: 1023px) {
    #block-7 {
        display: none !important;
    }
}

/* ============================================================
 * Property agent contact form — Name + Email side by side
 * Add to realhomes-child/css/child-custom.css
 * ============================================================ */
@media (min-width: 501px) {

	.rh_agent_form .rh_agent_form__field:has(> input[name="name"]),
	.rh_agent_form .rh_agent_form__field:has(> input[name="email"]) {
		float: left;
		width: calc(50% - 10px);
	}

	.rh_agent_form .rh_agent_form__field:has(> input[name="name"]) {
		margin-right: 20px;
	}

	.rh_agent_form .rh_agent_form__field:has(> textarea),
	.rh_agent_form .rh_inspiry_gdpr,
	.rh_agent_form .rh_agent_form__row {
		clear: both;
	}
}