/* RAG Listings — matches the Ray White office-site property cards (docs/ray-white-web-style-guide.txt) */
.rag-ls {
	--rag-yellow: #ffe512;
	--rag-ink: #171e1a;
	--rag-muted: #9b9b9b;
	--rag-border: #d8d8d8;
	--rag-divider: #efefef;
	max-width: 1080px;
	margin: 0 auto;
	font-family: Lato, sans-serif;
	color: var(--rag-ink);
	-webkit-font-smoothing: antialiased;
}

/* Tabs */
.rag-ls-tabs { display: flex; gap: 24px; border-bottom: 1px solid var(--rag-divider); margin-bottom: 24px; overflow-x: auto; }
.rag-ls-tab { padding: 12px 2px; color: var(--rag-ink); text-decoration: none; font-weight: 700; font-size: 13px; line-height: 20px; text-transform: uppercase; letter-spacing: 1px; white-space: nowrap; transition: opacity .22s; }
.rag-ls-tab span { color: var(--rag-muted); font-weight: 400; }
.rag-ls-tab.is-active { box-shadow: inset 0 -3px 0 var(--rag-yellow); }
.rag-ls-tab:hover { opacity: .7; }

/* Filters */
.rag-ls-filters { display: grid; grid-template-columns: 1fr; gap: 12px; margin-bottom: 16px; }
.rag-ls-field { display: flex; flex-direction: column; gap: 4px; font-size: 13px; font-weight: 700; }
.rag-ls-field input,
.rag-ls-field select { width: 100%; padding: 12px 16px 13px; border: 1px solid var(--rag-border); border-radius: 3px; background: #fff; color: var(--rag-ink); font: 400 14px/21px Lato, sans-serif; }
.rag-ls-actions { display: flex; align-items: flex-end; gap: 16px; }
.rag-ls-btn { padding: 15px 24px 14px; border: 0; border-radius: 3px; font: 400 12px/19px Lato, sans-serif; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; transition: opacity .22s; }
.rag-ls-btn--brand { background: var(--rag-yellow); color: var(--rag-ink); }
.rag-ls-btn:hover, .rag-ls-reset:hover { opacity: .7; }
.rag-ls-reset { color: var(--rag-ink); font-size: 13px; padding-bottom: 14px; }

.rag-ls-bar { display: flex; align-items: center; justify-content: space-between; margin: 0 0 24px; }
.rag-ls-count { color: var(--rag-muted); font-size: 13px; line-height: 20px; text-transform: uppercase; letter-spacing: 1px; margin: 0; }

/* 2 / 3 column switcher (desktop only) */
.rag-ls-view { display: none; gap: 8px; }
.rag-ls-view__btn { display: inline-flex; gap: 2px; padding: 6px; background: none; border: 1px solid var(--rag-border); border-radius: 3px; cursor: pointer; opacity: .5; transition: opacity .22s; }
.rag-ls-view__btn span { display: block; width: 6px; height: 14px; background: var(--rag-ink); }
.rag-ls-view__btn.is-active, .rag-ls-view__btn:hover { opacity: 1; border-color: var(--rag-ink); }

/* Grid */
.rag-ls-grid { display: grid; grid-template-columns: 1fr; gap: 48px 50px; }

/* Card */
.rag-ls-card { margin: 0; }
.rag-ls-card__img { position: relative; display: block; aspect-ratio: 16 / 9; background: #f8f8f9; overflow: hidden; transition: opacity .22s; }
.rag-ls-card__img:hover { opacity: .7; }
.rag-ls-card__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.rag-ls-card__badge { position: absolute; top: 0; right: 0; background: var(--rag-yellow); color: var(--rag-ink); font-size: 12px; line-height: 19px; text-transform: uppercase; letter-spacing: 1px; padding: 8px 24px; }
.rag-ls-card__body { padding-top: 24px; font-size: 14px; line-height: 24px; text-align: left; }
.rag-ls-card__meta { display: flex; justify-content: space-between; gap: 16px; margin: 0 0 4px; }
.rag-ls-card__type { color: var(--rag-muted); white-space: nowrap; }
.rag-ls-card__price { color: var(--rag-ink); min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-align: right; }
.rag-ls .rag-ls-card__address { font: 700 14px/24px Lato, sans-serif; letter-spacing: 0; text-transform: none; margin: 0 0 8px; color: var(--rag-ink); }
.rag-ls-card__address a { color: inherit; text-decoration: none; transition: opacity .22s; }
.rag-ls-card__address a:hover { opacity: .7; }
/* Theme/Elementor list styles add indentation; keep the stats flush left with the address. */
.rag-ls .rag-ls-card__stats { list-style: none !important; display: flex; flex-wrap: wrap; justify-content: flex-start; padding: 0 !important; margin: 0 !important; line-height: 27px; }
.rag-ls .rag-ls-card__stats li { margin: 0 !important; padding: 0 !important; list-style: none !important; }
.rag-ls .rag-ls-card__stats li::marker { content: none; }
.rag-ls-card__stats li + li::before { content: "/"; color: var(--rag-border); margin: 0 8px; }
.rag-ls-card__body .rag-stats { color: var(--rag-ink); }

/* Pagination */
.rag-ls-pages { display: flex; justify-content: center; gap: 8px; margin: 48px 0 0; flex-wrap: wrap; }
.rag-ls-pages .page-numbers { padding: 8px 12px; border: 1px solid var(--rag-border); border-radius: 3px; color: var(--rag-ink); text-decoration: none; font-size: 13px; }
.rag-ls-pages .current { background: var(--rag-yellow); border-color: var(--rag-yellow); }
.rag-ls-empty { padding: 40px 0; text-align: center; }

@media (min-width: 768px) {
	.rag-ls-filters { grid-template-columns: 2fr 1.5fr repeat(3, 1fr) auto; align-items: end; }
	.rag-ls-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1081px) {
	.rag-ls-grid--3 { grid-template-columns: repeat(3, 1fr); gap: 48px 32px; }
	.rag-ls-view { display: flex; }
}

/* [rag_open_badge] / [rag_listing_badge] */
.rag-badge { display: inline-block; background: #ffe512; color: #171e1a; font: 400 12px/19px Lato, sans-serif; text-transform: uppercase; letter-spacing: 1px; padding: 8px 24px; }

/* [rag_inspections] */
.rag-insp { font-family: Lato, sans-serif; color: #171e1a; text-align: center; }
.rag-insp .rag-insp__title { margin: 0 0 24px; }
.rag-insp .rag-insp__list { list-style: none !important; display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 215px)); justify-content: center; gap: 16px; padding: 0 !important; margin: 0 0 32px !important; }
.rag-insp .rag-insp__card { display: flex; flex-direction: column; align-items: center; margin: 0 !important; padding: 0 0 20px; border: 1px solid #d8d8d8; border-radius: 3px; background: #fff; overflow: hidden; }
.rag-insp__head { display: block; width: 100%; padding: 12px 8px; font-size: 14px; line-height: 24px; }
.rag-insp__day { margin-top: 20px; font-size: 24px; line-height: 30px; font-weight: 700; }
.rag-insp__month { color: #9b9b9b; font-size: 14px; line-height: 20px; }
.rag-insp__time { margin-top: 28px; font-size: 14px; line-height: 20px; }
.rag-insp__card--auction { border-color: #333; }
.rag-insp__card--auction .rag-insp__head { background: #333; color: #fff; }
.rag-insp__cta { display: inline-flex; align-items: center; gap: 16px; padding: 18px 24px 17px; background: #333; color: #fff !important; border-radius: 3px; font: 400 12px/19px Lato, sans-serif; text-transform: uppercase; letter-spacing: 1px; text-decoration: none; transition: opacity .22s; }
.rag-insp__cta:hover { opacity: .7; }

/* [rag_listings_map] */
.rag-map { width: 100%; background: #f2f2f2; }
.rag-map--static { display: none; }
.rag-map-popup .mapboxgl-popup-content { padding: 0; border-radius: 0; overflow: hidden; box-shadow: 0 2px 12px rgba(0, 0, 0, .18); }
.rag-map-card { display: block; width: 300px; text-align: center; color: #171e1a; text-decoration: none; font-family: Lato, sans-serif; padding-bottom: 14px; }
.rag-map-card img { display: block; width: 100%; height: 170px; object-fit: cover; margin-bottom: 12px; }
.rag-map-card strong { display: block; font-size: 16px; line-height: 24px; margin-bottom: 2px; }
.rag-map-card span { font-size: 14px; line-height: 24px; color: #333; white-space: pre; }

/* Shared listing fields: [rag_listing_stats], [rag_listing_type], [rag_listing_price], [rag_floorplan_button] */
.rag-stats { list-style: none !important; display: flex; flex-wrap: wrap; align-items: center; padding: 0 !important; margin: 0 !important; font-family: Lato, sans-serif; font-size: 14px; line-height: 27px; }
.rag-stats li { margin: 0 !important; padding: 0 !important; list-style: none !important; }
.rag-stats li::marker { content: none; }
.rag-stats:not(.rag-stats--icons) li + li::before { content: "/"; color: #d8d8d8; margin: 0 8px; }
.rag-stats--icons { gap: 20px; color: #9b9b9b; }
.rag-stats--icons li { display: inline-flex; align-items: center; gap: 8px; }
.rag-stats__icon { width: 27px; height: 27px; border: 1px solid currentColor; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; }
.rag-listing-type { color: #9b9b9b; }
.rag-listing-price { display: inline-block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: bottom; }

/* Icons for [rag_listing_stats icons="yes"]: CSS masks (inline SVG is stripped by Elementor text widgets) */
.rag-stats__icon::before { content: ""; width: 15px; height: 13px; background: currentColor; -webkit-mask: var(--rag-icon) center / contain no-repeat; mask: var(--rag-icon) center / contain no-repeat; }
.rag-stats__icon--bed { --rag-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 11'%3E%3Cpath d='M12.375 5.698V0H11v1.375H2.75V0H1.375v5.698c-.459.146-.916.307-1.375.49V11h1.375V9.625h11V11h1.375V6.187a20.308 20.308 0 0 0-1.375-.489zM11 2.75v2.56a17.753 17.753 0 0 0-3.438-.48V2.75H11zm-8.25 0h3.438v2.08a17.753 17.753 0 0 0-3.438.48V2.75zM1.375 8.563v-1h11v1h-11z' fill-rule='evenodd'/%3E%3C/svg%3E"); }
.rag-stats__icon--bath { --rag-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 13'%3E%3Cpath d='M8.083 3.545a.587.587 0 0 0 .584-.59.587.587 0 0 0-.584-.591.587.587 0 0 0-.583.59c0 .327.261.591.583.591zM6.917 5.023a.587.587 0 0 0 .583-.591.587.587 0 0 0-.583-.591.587.587 0 0 0-.584.59c0 .327.262.592.584.592zm2.333 0a.587.587 0 0 0 .583-.591.587.587 0 0 0-.583-.591.587.587 0 0 0-.583.59c0 .327.26.592.583.592zM8.083 6.5a.587.587 0 0 0 .584-.59.587.587 0 0 0-.584-.592.587.587 0 0 0-.583.591c0 .326.261.591.583.591zm-2.333 0a.587.587 0 0 0 .583-.59.587.587 0 0 0-.583-.592.587.587 0 0 0-.583.591c0 .326.26.591.583.591zm4.667 0A.587.587 0 0 0 11 5.91a.587.587 0 0 0-.583-.592.587.587 0 0 0-.584.591c0 .326.262.591.584.591zm2.916 1.182v-5.91c0-.977-.785-1.772-1.75-1.772H7.5v1.773h1.167v-.591h2.916c.322 0 .584.265.584.59v5.91H.5v1.182h14V7.682h-1.167zM3.467 11.75L2.542 13H4l.875-1.182h5.25L11 13h1.458l-.925-1.25a2.354 2.354 0 0 0 1.8-2.295H1.667c0 1.118.77 2.05 1.8 2.295z' fill-rule='evenodd'/%3E%3C/svg%3E"); }
.rag-stats__icon--car { --rag-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 11'%3E%3Cpath d='M3.3 6.6a1.06 1.06 0 0 0-.323-.777A1.06 1.06 0 0 0 2.2 5.5a1.06 1.06 0 0 0-.777.323A1.06 1.06 0 0 0 1.1 6.6c0 .303.108.561.323.777.216.215.475.323.777.323.303 0 .561-.108.777-.323A1.06 1.06 0 0 0 3.3 6.6zm.248-2.2h6.984l-.611-2.454c-.01-.037-.042-.077-.097-.12-.055-.044-.103-.066-.144-.066H4.4c-.041 0-.09.022-.144.065-.055.044-.087.084-.097.12L3.548 4.4zm9.432 2.2a1.06 1.06 0 0 0-.323-.777 1.06 1.06 0 0 0-.777-.323 1.06 1.06 0 0 0-.777.323 1.06 1.06 0 0 0-.323.777c0 .303.108.561.323.777.216.215.475.323.777.323.303 0 .561-.108.777-.323a1.06 1.06 0 0 0 .323-.777zm1.1-.66v2.64c0 .064-.02.117-.062.158a.214.214 0 0 1-.158.062h-.66v.88c0 .367-.128.678-.385.935a1.273 1.273 0 0 1-.935.385c-.367 0-.678-.128-.935-.385a1.273 1.273 0 0 1-.385-.935V8.8H3.52v.88c0 .367-.128.678-.385.935A1.273 1.273 0 0 1 2.2 11c-.367 0-.678-.128-.935-.385A1.273 1.273 0 0 1 .88 9.68V8.8H.22a.214.214 0 0 1-.158-.062A.214.214 0 0 1 0 8.58V5.94c0-.426.15-.79.45-1.09.3-.3.664-.45 1.09-.45h.193l.721-2.88c.106-.431.344-.792.715-1.083A1.948 1.948 0 0 1 4.4 0h5.28c.45 0 .86.146 1.23.437.372.29.61.652.716 1.082l.722 2.881h.192c.426 0 .79.15 1.09.45.3.3.45.664.45 1.09z' fill-rule='evenodd'/%3E%3C/svg%3E"); }

/* [rag_floorplan_button]: always a square box, so border-radius: 50% makes a true circle */
.rag-floorplan-btn { position: relative; display: inline-block; box-sizing: border-box; width: 60px; height: 60px; aspect-ratio: 1; flex: 0 0 auto; color: inherit; vertical-align: middle; transition: opacity .22s ease; }
.rag-floorplan-btn::before { content: ""; position: absolute; inset: 0; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.5 22.5H18v-1h1.5v-8H18v-1h1.5v-10h-7v10H16v1h-3.5V16h-1v-2.5h-7v8h7V18h1v3.5H16v1H3.5v-10h8v-11h9v21z'/%3E%3C/svg%3E") center / 30px auto no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.5 22.5H18v-1h1.5v-8H18v-1h1.5v-10h-7v10H16v1h-3.5V16h-1v-2.5h-7v8h7V18h1v3.5H16v1H3.5v-10h8v-11h9v21z'/%3E%3C/svg%3E") center / 30px auto no-repeat; }
.rag-floorplan-btn--circle { border: 2px solid currentColor; border-radius: 50%; }
.rag-floorplan-btn:hover, .rag-floorplan-btn:focus-visible { opacity: .7; }
.rag-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* [rag_listing_nav] */
.rag-listing-nav ul { list-style: none !important; display: flex; flex-wrap: wrap; justify-content: center; margin: 0 !important; padding: 0 !important; }
.rag-listing-nav li { position: relative; margin: 0 !important; padding: 0 !important; list-style: none !important; }
.rag-listing-nav li::marker { content: none; }
.rag-listing-nav a { display: inline-block; padding: 16px 24px; color: #171e1a; font: 400 14px/21px Lato, sans-serif; letter-spacing: .5px; text-transform: uppercase; text-decoration: none; transition: opacity .22s ease; }
.rag-listing-nav a:hover { opacity: .7; }
.rag-listing-nav li + li::before { content: "/"; position: absolute; left: -3px; top: 16px; color: #9b9b9b; font: 400 14px/21px Lato, sans-serif; }

/* [rag_listing_details] */
.rag-listing-details { margin: 0; font-family: Lato, sans-serif; font-size: 14px; line-height: 24px; }
.rag-listing-details__row { display: flex; border-bottom: 1px solid #efefef; }
.rag-listing-details dt, .rag-listing-details dd { margin: 0; padding: 14px 0; }
.rag-listing-details dt { flex: 0 0 104px; color: #9b9b9b; font-weight: 400; }
.rag-listing-details dd { color: #171e1a; }

/* Cards: Ray White sizes (14px; 16px/28px + .3px letter-spacing on desktop) */
.rag-ls-card__address a { color: inherit; }
@media (min-width: 1081px) {
	.rag-ls-card__body, .rag-ls-card__body .rag-stats { font-size: 16px; line-height: 28px; letter-spacing: .3px; }
	.rag-ls .rag-ls-card__address { font-size: 16px; line-height: 28px; letter-spacing: .3px; }
	.rag-listing-details { font-size: 16px; line-height: 28px; }
}

/* [rag_listing_filters] — Ray White "Filter & Sort".
   Selectors are prefixed with .rag-lf (and buttons reset) so the Elementor kit / theme button, legend and
   heading styles can't leak in. */
.rag-lf { font-family: Lato, sans-serif; color: #171e1a; }
.rag-lf button { all: unset; box-sizing: border-box; cursor: pointer; font-family: Lato, sans-serif; }
.rag-lf button:focus-visible { outline: 2px solid #171e1a; outline-offset: 2px; }
.rag-lf-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; margin: 0 0 24px; }
.rag-lf .rag-lf-count { margin: 0; font-size: 14px; line-height: 24px; }
.rag-lf .rag-lf-open { margin-left: 6px; padding: 2px 8px; background: #f8f8f9; border-radius: 3px; font-size: inherit; line-height: inherit; color: #171e1a; transition: opacity .22s ease; }
.rag-lf .rag-lf-open:hover { opacity: .7; }
.rag-lf-sort { display: none; gap: 4px 16px; font-size: 14px; line-height: 24px; }
.rag-lf-sort a { color: #171e1a; text-decoration: none; padding-bottom: 2px; transition: opacity .22s ease; }
.rag-lf-sort a:hover { opacity: .7; }
.rag-lf-sort a.is-active { box-shadow: inset 0 -3px 0 #ffe512; }

.rag-lf-locked { overflow: hidden; }
.rag-lf-panel { position: fixed; inset: 0; z-index: 99999; }
.rag-lf-panel[hidden] { display: none; }
.rag-lf-panel__backdrop { position: absolute; inset: 0; background: rgba(23, 30, 26, .6); opacity: 0; transition: opacity .22s ease; }
.rag-lf-panel__inner { position: absolute; top: 0; right: 0; bottom: 0; width: min(420px, 100%); display: flex; flex-direction: column; background: #fff; transform: translateX(100%); transition: transform .22s ease-in-out; }
.rag-lf-panel.is-open .rag-lf-panel__backdrop { opacity: 1; }
.rag-lf-panel.is-open .rag-lf-panel__inner { transform: none; }
.rag-lf-panel__head { position: relative; flex: 0 0 auto; display: flex; align-items: center; justify-content: center; height: 56px; border-bottom: 1px solid #efefef; font-size: 14px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; }
.rag-lf .rag-lf-x { position: absolute; left: 0; top: 0; width: 56px; height: 56px; border-right: 1px solid #efefef; }
.rag-lf .rag-lf-x span, .rag-lf .rag-lf-x span::after { position: absolute; left: 50%; top: 50%; width: 16px; height: 1.5px; background: #171e1a; transform: translate(-50%, -50%) rotate(45deg); }
.rag-lf .rag-lf-x span::after { content: ""; transform: translate(-50%, -50%) rotate(90deg); }
.rag-lf .rag-lf-x:hover { opacity: .7; }
.rag-lf-panel__body { flex: 1; overflow-y: auto; padding: 28px 24px; }
.rag-lf .rag-lf-h { margin: 0 0 20px; font: 700 15px/24px Lato, sans-serif; letter-spacing: 0; text-transform: none; color: #171e1a; }
.rag-lf .rag-lf-group { border: 0; border-bottom: 1px solid #efefef; margin: 0 0 24px; padding: 0 0 24px; min-width: 0; }
.rag-lf .rag-lf-legend { display: block; float: none; width: 100%; padding: 0; margin: 0 0 16px; border: 0; font: 700 14px/21px Lato, sans-serif; color: #171e1a; }
.rag-lf .rag-lf-legend label { font: inherit; margin: 0; }
.rag-lf-group select, .rag-lf-group input[type="search"] { width: 100%; height: auto; padding: 12px 16px 13px; border: 1px solid #d8d8d8; border-radius: 3px; background-color: #fff; color: #171e1a; font: 400 14px/21px Lato, sans-serif; box-shadow: none; }
.rag-lf-row { display: grid; grid-template-columns: 120px 1fr; align-items: center; gap: 12px; margin: 0 0 12px; font-size: 14px; font-weight: 700; }

/* steppers */
.rag-lf-stepper { display: grid; grid-template-columns: 1fr 32px 44px 32px; align-items: center; gap: 6px; margin: 0 0 14px; font-size: 14px; }
.rag-lf .rag-lf-step { display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border: 1px solid #d8d8d8; border-radius: 50%; background: #fff; color: #171e1a; font-size: 14px; line-height: 1; transition: opacity .22s ease; }
.rag-lf .rag-lf-step:hover { opacity: .7; }
.rag-lf .rag-lf-step:disabled { color: #d8d8d8; border-color: #efefef; cursor: default; opacity: 1; }
.rag-lf-stepper output { text-align: center; font-size: 14px; }

/* price histogram slider */
.rag-lf-range { position: relative; padding: 0 2px; }
.rag-lf-hist { display: flex; align-items: flex-end; gap: 2px; height: 46px; padding: 0 11px; }
.rag-lf-hist span { flex: 1; min-height: 0; background: #ffe512; opacity: .6; transition: opacity .15s ease; }
.rag-lf-hist span.is-out { opacity: .15; }
.rag-lf-range__track { position: relative; height: 24px; }
.rag-lf-range__track::before { content: ""; position: absolute; left: 11px; right: 11px; top: 50%; height: 1px; background: #171e1a; }
.rag-lf-range__track input[type="range"] { -webkit-appearance: none; appearance: none; position: absolute; left: 0; top: 0; width: 100%; height: 24px; margin: 0; padding: 0; background: none; border: 0; pointer-events: none; z-index: 2; }
.rag-lf-range__track input[type="range"]::-webkit-slider-runnable-track { background: none; border: 0; height: 24px; }
.rag-lf-range__track input[type="range"]::-moz-range-track { background: none; border: 0; height: 24px; }
.rag-lf-range__track input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; pointer-events: auto; width: 22px; height: 22px; margin-top: 1px; border: 1.5px solid #171e1a; border-radius: 50%; background: #fff; cursor: grab; }
.rag-lf-range__track input[type="range"]::-moz-range-thumb { pointer-events: auto; width: 20px; height: 20px; border: 1.5px solid #171e1a; border-radius: 50%; background: #fff; cursor: grab; }
.rag-lf-range__labels { display: flex; justify-content: space-between; margin-top: 4px; font-size: 11px; font-weight: 700; }

.rag-lf-clear { text-align: center; margin: 0; }
.rag-lf-clear a { color: #e66c6c; font-size: 14px; text-decoration: none; }
.rag-lf .rag-lf-done { flex: 0 0 auto; display: flex; align-items: center; justify-content: center; height: 56px; background: #ffe512; color: #171e1a; font-size: 12px; line-height: 19px; letter-spacing: 1px; text-transform: uppercase; }
.rag-lf .rag-lf-done:hover { opacity: .85; }

@media (min-width: 768px) {
	.rag-lf-sort { display: flex; flex-wrap: wrap; }
}
@media (min-width: 1081px) {
	.rag-lf .rag-lf-count, .rag-lf-sort { font-size: 16px; line-height: 28px; letter-spacing: .3px; }
}

/* Single listing gallery (EPL / WordPress gallery): full-width grid of square tiles */
.epl-gallery .gallery { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 0 !important; }
.epl-gallery .gallery br { display: none; }
.epl-gallery .gallery .gallery-item { width: auto !important; max-width: none !important; margin: 0 !important; padding: 0 !important; float: none !important; }
.epl-gallery .gallery .gallery-icon, .epl-gallery .gallery .gallery-icon a { display: block; width: 100%; height: 100%; }
.epl-gallery .gallery img { display: block; width: 100% !important; height: auto !important; aspect-ratio: 1 / 1; object-fit: cover; border: 0 !important; transition: opacity .22s ease; }
.epl-gallery .gallery a:hover img { opacity: .8; }
@media (min-width: 768px) { .epl-gallery .gallery { grid-template-columns: repeat(4, 1fr); gap: 14px; } }
@media (min-width: 1081px) { .epl-gallery .gallery { grid-template-columns: repeat(5, 1fr); gap: 15px; } }

/* Description bullets (converted from "•" lines) */
ul.rag-bullets { margin: 0 0 24px 1.25em !important; padding: 0 !important; list-style: disc outside !important; }
ul.rag-bullets li { margin: 0 0 4px !important; padding-left: .25em; list-style: inherit !important; }

/* [rag_listing_nav] on mobile: one line, swipe sideways, no scrollbar */
@media (max-width: 767px) {
	.rag-listing-nav ul { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; scroll-snap-type: x proximity; }
	.rag-listing-nav ul::-webkit-scrollbar { display: none; }
	.rag-listing-nav li { flex: 0 0 auto; scroll-snap-align: start; }
	.rag-listing-nav a { padding: 14px 18px; white-space: nowrap; }
}

/* [rag_listing_location] is 300px tall on mobile */
@media (max-width: 767px) { .rag-map--area { height: 300px !important; } }

/* Filter panel close button: keep it transparent in every state (theme/kit button hover & focus styles) */
.rag-lf .rag-lf-panel .rag-lf-x,
.rag-lf .rag-lf-panel .rag-lf-x:hover,
.rag-lf .rag-lf-panel .rag-lf-x:focus,
.rag-lf .rag-lf-panel .rag-lf-x:active { background: transparent !important; background-color: transparent !important; color: #171e1a !important; box-shadow: none !important; border-top: 0 !important; border-bottom: 0 !important; border-left: 0 !important; border-right: 1px solid #efefef !important; border-radius: 0 !important; }
.rag-lf .rag-lf-panel .rag-lf-step:hover, .rag-lf .rag-lf-panel .rag-lf-step:focus, .rag-lf .rag-lf-panel .rag-lf-step:active { background: #fff !important; color: #171e1a !important; box-shadow: none !important; }
.rag-lf .rag-lf-panel .rag-lf-done:focus, .rag-lf .rag-lf-panel .rag-lf-done:active { background: #ffe512 !important; color: #171e1a !important; }

/* [rag_next_steps] — Ray White "Next Steps:" (icons copied from the Ray White office sites, drawn as CSS masks) */
.rag-next-steps { font-family: Lato, sans-serif; color: #171e1a; }
.rag-next-steps__title { margin: 0 0 14px; font: 700 14px/21px Lato, sans-serif; letter-spacing: .5px; text-transform: uppercase; }
.rag-next-steps__link { position: relative; display: block; width: fit-content; padding-left: 30px; margin: 0 0 12px; color: #171e1a !important; font: 400 14px/21px Lato, sans-serif; letter-spacing: .5px; text-transform: uppercase; text-decoration: none; transition: opacity .22s ease; }
.rag-next-steps__link:hover { opacity: .7; }
.rag-next-steps__link::before { content: ""; position: absolute; left: 0; top: 50%; width: 22px; height: 22px; transform: translateY(-50%); background: currentColor; -webkit-mask: var(--rag-ns-icon) left center / var(--rag-ns-size) no-repeat; mask: var(--rag-ns-icon) left center / var(--rag-ns-size) no-repeat; }
.rag-next-steps__link--contract { --rag-ns-icon: url("data:image/svg+xml,%3csvg%20width='16'%20height='20'%20viewBox='0%200%2016%2020'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eGroup%3c/title%3e%3cg%20fill='%23171E1A'%20fill-rule='evenodd'%3e%3cpath%20d='M1.389%2018.778l.5.5V1.388l-.5.5h8.555l-.353-.146%204.667%204.667-.147-.353v13.222l.5-.5H1.39zm13.722%201V5.848l-.146-.146-4.667-4.667-.146-.146H.889v18.889H15.11z'/%3e%3cpath%20d='M9.444%206.056v.5h5.167v-1H9.944l.5.5V1.389h-1zM11.5%209.667v-1H8.389v1zM11.5%2012.778v-1H8.389v1zM11.5%2015.889v-1H8.389v1zM4.535%209.202h.707L4.076%208.035l-.707.707L4.535%209.91l.354.354.353-.354%201.945-1.944-.707-.707zM4.535%2012.313h.707l-1.166-1.167-.707.708%201.166%201.166.354.354.353-.354%201.945-1.944-.707-.707zM4.535%2015.424h.707l-1.166-1.166-.707.707%201.166%201.166.354.354.353-.354%201.945-1.944-.707-.707z'/%3e%3c/g%3e%3c/svg%3e"); --rag-ns-size: 16px auto; }
.rag-next-steps__link--question { --rag-ns-icon: url("data:image/svg+xml,%3csvg%20width='22'%20height='20'%20viewBox='0%200%2022%2020'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3echat%20double%20bubble%203.3.3.1%3c/title%3e%3cg%20fill='%23171E1A'%20fill-rule='evenodd'%3e%3cpath%20d='M4.75.91C2.635.91.917%202.595.917%204.681v3.273c0%202.086%201.718%203.772%203.833%203.772h.833l-.5-.5V15.6l.83-.723%203.75-3.273-.33.123h3.75c2.116%200%203.834-1.686%203.834-3.772V4.682c0-2.086-1.719-3.773-3.834-3.773H4.75zm11.167%203.772v3.273c0%201.53-1.267%202.772-2.834%202.772H9.146l-.141.124-3.75%203.272.828.377v-3.773H4.75c-1.567%200-2.833-1.243-2.833-2.772V4.682c0-1.53%201.266-2.773%202.833-2.773h8.333c1.567%200%202.834%201.244%202.834%202.773zM12.667%2016.636h2.083l-.35-.143%202.5%202.455.85.835V16.136l-.5.5h1.25c1.425%200%202.583-1.137%202.583-2.545v-1.636c0-1.409-1.158-2.546-2.583-2.546v1c.877%200%201.583.694%201.583%201.546v1.636c0%20.852-.706%201.545-1.583%201.545h-1.75v2.955l.85-.357-2.5-2.454-.146-.144H12.667c-.877%200-1.584-.693-1.584-1.545h-1c0%201.408%201.159%202.545%202.584%202.545z'/%3e%3c/g%3e%3c/svg%3e"); --rag-ns-size: 22px auto; }
.rag-next-steps__link--broker { --rag-ns-icon: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='23'%20viewBox='0%200%2024%2023'%3e%3cg%20fill='%23302B2B'%3e%3cpath%20d='M4.013%2014h-3v7.042h3V14zm.5%208.042h-4a.5.5%200%200%201-.5-.5V13.5a.5.5%200%200%201%20.5-.5h4a.5.5%200%200%201%20.5.5v8.042a.5.5%200%200%201-.5.5z'/%3e%3cpath%20d='M19.448%2019.032a605.3%20605.3%200%200%201-2.72%201.438c-1.65.855-2.532%201.216-3.357%201.349-.84.135-1.664.031-3.004-.368-.81-.242-4.935-1.672-5.696-1.925a.5.5%200%201%200-.316.948c.741.248%204.891%201.686%205.726%201.935%201.472.439%202.436.56%203.449.397.96-.155%201.918-.547%203.658-1.448.522-.27%202.912-1.54%202.727-1.442%201.333-.705%202.51-1.313%203.821-1.969a.5.5%200%200%200%20.13-.8c-1.167-1.167-2.187-1.5-3.49-1.128l-4.455%201.477a.5.5%200%201%200%20.315.95l4.434-1.471c.728-.207%201.292-.112%201.963.408a189.16%20189.16%200%200%200-3.185%201.649z'/%3e%3cpath%20d='M7.513%2014h-3a.5.5%200%201%200%200%201h3c1.699%200%203.078.785%204.146%201.854a.5.5%200%200%200%20.354.146h3c.927%200%20.927%201%200%201h-5.5a.5.5%200%201%200%200%201h5.5c2.26%200%202.26-3%200-3h-2.797c-1.215-1.162-2.764-2-4.703-2zm6.5-10.5a3.5%203.5%200%201%201%207%200%203.5%203.5%200%200%201-7%200zm1%200a2.5%202.5%200%201%200%205%200%202.5%202.5%200%200%200-5%200zm-6%207a3.5%203.5%200%201%201%207%200%203.5%203.5%200%200%201-7%200zm1%200a2.5%202.5%200%201%200%205%200%202.5%202.5%200%200%200-5%200z'/%3e%3cpath%20d='M12.013%209.5v2a.5.5%200%201%200%201%200v-2a.5.5%200%201%200-1%200zm5-7v2a.5.5%200%201%200%201%200v-2a.5.5%200%201%200-1%200z'/%3e%3c/g%3e%3c/svg%3e"); --rag-ns-size: 22px auto; }
.rag-next-steps__link--inspection { --rag-ns-icon: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='49'%20height='46'%20viewBox='0%200%2049%2046'%3e%3cg%20fill='%23171E1A'%20fill-rule='evenodd'%3e%3cpath%20d='M36.808%2041.95c4.203%200%207.611-3.39%207.611-7.573%200-4.182-3.408-7.572-7.611-7.572-4.203%200-7.612%203.39-7.612%207.572%200%204.183%203.409%207.573%207.612%207.573zm0-1c-3.652%200-6.612-2.943-6.612-6.573%200-3.629%202.96-6.572%206.612-6.572s6.611%202.943%206.611%206.572c0%203.63-2.96%206.573-6.611%206.573z'/%3e%3cpath%20d='M48.197%2045.063l-6.148-6.113-.705.709%206.148%206.113zM7.5%2022h-1v22.728h18.787v-1H7.5z'/%3e%3cpath%20d='M47.397%2022.587l.672-.74L24.366.325.664%2021.847l.672.74%2023.03-20.912zM38.612%209.072h1V1.5H32v1h6.612z'/%3e%3cpath%20d='M26.596%2010.5v5.062H21.5V10.5h5.096zm1-1H20.5v7.062h7.096V9.5z'/%3e%3c/g%3e%3c/svg%3e"); --rag-ns-size: 19px auto; }
.rag-next-steps__link--inspection::before { --rag-ns-size: 22px auto; }

/* Applied filters: yellow "2 filters" chip with a clear "×" (Ray White style) */
.rag-lf-chip { display: inline-flex; align-items: stretch; margin-left: 6px; vertical-align: middle; }
.rag-lf .rag-lf-chip .rag-lf-open { margin-left: 0; }
.rag-lf .rag-lf-chip.is-active .rag-lf-open { background: #ffe512 !important; color: #171e1a !important; border-radius: 3px 0 0 3px; }
.rag-lf-reset-x { display: inline-flex; align-items: center; justify-content: center; min-width: 30px; padding: 0 8px; background: #ffe512; border-left: 1px solid #edd300; border-radius: 0 3px 3px 0; color: #171e1a !important; text-decoration: none !important; font-size: 18px; line-height: 1; transition: opacity .22s ease; }
.rag-lf-reset-x:hover { opacity: .7; }

/* [rag_listing_location]: static map picture until clicked */
.rag-map--area { position: relative; overflow: hidden; }
.rag-map--preview { cursor: pointer; }
.rag-map--preview .rag-map__static { display: block; width: 100%; height: 100%; object-fit: cover; }
.rag-map__dot { position: absolute; left: 50%; top: 50%; width: 18px; height: 18px; margin: -9px 0 0 -9px; border-radius: 50%; background: #ffe512; box-shadow: 0 0 0 2px #fff, 0 1px 4px rgba(0, 0, 0, .3); pointer-events: none; }
.rag-map__enlarge { position: absolute; top: 10px; right: 10px; width: 32px; height: 32px; background: #333; pointer-events: none; }
.rag-map__enlarge::before { content: ""; position: absolute; inset: 7px; background: #fff; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M1 1h6v2H3v4H1zm10 0h6v6h-2V3h-4zM1 11h2v4h4v2H1zm14 0h2v6h-6v-2h4z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M1 1h6v2H3v4H1zm10 0h6v6h-2V3h-4zM1 11h2v4h4v2H1zm14 0h2v6h-6v-2h4z'/%3E%3C/svg%3E") center / contain no-repeat; }
.rag-map--preview:hover .rag-map__enlarge, .rag-map--preview:focus-visible .rag-map__enlarge { opacity: .8; }
.rag-map--preview.is-loading { opacity: .7; cursor: progress; }

/* [rag_inspections] carries its own spacing, so the Elementor container can have 0 padding and collapses when there are no inspections */
.rag-insp { padding: 60px 30px; }
@media (max-width: 767px) { .rag-insp { padding: 40px 16px; } }
