/* ==========================================================================
   PlexSmart — custom.css  v1.4.0  (PlexSmart brand on Kadence + listings engine)
   Tokens are defined in ../../style.css (:root --os-*). Sections:
   1 Kadence palette & type  2 Header/nav  3 Buttons & forms  4 Hero/sections
   5 Listing cards  6 Search  7 Single property  8 Agents  9 Footer
   10 White-label (engine vars, hidden plugin chrome, brand fixes)
   11 Search field heights  12 v1.4.0 Land.com-style polish
   ========================================================================== */

/* 1. Kadence palette & typography --------------------------------------- */
:root {
  --global-palette1: var(--os-green);
  --global-palette2: var(--os-green-dark);
  --global-palette3: var(--os-ink);
  --global-palette4: var(--os-ink);
  --global-palette5: var(--os-muted);
  --global-palette6: #8a8a80;
  --global-palette7: var(--os-line);
  --global-palette8: var(--os-cream);
  --global-palette9: var(--os-white);
  --global-body-font-family: var(--os-font-body);
  --global-heading-font-family: var(--os-font-heading);
}
body { font-family: var(--os-font-body); font-weight: 500; color: var(--os-ink); background: var(--os-white); }
h1, h2, h3, h4, h5, h6, .site-title { font-family: var(--os-font-heading); font-weight: 700; color: var(--os-ink); letter-spacing: 0; }
a { color: var(--os-green); transition: color .2s ease; }
a:hover, a:focus { color: var(--os-green-dark); }
strong, b { font-weight: 600; }

/* 2. Header / navigation (white, translucent, blurred like VS) ----------- */
.site-header .site-main-header-wrap .site-header-row-container-inner {
  background: rgba(255, 255, 255, .85);
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
}
.site-header { box-shadow: 0 1px 0 var(--os-line); position: relative; z-index: 50; }
.site-branding .site-title { font-family: var(--os-font-heading); font-weight: 700; font-size: 28px; color: var(--os-olive); letter-spacing: -.01em; }
.site-branding a:hover .site-title { color: var(--os-green-dark); }
.main-navigation .primary-menu-container > ul > li.menu-item > a {
  font-family: var(--os-font-body); font-weight: 500; font-size: 15px; color: var(--os-ink);
  padding-left: 17px; padding-right: 17px;
}
.main-navigation .primary-menu-container > ul > li.menu-item > a:hover,
.main-navigation .primary-menu-container > ul > li.current-menu-item > a { color: var(--os-green); }
.header-navigation .header-menu-container ul ul.sub-menu { background: var(--os-white); box-shadow: var(--os-shadow-hover); border-radius: 0 0 var(--os-radius) var(--os-radius); }
.header-navigation .header-menu-container ul ul li.menu-item > a { color: var(--os-ink); }

/* 3. Buttons & forms ------------------------------------------------------ */
.wp-block-button__link, .button, button, input[type="submit"], .btn, .btn-primary,
.wpcf7-submit, .ere-login-button, .ere-register-button {
  font-family: var(--os-font-heading); font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
  border-radius: var(--os-radius-pill) !important;
  transition: background .2s ease, transform .15s ease, box-shadow .2s ease, opacity .2s ease;
}
.wp-block-button__link, .btn-primary, .wpcf7-submit, input[type="submit"],
.ere-login-button, .ere-register-button, .ere__btn-submit-contact-form, .ere__spmd-btn {
  background: var(--os-green) !important; border-color: var(--os-green) !important; color: #fff !important;
  box-shadow: 0 8px 20px var(--os-green-glow);
}
.wp-block-button__link:hover, .btn-primary:hover, .wpcf7-submit:hover, input[type="submit"]:hover,
.ere-login-button:hover, .ere-register-button:hover, .ere__btn-submit-contact-form:hover, .ere__spmd-btn:hover {
  background: var(--os-green-hover) !important; border-color: var(--os-green-hover) !important; transform: translateY(-1px);
}
.is-style-outline .wp-block-button__link { background: transparent !important; color: var(--os-green) !important; border: 2px solid currentColor !important; box-shadow: none; }

input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="number"],
input[type="search"], input[type="url"], select, textarea, .form-control {
  border: 1px solid var(--os-input-line) !important; border-radius: var(--os-radius-input) !important;
  background: #fff; color: var(--os-ink); padding: 12px 14px; font-family: var(--os-font-body); box-shadow: none;
}
input:focus, select:focus, textarea:focus, .form-control:focus {
  border-color: var(--os-green) !important; box-shadow: 0 0 0 3px var(--os-green-tint) !important; outline: none;
  background: var(--os-green-wash);
}
.wpcf7 form { max-width: 680px; }
.wpcf7 label { font-family: var(--os-font-heading); font-weight: 700; font-size: 14px; }

/* 4. Hero & page sections ------------------------------------------------- */
.os-hero {
  background:
    linear-gradient(180deg, rgba(28, 28, 28, .55) 0%, rgba(28, 28, 28, .35) 100%),
    var(--os-hero-img, none) center / cover no-repeat,
    var(--os-ink);
  color: #fff; text-align: center; padding: clamp(80px, 11vw, 140px) 20px;
}
.os-hero h1 { color: #fff; font-family: var(--os-font-heading); font-weight: 700; font-size: clamp(2rem, 4.2vw, 3.3rem); text-shadow: 0 2px 16px rgba(0, 0, 0, .35); margin-bottom: .4em; }
.os-hero p { font-size: 1.15rem; max-width: 720px; margin: 0 auto 1.6em; text-shadow: 0 1px 8px rgba(0, 0, 0, .35); }
.os-hero .is-style-outline .wp-block-button__link { color: #fff !important; }

.os-section { padding: 64px 0; }
.os-section--cream { background: var(--os-page); }
.os-section h2, .entry-content > h2 { text-align: center; }
.os-section h2::after {   /* VS heading separator */
  content: ""; display: block; width: 48px; height: 3px; background: var(--os-green); margin: 14px auto 0; border-radius: 3px;
}
.entry-hero .entry-header .entry-title, .page-title { font-family: var(--os-font-heading); font-weight: 700; }

/* 5. Listing cards (ERE loop) — VS .mh-estate-vertical look -------------- */
.ere-property .property-item .property-inner {
  background: var(--os-cream); border: 0; border-radius: var(--os-radius); overflow: hidden;
  box-shadow: none; height: 100%; transform: scale(1); transform-origin: center; transition: transform .35s ease, box-shadow .35s ease;
}
.ere-property .property-item .property-inner:hover { transform: scale(1.008); box-shadow: var(--os-shadow); }
.ere-property .property-image, .ere-property .property-image img { border-radius: var(--os-radius) var(--os-radius) 0 0; }
.ere-property .property-image img { display: block; width: 100%; object-fit: cover; opacity: 1 !important; filter: none !important; }
.ere-property .property-item-content { padding: 18px 20px 20px; background: var(--os-cream); text-align: left; }
.ere-property .property-title, .ere-property .property-title a {
  font-family: var(--os-font-heading); font-weight: 700; font-size: 20px; line-height: 1.3; color: var(--os-ink);
}
.ere-property .property-title a:hover { color: var(--os-green); }
.ere-property .property-price, .ere-property .property-price span { font-family: var(--os-font-body); color: var(--os-green); font-weight: 600; font-size: 17px; }
.ere-property .property-location, .ere-property .property-location a,
.ere-property .property-element-inline, .ere-property .property-element-inline a,
.ere-property .property-excerpt { color: var(--os-muted); font-size: 14px; }
.ere-property .property-info { border-top: 1px solid var(--os-line); margin-top: 14px; padding-top: 12px; color: var(--os-muted); font-size: 13px; }
/* badges (status / label / featured) — VS pill captions */
.ere__loop-property-badge-item, .ere__lpbi-inner, .ere__loop-property-status-item {
  border-radius: 999px !important; padding: 4px 10px !important; opacity: .88;
  font-family: var(--os-font-heading); font-weight: 700; font-size: 12px; letter-spacing: .03em; text-transform: uppercase;
}
.ere__lpb-status .ere__lpbi-inner, .ere__term-status, .ere__loop-property-status-item { background: var(--os-green) !important; color: #fff !important; }
.ere__loop-property-badge-item .ere__lpbi-inner::before, .ere__loop-property-badge-item::before,
.ere__loop-property-badge-item .ere__lpbi-inner::after, .ere__loop-property-badge-item::after { display: none !important; }
/* card action icons */
.ere__loop-property-action .ere__loop-property_action-item, .property-action a { border-radius: 999px; opacity: .75; transition: opacity .2s ease; }
.ere__loop-property-action .ere__loop-property_action-item:hover, .property-action a:hover { opacity: 1; }
/* status filter / paging buttons */
.btn-status-filter .btn, .ere-property .btn-classic, .btn-dark { background: var(--os-white) !important; color: var(--os-ink) !important; border: 1px solid var(--os-line) !important; box-shadow: none; }
.btn-status-filter .btn.active, .btn-status-filter .btn:hover, .ere-property .btn-classic:hover { background: var(--os-green) !important; color: #fff !important; border-color: var(--os-green) !important; }
.ere-property .pagination .page-numbers, .ere-property-wrap .pagination a, .ere-property-wrap .pagination span { border-radius: 999px; }
.ere-property-wrap .pagination .current { background: var(--os-green); border-color: var(--os-green); color: #fff; }

/* 6. Search form ---------------------------------------------------------- */
.ere-search-properties, .ere-property-search {
  background: var(--os-white); border-radius: var(--os-radius); box-shadow: var(--os-shadow-hover);
  padding: 22px; border: 0;
}
.os-hero + * .ere-search-properties, .os-hero .ere-search-properties { margin-top: -40px; position: relative; z-index: 2; }
.ere-search-status-tab .btn, .ere-search-status-tab button {
  background: transparent !important; color: var(--os-muted) !important; border: 0 !important; box-shadow: none !important;
  border-bottom: 3px solid transparent !important; border-radius: 0 !important;
}
.ere-search-status-tab .btn.active, .ere-search-status-tab button.active, .ere-search-status-tab .btn:hover { color: var(--os-green) !important; border-bottom-color: var(--os-green) !important; }
.ere-search-properties .ere-advanced-search-btn, .ere-search-properties button[type="submit"], .ere-search-properties .ere-search-btn {
  background: var(--os-green) !important; border-color: var(--os-green) !important; color: #fff !important; border-radius: var(--os-radius-pill) !important;
}

/* 7. Single property ------------------------------------------------------ */
.single-property .ere__single-property-title, .single-property .ere__single-property-header-info h1 {
  font-family: var(--os-font-display); font-weight: 500; font-size: clamp(1.9rem, 3.4vw, 2.6rem); line-height: 1.15; color: var(--os-ink);
}
.single-property .ere__single-property-price, .single-property .ere__single-property-price span {
  color: var(--os-green); font-weight: 700; font-size: 1.5rem;
}
.single-property .ere__single-property-status .ere__loop-property-status-item { display: inline-block; }
.single-property .ere__single-property-element, .single-property .single-property-element {
  background: var(--os-white); border: 1px solid var(--os-line); border-radius: var(--os-radius);
  padding: 24px 26px; margin-bottom: 24px;
}
.single-property .ere__single-property-gallery, .single-property .property-gallery-wrap { border: 0; padding: 0; background: transparent; }
.single-property .ere__single-property-gallery img { border-radius: var(--os-radius); }
.single-property .ere-heading-style2 h2, .single-property .ere-heading-style2 h4, .single-property .ere-heading-style2 {
  font-family: var(--os-font-heading); font-weight: 700; color: var(--os-ink); text-transform: none;
}
.single-property .ere-heading-style2 h2::after, .single-property .ere-heading-style2 h4::after { background: var(--os-green) !important; }
.single-property .ere__list-bg-gray > *:nth-child(odd), .single-property .ere__list-bg-gray li:nth-child(odd) { background: var(--os-cream); }
.single-property .ere__single-property-overview li, .single-property .ere__list-2-col li { border-radius: 8px; }
.single-property .ere__single-property-feature a, .single-property .property-feature a { color: var(--os-ink); }
.single-property .ere__single-property-feature i, .single-property .property-feature i { color: var(--os-green); }
.single-property .ere-tabs .nav-link, .single-property .property-info-tabs .nav-link { color: var(--os-muted); border-radius: 0; }
.single-property .ere-tabs .nav-link.active, .single-property .property-info-tabs .nav-link.active { color: var(--os-green); border-bottom: 3px solid var(--os-green); }
/* contact agent box */
.single-property .ere__single-property-contact-agent { background: var(--os-cream); border: 0; }
.single-property .ere__agent-image img { border-radius: var(--os-radius) !important; }
.single-property .ere__agent-name, .single-property .ere__agent-name a { font-family: var(--os-font-heading); font-weight: 700; font-size: 20px; color: var(--os-ink); }
.single-property .ere__single-agent-contact-info i { color: var(--os-green); }
.single-property .ere__contact-form input, .single-property .ere__contact-form textarea { border-radius: var(--os-radius-input) !important; }
.single-property .ere__single-property-attachments a, .single-property .ere__property-attachment-download { color: var(--os-green); }

/* 8. Agents grid & single agent ------------------------------------------ */
.ere-agent .agent-item .agent-item-inner, .ere-agent .agent-item {
  background: var(--os-white); border-radius: var(--os-radius); overflow: hidden; box-shadow: var(--os-shadow);
  transition: transform .28s ease, box-shadow .28s ease;
}
.ere-agent .agent-item:hover .agent-item-inner { transform: translateY(-8px); box-shadow: var(--os-shadow-hover); }
.ere-agent .agent-avatar { overflow: hidden; }
.ere-agent .agent-avatar img { transition: transform .35s ease; width: 100%; object-fit: cover; }
.ere-agent .agent-item:hover .agent-avatar img { transform: scale(1.08); }
.ere-agent .agent-content { padding: 16px 18px 20px; text-align: center; }
.ere-agent .agent-name, .ere-agent .agent-name a { font-family: var(--os-font-heading); font-weight: 700; font-size: 19px; color: var(--os-ink); }
.ere-agent .agent-name a:hover { color: var(--os-green); }
.ere-agent .agent-info, .ere-agent .agent-total-properties { color: var(--os-muted); font-size: 14px; }
.ere-agent .agent-social a, .ere__single-agent-social a { color: var(--os-green); }
.single-agent .ere__agent-image img, .single-agent .agent-avatar img { border-radius: var(--os-radius); max-width: 240px; height: auto; }

/* 9. Footer (MyHome dark) -------------------------------------------------- */
.site-footer .site-top-footer-wrap, .site-footer .site-middle-footer-wrap { background: var(--os-footer); color: #f0f0f0; }
.site-footer .site-bottom-footer-wrap .site-footer-row-container-inner,
.site-footer .site-bottom-footer-wrap { background: var(--os-footer-bottom); color: #cfcfcf; font-size: 13px; }
.site-footer a, .site-footer .footer-navigation a { color: #fff; }
.site-footer a:hover, .site-footer .footer-navigation a:hover { color: var(--os-green); }
.site-footer .footer-navigation .menu > li > a { text-transform: uppercase; letter-spacing: .04em; font-size: 12px; font-weight: 600; }

/* Mobile tweaks ----------------------------------------------------------- */
@media (max-width: 767px) {
  .ere-search-properties { padding: 16px; }
  .single-property .ere__single-property-element { padding: 18px 16px; }
  .os-section { padding: 44px 0; }
}


/* 10. White-label ----------------------------------------------------------
   Re-point the listings engine's own CSS variables at our brand tokens, so
   none of its default orange / charcoal UI shows through. */
:root {
  --ere-color-accent: var(--os-green);
  --ere-color-accent-foreground: #fff;
  --ere-color-heading: var(--os-ink);
  --ere-color-heading-foreground: #fff;
  --ere-color-border: var(--os-line);
  --ere-owl-nav-bg-color: rgba(255, 255, 255, .9);
  --ere-owl-nav-color: var(--os-ink);
  --ere-owl-dot-bg-color: var(--os-line);
  --ere-property-search-form-text-color: var(--os-muted);
  --ere-property-search-form-border-color: var(--os-input-line);
  --ere-property-search-form-light-bg-color: #fff;
  --ere-property-search-form-light-text-color: var(--os-muted);
  --ere-property-search-form-light-border-color: var(--os-input-line);
  --ere-search-status-tab-bg-color: var(--os-cream);
  --ere-search-status-tab-text-color: var(--os-muted);
  --ere-loop-property-badge-bg-color: var(--os-green);
  --ere-loop-property-status-bg-color: var(--os-green);
  --ere-sc-property-slider-property-bg-color: rgba(74, 59, 42, .9);
  --ere-rating-color: var(--os-gold);
}

/* Hide engine chrome that reads as "plugin" */
.ere__apa-item.view-as, .archive-property-action .view-as,         /* grid/list toggle */
.property-identity,                                                   /* barcode "Property ID" chip */
.compare-property, .compare-listing, #compare-listings, .compare-listings,  /* compare bar & panel */
.ere__property-print,                                                 /* print icon */
.ere__loop-property-info:not(.ere__single-property-info) .property-info-inner:empty,
.kadence-breadcrumbs, .rank-math-breadcrumb, .yoast-breadcrumb, .woocommerce-breadcrumb,
.site-info .powered-by, .footer-credit, a[href*="kadencewp.com"], a[href*="g5plus.net"] { display: none !important; }
/* Empty info strip under cards was rendering as a blank orange bar */
.ere-property .ere__loop-property-info:not(.ere__single-property-info) { border: 0; background: transparent !important; padding: 0; margin: 0; min-height: 0; }
.ere-property .ere__loop-property-info .property-info-inner { background: transparent !important; }
.ere-property .property-date { display: none; }                     /* "4 weeks ago" is noise */

/* Card: whole card clickable + outlined DETAILS pill (VS style) */
.ere-property .property-inner { position: relative; display: flex; flex-direction: column; }
.ere-property .property-item-content { position: static; display: flex; flex-direction: column; flex: 1; }
.ere-property .property-title a::before { content: ""; position: absolute; inset: 0; z-index: 1; }
.ere-property .property-location a, .ere-property .property-element-inline a { position: relative; z-index: 2; }
.ere-property .ere__loop-property-action, .ere-property .ere__loop-property-badge { z-index: 3; }
.ere-property .property-item-content::after {
  content: "Details"; align-self: flex-start; margin-top: auto; transform: translateY(6px);
  font-family: var(--os-font-heading); font-weight: 700; font-size: 13px; letter-spacing: .08em; text-transform: uppercase;
  color: var(--os-green); border: 2px solid var(--os-green); border-radius: var(--os-radius-pill);
  padding: 7px 20px; transition: background .2s ease, color .2s ease;
}
.ere-property .property-inner:hover .property-item-content::after { background: var(--os-green); color: #fff; }
.ere-property .property-excerpt { margin-bottom: 14px; }
.ere-property .property-excerpt p { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; margin: 0; }
.ere-property .property-element-inline > div { display: inline-flex; align-items: center; gap: 6px; margin-right: 14px; }
.ere-property .property-element-inline i, .ere-property .property-location i { color: var(--os-gold-dark); }
.ere-property .property-price, .ere-property .property-price span { color: var(--os-green-dark); }

/* Action icons (gallery / favorite) — soft frosted circles instead of black */
.ere__loop-property-action .ere__loop-property_action-item,
.ere__single-property-action .ere__loop-property_action-item {
  background: rgba(255, 255, 255, .88) !important; color: var(--os-bark) !important;
  border: 0 !important; border-radius: 50% !important; box-shadow: 0 2px 8px rgba(0, 0, 0, .12); opacity: .9;
}
.ere__loop-property-action .ere__loop-property_action-item:hover,
.ere__single-property-action .ere__loop-property_action-item:hover { background: var(--os-gold) !important; color: #fff !important; opacity: 1; }
.ere__single-property-action .social-share-list a { background: #fff; color: var(--os-bark); }
.ere__loop-property-badge-item.ere__lpb-featured-label, .ere__lpb-featured-label .ere__lpbi-inner { background: var(--os-gold) !important; color: var(--os-bark) !important; }
.ere__loop-property-badge-item[class*="reduced"] .ere__lpbi-inner, .ere__lpb-label .ere__lpbi-inner { background: var(--os-gold) !important; color: var(--os-bark) !important; }
.ere__loop-property-badge-item.sold .ere__lpbi-inner, .ere__loop-property-status-item.sold { background: var(--os-bark) !important; }
.ere__loop-property-badge-item.pending .ere__lpbi-inner, .ere__loop-property-status-item.pending { background: var(--os-olive) !important; }

/* Archive header: title, status filter tabs, sort — soft pills, no black */
.ere-archive-property .ere-heading h2, .ere-heading h2 { font-family: var(--os-font-heading); font-weight: 700; text-transform: none; letter-spacing: 0; }
.ere-heading h2 sub { color: var(--os-muted); font-size: .55em; vertical-align: middle; font-weight: 600; }
.ere-heading h2::after, .ere-heading::after { background: var(--os-gold) !important; }
.archive-property-action { border: 0 !important; background: transparent !important; }
.ere__apa-status ul { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; margin: 0; list-style: none; }
.ere__apa-status ul li, .ere__apa-status ul li a {
  background: var(--os-white) !important; color: var(--os-muted) !important; border: 1px solid var(--os-line) !important;
  border-radius: var(--os-radius-pill) !important; line-height: 1;
}
.ere__apa-status ul li a { display: inline-block; padding: 9px 16px; font-weight: 600; font-size: 13px; border: 0 !important; }
.ere__apa-status ul li.active, .ere__apa-status ul li.active a, .ere__apa-status ul li:hover, .ere__apa-status ul li:hover a {
  background: var(--os-green) !important; color: #fff !important; border-color: var(--os-green) !important;
}
.ere__apa-orderby > a, .ere__apa-orderby .dropdown-toggle {
  background: var(--os-white) !important; color: var(--os-ink) !important; border: 1px solid var(--os-line) !important;
  border-radius: var(--os-radius-pill) !important; padding: 9px 18px !important; font-weight: 600; font-size: 13px;
}
.ere__apa-orderby .dropdown-menu { border: 0; border-radius: var(--os-radius); box-shadow: var(--os-shadow-hover); padding: 8px; }
.ere__apa-orderby .dropdown-item { border-radius: 8px; color: var(--os-ink); }
.ere__apa-orderby .dropdown-item:hover, .ere__apa-orderby .dropdown-item.active { background: var(--os-cream); color: var(--os-green-dark); }
/* pagination */
.ere-property-wrap .paging-navigation .page-numbers, .paging-navigation .page-numbers, .ere-paging-wrap .page-numbers {
  border-radius: 50% !important; border: 1px solid var(--os-line) !important; background: #fff !important; color: var(--os-ink) !important;
  min-width: 40px; height: 40px; line-height: 38px; text-align: center; display: inline-block;
}
.paging-navigation .page-numbers.current, .paging-navigation .page-numbers:hover, .ere-paging-wrap .page-numbers.current {
  background: var(--os-green) !important; color: #fff !important; border-color: var(--os-green) !important;
}

/* Agents grid: readable names on light cards, no orange bars */
.ere-agent .agent-item .agent-item-inner { border: 1px solid var(--os-line); }
.ere-agent .agent-content, .ere-agent .agent-info { background: var(--os-white) !important; color: var(--os-ink) !important; }
.ere-agent .agent-name, .ere-agent .agent-name a { color: var(--os-ink) !important; }
.ere-agent .agent-name a:hover { color: var(--os-green) !important; }
.ere-agent .agent-total-properties { color: var(--os-gold-dark) !important; font-weight: 600; font-size: 13px; text-transform: uppercase; letter-spacing: .04em; }
.ere-agent .agent-social, .ere__single-agent-social { background: transparent !important; border: 0 !important; display: flex; justify-content: center; gap: 8px; padding-top: 10px; }
.ere-agent .agent-social a, .ere__single-agent-social a, .single-agent .agent-social a {
  background: var(--os-cream) !important; color: var(--os-green) !important; border: 0 !important;
  width: 36px; height: 36px; line-height: 36px; border-radius: 50% !important; display: inline-flex; align-items: center; justify-content: center;
}
.ere-agent .agent-social a:hover, .ere__single-agent-social a:hover { background: var(--os-green) !important; color: #fff !important; }
.ere-agent.agent-grid .agent-avatar img { aspect-ratio: auto; height: auto; }

/* Single property: header info, tabs, compact features */
.single-property .ere__single-property-header-info { border: 0 !important; padding-bottom: 8px; }
.single-property .ere__single-property-element { border-color: var(--os-line) !important; box-shadow: none; }
.single-property .ere__single-property-tabs .nav-tabs, .single-property .nav-tabs { border-bottom: 1px solid var(--os-line); }
.single-property .nav-tabs .nav-link, .single-property .nav-tabs li a {
  background: transparent !important; color: var(--os-muted) !important; border: 0 !important; border-bottom: 3px solid transparent !important;
  font-family: var(--os-font-heading); font-weight: 700; text-transform: none;
}
.single-property .nav-tabs .nav-link.active, .single-property .nav-tabs li.active a, .single-property .nav-tabs .nav-link:hover {
  color: var(--os-green-dark) !important; border-bottom-color: var(--os-gold) !important;
}
.single-property .ere__single-property-feature .row { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }
.single-property .ere__single-property-feature .property-feature-wrap { flex: 0 0 auto; max-width: none; width: auto; padding: 0; margin: 0 !important; }
.single-property .ere__single-property-feature .property-feature-wrap a {
  display: inline-block; background: var(--os-cream); color: var(--os-ink); border-radius: var(--os-radius-pill);
  padding: 6px 14px; font-size: 13px; font-weight: 500; line-height: 1.3;
}
.single-property .ere__single-property-feature .property-feature-wrap a:hover { background: var(--os-green); color: #fff; }
.single-property .ere__single-property-feature .property-feature-wrap i { display: none; }
.single-property .ere-heading-style2 h2::after, .single-property .ere-heading-style2::after { background: var(--os-gold) !important; }
.single-property .ere__single-property-price, .single-property .ere__single-property-price span { color: var(--os-green-dark); }
.single-property .ere__single-property-status .ere__loop-property-status-item { border-radius: 999px; padding: 4px 12px; }
.ere-light-gallery .zoomGallery, .property-gallery-item .zoomGallery { background: rgba(255, 255, 255, .85) !important; color: var(--os-bark) !important; border-radius: 50%; }
.owl-carousel .owl-nav button, .owl-nav > div { border-radius: 50% !important; box-shadow: 0 2px 10px rgba(0, 0, 0, .12); }

/* Kadence page title bar / boxed feel softened */
.content-style-boxed .content-bg, .entry.single-entry, .content-bg { box-shadow: none !important; }
.entry-hero-container-inner { background: var(--os-cream); }
.site-footer a:hover, .site-footer .footer-navigation a:hover { color: var(--os-gold); }

/* 11. Search form fields — full-height text (fix clipped "All Status" / price / land area) */
.ere-search-properties .form-control,
.search-properties-form .form-control,
.ere-search-properties select,
.ere-search-properties input[type="text"],
.ere-property-search select, .ere-property-search .form-control {
  height: auto !important; min-height: 50px; line-height: 1.5 !important;
  padding: 12px 40px 12px 16px !important; font-size: 15px; box-sizing: border-box;
}
.ere-search-properties input[type="text"].form-control { padding-right: 16px !important; }
.ere-search-properties select, .search-properties-form select {
  -webkit-appearance: none; -moz-appearance: none; appearance: none;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%235e5a52' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 16px center !important;
  text-overflow: ellipsis; white-space: nowrap;
}

/* 12. v1.4.0 — Land.com-style polish ---------------------------------------
   Cards lead with Price • Acres, then title, short location, 2-line summary,
   agent. Big photo, more whitespace. Hero is location-first. Save Search is an
   obvious alert sign-up. Listing detail gets a key-facts row + contact CTA. */

/* 12a. Cards */
.ere-property .property-inner { background: var(--os-white); box-shadow: 0 1px 3px rgba(31, 29, 25, .06), 0 0 0 1px var(--os-line); }
.ere-property .property-inner:hover { transform: translateY(-3px); box-shadow: var(--os-shadow-hover), 0 0 0 1px var(--os-line); }
.ere-property .property-image { overflow: hidden; }
.ere-property .property-image img { aspect-ratio: 3 / 2; height: auto; transition: transform .5s ease; }
.ere-property .property-inner:hover .property-image img { transform: scale(1.04); }
.ere-property .property-item-content { background: var(--os-white); padding: 18px 20px 22px; gap: 0; }
.ere-property .property-heading { order: 0; display: flex; flex-direction: column; margin: 0 0 6px; }
.ere-property .os-card-facts {
  display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; margin: 0 0 6px;
  font-family: var(--os-font-heading); color: var(--os-ink);
}
.ere-property .os-card-facts .property-price, .ere-property .os-card-facts .property-price span {
  font-family: var(--os-font-heading); font-size: 23px; font-weight: 700; line-height: 1.15; color: var(--os-green-dark); letter-spacing: -.01em;
}
.ere-property .os-card-sep { color: var(--os-gold-dark); font-size: 20px; line-height: 1; }
.ere-property .os-card-land { font-size: 19px; font-weight: 700; color: var(--os-ink); }
.ere-property .os-card-land small { font-family: var(--os-font-body); font-size: 13px; font-weight: 500; color: var(--os-muted); }
.ere-property .property-title, .ere-property .property-title a {
  font-family: var(--os-font-body); font-size: 15px; font-weight: 600; line-height: 1.35; color: var(--os-ink);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin: 0;
}
.ere-property .os-card-location { order: 1; color: var(--os-muted); font-size: 14px; font-weight: 500; margin: 2px 0 10px; }
.ere-property .os-card-location i { color: var(--os-gold-dark); margin-right: 4px; }
.ere-property .property-location.ere__loop-property-location { display: none; }   /* full street address → detail page */
.ere-property .property-excerpt { order: 2; margin: 0 0 12px; }
.ere-property .property-excerpt p { -webkit-line-clamp: 2; font-size: 14px; line-height: 1.55; color: var(--os-muted); }
.ere-property .property-element-inline {
  order: 3; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px;
  border-top: 1px solid var(--os-line); padding-top: 12px; margin: 0 0 14px; font-size: 13px;
}
.ere-property .property-element-inline > div { margin-right: 0; }
.ere-property .property-agent a { color: var(--os-ink) !important; font-weight: 600; }
.ere-property .property-agent a:hover { color: var(--os-green) !important; }
.ere-property .property-agent i { color: var(--os-green) !important; }
.ere-property .ere__loop-property-info { order: 4; }
.ere-property .property-item-content::after { order: 5; }
/* Favorite: Land.com-style heart affordance on the photo (engine's own toggle, restyled) */
.ere-property .ere__loop-property-action { top: 12px; right: 12px; left: auto; bottom: auto; display: flex; gap: 6px; }
.ere-property .ere__loop-property-action .property-view-gallery { display: none; }
.ere__loop-property-action .property-favorite, .ere__single-property-action .property-favorite {
  width: 38px; height: 38px; display: inline-flex !important; align-items: center; justify-content: center; opacity: 1 !important;
}
.ere__loop-property-action .property-favorite i, .ere__single-property-action .property-favorite i { font-size: 17px; }
.property-favorite i.fa-star-o::before { content: "\f08a"; }   /* heart-o */
.property-favorite i.fa-star::before { content: "\f004"; color: #c0392b; }   /* heart (favorited) */
.property-favorite i.fa-spinner::before { content: "\f110"; }

/* 12b. Homepage hero — location-first, search card floats over the photo */
.os-hero { padding: clamp(96px, 12vw, 170px) 20px clamp(120px, 13vw, 190px); }
.os-hero h1 { font-size: clamp(2.2rem, 4.8vw, 3.8rem); letter-spacing: -.015em; line-height: 1.08; }
.os-hero p { font-size: clamp(1.05rem, 1.5vw, 1.25rem); opacity: .95; }
.os-hero .wp-block-buttons { gap: 12px; }
.os-hero + .os-section { padding-top: 0; }
.os-hero + .os-section .ere-search-properties {
  margin-top: -110px; position: relative; z-index: 5; max-width: 1080px; margin-left: auto; margin-right: auto;
  padding: 26px 28px 18px; border-radius: 18px; box-shadow: 0 24px 60px rgba(31, 29, 25, .18);
}
.ere-search-properties .form-search .row { display: flex; flex-wrap: wrap; }
.ere-search-properties .form-search .row > .form-group:has(.ere-location) { order: -1; flex: 0 0 100%; max-width: 100%; }
.ere-search-properties .ere-location.form-control {
  min-height: 60px !important; font-size: 17px !important; font-weight: 500; padding-left: 48px !important;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%231f5f8b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5A7 7 0 0 1 19 9.5C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E") no-repeat 18px center !important;
}
.ere-search-properties .ere-location.form-control::placeholder { color: var(--os-muted); opacity: 1; }
.ere-search-status-tab { margin-bottom: 14px; }
.ere-search-status-tab-inner { display: flex; flex-wrap: wrap; gap: 4px 18px; }
.ere-search-status-tab .btn-status-filter { padding: 6px 2px !important; font-family: var(--os-font-heading); font-weight: 700; font-size: 14px; letter-spacing: .02em; }
.ere-search-status-tab .btn-status-filter.active, .ere-search-status-tab .btn-status-filter:hover { color: var(--os-green-dark) !important; border-bottom-color: var(--os-gold) !important; }
.ere-search-properties .submit-search-form .ere-advanced-search-btn {
  width: 100%; min-height: 50px; font-size: 15px; letter-spacing: .06em; box-shadow: 0 8px 20px var(--os-green-glow);
}
.ere-search-properties .submit-search-form .ere-advanced-search-btn:hover { background: var(--os-green-hover) !important; }

/* 12c. Save Search → "Get email alerts for this search" (search results page) */
.advanced-saved-searches {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px;
  background: var(--os-cream); border: 1px solid var(--os-line); border-left: 4px solid var(--os-gold);
  border-radius: var(--os-radius); padding: 16px 20px; margin: 18px 0 26px;
}
.advanced-saved-searches::before {
  content: "Never miss a new listing — we'll email you the moment one matches this search.";
  flex: 1 1 280px; font-family: var(--os-font-heading); font-weight: 700; font-size: 17px; color: var(--os-bark); line-height: 1.35;
}
.advanced-saved-searches .btn-save-search, .advanced-saved-searches .btn.btn-xs.btn-save-search {
  background: var(--os-green) !important; border: 0 !important; color: #fff !important;
  font-size: 14px !important; line-height: 1.2 !important; padding: 14px 26px 14px 48px !important; position: relative;
  border-radius: var(--os-radius-pill) !important; box-shadow: 0 8px 20px var(--os-green-glow) !important; white-space: nowrap;
}
.advanced-saved-searches .btn-save-search::before {   /* bell */
  content: "\f0f3"; font-family: FontAwesome; position: absolute; left: 22px; top: 50%; transform: translateY(-50%); font-size: 16px; color: var(--os-gold);
}
.advanced-saved-searches .btn-save-search:hover { background: var(--os-green-hover) !important; transform: translateY(-1px); }
.ere_save_search_modal .modal-content { border: 0; border-radius: 16px; box-shadow: var(--os-shadow-hover); }
.ere_save_search_modal .modal-title { font-family: var(--os-font-heading); font-weight: 700; color: var(--os-ink); }
.ere_save_search_modal .alert-info { background: var(--os-cream); border: 0; color: var(--os-bark); border-radius: var(--os-radius); }
.ere_save_search_modal .alert-info i { color: var(--os-green); }
.ere_save_search_modal #parameters { display: none; }   /* raw query string reads as "plugin" */
/* Menu item for Saved Searches: subtle bell */
.main-navigation .menu-item.os-menu-alerts > a::before, .mobile-navigation .menu-item.os-menu-alerts > a::before {
  content: "\f0f3"; font-family: FontAwesome; margin-right: 6px; color: var(--os-gold-dark); font-size: .9em;
}

/* 12d. Listing detail — big gallery, key-facts row, sticky contact CTA */
.single-property .ere__single-property-gallery .single-property-image-main img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; height: auto; }
.single-property .ere__single-property-gallery .single-property-image-thumb { margin-top: 10px; }
.single-property .ere__single-property-gallery .single-property-image-thumb img { border-radius: 8px; aspect-ratio: 3 / 2; object-fit: cover; }
.single-property .ere__single-property-header-price-location { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; }
.single-property .ere__single-property-price, .single-property .ere__single-property-price span { font-family: var(--os-font-heading); font-size: 1.9rem; }
.os-keyfacts {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 1px;
  background: var(--os-line); border: 1px solid var(--os-line); border-radius: var(--os-radius); overflow: hidden; margin: 0 0 24px;
}
.os-keyfact { background: var(--os-white); padding: 16px 18px; display: flex; flex-direction: column; gap: 4px; }
.os-keyfact-label { font-family: var(--os-font-heading); font-weight: 700; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--os-gold-dark); }
.os-keyfact-value { font-family: var(--os-font-heading); font-weight: 700; font-size: 18px; line-height: 1.3; color: var(--os-ink); }
.os-anchor { display: block; position: relative; top: -90px; visibility: hidden; }
.os-sticky-contact {
  position: fixed; right: 22px; bottom: 22px; z-index: 90; display: inline-flex; align-items: center; gap: 10px;
  background: var(--os-green); color: #fff !important; text-decoration: none; padding: 14px 24px; border-radius: var(--os-radius-pill);
  font-family: var(--os-font-heading); font-weight: 700; font-size: 14px; letter-spacing: .06em; text-transform: uppercase;
  box-shadow: 0 12px 30px rgba(31, 29, 25, .25); transition: background .2s ease, transform .15s ease;
}
.os-sticky-contact:hover, .os-sticky-contact:focus { background: var(--os-green-hover); color: #fff !important; transform: translateY(-2px); }
.os-sticky-contact i { color: var(--os-gold); }

@media (max-width: 767px) {
  .os-hero + .os-section .ere-search-properties { margin-top: -80px; padding: 18px 16px 10px; border-radius: 14px; }
  .ere-property .os-card-facts .property-price, .ere-property .os-card-facts .property-price span { font-size: 21px; }
  .advanced-saved-searches { padding: 14px 16px; }
  .advanced-saved-searches .btn-save-search { width: 100%; white-space: normal; }
  .os-sticky-contact { left: 16px; right: 16px; bottom: 14px; justify-content: center; }
  .single-property .site-main { padding-bottom: 70px; }
}

/* v1.4.3 — sticky header: solid at top, translucent + blur after scroll */
#masthead.site-header { position: -webkit-sticky; position: sticky; top: 0; z-index: 100; transition: box-shadow .3s ease; }
.admin-bar #masthead.site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar #masthead.site-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar #masthead.site-header { top: 0; } }
#masthead .site-main-header-wrap .site-header-row-container-inner,
#masthead .site-mobile-header-wrap .site-header-row-container-inner {
  background: #fff; transition: background-color .3s ease, -webkit-backdrop-filter .3s ease, backdrop-filter .3s ease;
}
body.os-scrolled #masthead .site-main-header-wrap .site-header-row-container-inner,
body.os-scrolled #masthead .site-mobile-header-wrap .site-header-row-container-inner {
  background: rgba(255, 255, 255, .88);
  -webkit-backdrop-filter: saturate(160%) blur(10px); backdrop-filter: saturate(160%) blur(10px);
}
body.os-scrolled #masthead.site-header { box-shadow: 0 1px 0 var(--os-line), 0 6px 18px rgba(40, 50, 30, .08); }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  body.os-scrolled #masthead .site-header-row-container-inner { background: rgba(255, 255, 255, .97); }
}
@media (prefers-reduced-motion: reduce) { #masthead, #masthead .site-header-row-container-inner { transition: none; } }

/* ==========================================================================
   v1.4.4 — Listing gallery cleanup (fixes oval overlay / odd crop on mobile)
   ========================================================================== */
/* Main photo: show the whole image at its natural shape, full width, no forced 16:9 crop */
.single-property .ere__single-property-gallery .single-property-image-main img {
  width: 100% !important; height: auto !important; aspect-ratio: auto !important; object-fit: contain;
  display: block; border-radius: var(--os-radius); background: var(--os-cream);
}
.single-property .ere__single-property-gallery .single-property-image-main .property-gallery-item { border-radius: var(--os-radius); overflow: hidden; }
/* Zoom link stays a full-image (invisible) hit area; only a small frosted button shows in the corner */
.single-property .ere-light-gallery a.zoomGallery,
.ere-light-gallery a.zoomGallery {
  background: transparent !important; border-radius: 0 !important; opacity: 1 !important;
  inset: 0; position: absolute;
}
.ere-light-gallery a.zoomGallery i {
  inset: auto 12px 12px auto !important; top: auto !important; left: auto !important;
  width: 38px !important; height: 38px !important; line-height: 38px !important; font-size: 16px !important;
  margin: 0 !important; border-radius: 50%; background: rgba(255, 255, 255, .9); color: var(--os-bark) !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, .18); transition: background .2s ease, color .2s ease;
}
.ere-light-gallery:hover a.zoomGallery i { background: var(--os-green); color: #fff !important; }
/* Prev / next: true 40px circles, vertically centred on the photo edges */
.single-property .single-property-image-main.owl-carousel { position: relative; }
.single-property .single-property-image-main > .owl-nav {
  position: absolute !important; inset: 50% 0 auto 0; transform: translateY(-50%); margin: 0 !important;
  display: flex; justify-content: space-between; pointer-events: none; padding: 0 10px;
}
.single-property .single-property-image-main > .owl-nav .owl-prev,
.single-property .single-property-image-main > .owl-nav .owl-next {
  pointer-events: auto; position: static !important; margin: 0 !important; right: auto !important; left: auto !important;
  width: 40px !important; height: 40px !important; min-width: 0; padding: 0 !important; line-height: 40px !important;
  display: inline-flex !important; align-items: center; justify-content: center; font-size: 16px;
  border-radius: 50% !important; background: rgba(255, 255, 255, .9) !important; color: var(--os-ink) !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, .18) !important; border: 0 !important;
}
.single-property .single-property-image-main > .owl-nav .owl-prev:hover,
.single-property .single-property-image-main > .owl-nav .owl-next:hover { background: var(--os-green) !important; color: #fff !important; }
.single-property .single-property-image-main > .owl-nav .disabled { opacity: .35; }
/* Thumbnail strip: tidy, uniform tiles */
.single-property .ere__single-property-gallery .single-property-image-thumb img {
  width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 8px; display: block;
}
.single-property .single-property-image-thumb .owl-item { opacity: .65; transition: opacity .2s ease; }
.single-property .single-property-image-thumb .owl-item.current,
.single-property .single-property-image-thumb .owl-item:hover { opacity: 1; }
@media (max-width: 767px) {
  .single-property .ere__single-property-gallery { margin-left: -16px; margin-right: -16px; }
  .single-property .ere__single-property-gallery .single-property-image-main img,
  .single-property .ere__single-property-gallery .single-property-image-main .property-gallery-item { border-radius: 0; }
  .single-property .ere__single-property-gallery .single-property-image-thumb { padding: 0 16px; margin-top: 8px; }
  .single-property .single-property-image-main > .owl-nav .owl-prev,
  .single-property .single-property-image-main > .owl-nav .owl-next { width: 34px !important; height: 34px !important; line-height: 34px !important; font-size: 14px; }
}

/* ==========================================================================
   v1.4.4 — Brokerage logo icon on property cards (flat charcoal)
   ========================================================================== */
.ere-property .property-agent.os-has-logo { flex: 1 1 100%; order: 9; margin-top: 2px; }
.ere-property .property-agent.os-has-logo a { display: inline-flex; align-items: center; gap: 10px; min-height: 28px; max-width: 100%; }
.os-agent-logo-wrap {
  display: inline-flex; align-items: center; justify-content: flex-start; flex: 0 0 auto;
  height: 24px; max-width: 96px; padding-right: 10px; border-right: 1px solid var(--os-line);
}
img.os-agent-logo {
  display: block; width: auto !important; height: auto !important;
  max-height: 24px !important; max-width: 86px !important; object-fit: contain;
  /* Logos are stored pre-rendered in charcoal #36454F; filter + multiply keep any future colour upload flat and grey on the white card. */
  filter: grayscale(1) contrast(1.1); mix-blend-mode: multiply; opacity: .92; transition: opacity .2s ease;
}
.ere-property .property-agent.os-has-logo a:hover img.os-agent-logo { opacity: 1; }
.ere-property .property-agent.os-has-logo .os-agent-name {
  color: #2F3437; font-weight: 600; font-size: 13px; line-height: 1.25;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0;
}
.ere-property .property-agent.os-has-logo a:hover .os-agent-name { color: var(--os-green); }
@media (max-width: 480px) {
  .os-agent-logo-wrap { height: 22px; max-width: 84px; }
  img.os-agent-logo { max-height: 22px !important; max-width: 76px !important; }
}
.ere-property .property-agent.os-has-logo { min-width: 0; max-width: 100%; overflow: hidden; }
.ere-property .property-agent.os-has-logo a { display: flex; width: 100%; min-width: 0; }
.ere-property .property-agent.os-has-logo .os-agent-name { flex: 1 1 auto; display: block; }
@media (max-width: 767px) {
  .single-property .ere__single-property-gallery .single-property-image-thumb img { aspect-ratio: 4 / 3; max-height: 92px; }
}

/* ==========================================================================
   v1.4.5 — Single agent profile: square rounded headshot, neutral charcoal
   chrome (no loud green), larger brokerage logo under the name.
   ========================================================================== */
.single-agent { --os-agent-ink: #2F3437; --os-agent-ink-hover: #1f2326; }
/* Headshot: fill the column, 1:1, cover-cropped, rounded square */
.single-agent .ere__single-agent-avatar .os-agent-photo {
  width: 100%; aspect-ratio: 1 / 1; overflow: hidden; border-radius: 16px;
  background: var(--os-cream); margin: 0 0 14px;
}
.single-agent .ere__single-agent-avatar img.os-agent-photo-img,
.single-agent .agent-avatar img.os-agent-photo-img {
  display: block; width: 100% !important; height: 100% !important; max-width: none !important;
  object-fit: cover; object-position: 50% 22%; border-radius: 0 !important;
}
/* "View all properties": charcoal outline instead of green fill */
.single-agent .ere__single-agent-avatar .btn.btn-primary {
  background: transparent !important; color: var(--os-agent-ink) !important;
  border: 1.5px solid var(--os-agent-ink) !important; box-shadow: none !important;
  border-radius: 10px !important; letter-spacing: .06em; min-height: 46px;
  display: flex; align-items: center; justify-content: center;
}
.single-agent .ere__single-agent-avatar .btn.btn-primary:hover,
.single-agent .ere__single-agent-avatar .btn.btn-primary:focus {
  background: var(--os-agent-ink) !important; color: #fff !important; border-color: var(--os-agent-ink) !important; transform: none;
}
/* Brokerage logo — larger than the 24px card icon */
.single-agent .os-agent-brand {
  display: flex; align-items: center; justify-content: flex-start;
  margin: 6px 0 14px; padding: 0 0 14px; border-bottom: 1px solid var(--os-line);
}
.single-agent img.os-agent-brand-logo {
  display: block; width: auto !important; height: auto !important;
  max-height: 64px !important; max-width: 240px !important; object-fit: contain;
  filter: grayscale(1) contrast(1.1); mix-blend-mode: multiply;
}
/* Social circles + contact icons/links: charcoal on neutral */
.single-agent .ere__single-agent-social a, .single-agent .agent-social a {
  background: #f1f2f3 !important; color: var(--os-agent-ink) !important;
}
.single-agent .ere__single-agent-social a:hover, .single-agent .agent-social a:hover {
  background: var(--os-agent-ink) !important; color: #fff !important;
}
.single-agent .ere__single-agent-contact-info i, .single-agent .agent-contact i { color: var(--os-agent-ink) !important; }
.single-agent .ere__single-agent-contact-info a, .single-agent .ere__single-agent-agency a,
.single-agent .ere__single-agent-description a { color: var(--os-agent-ink) !important; text-decoration-color: rgba(47,52,55,.35); }
.single-agent .ere__single-agent-contact-info a:hover, .single-agent .ere__single-agent-description a:hover { color: var(--os-agent-ink-hover) !important; text-decoration-color: currentColor; }
.single-agent .ere__single-agent-contact-info a span { overflow-wrap: anywhere; }
.single-agent .ere__single-agent-number-property { color: var(--os-muted) !important; }
/* Contact form on profile: charcoal submit + neutral focus ring */
.single-agent .ere__single-agent-contact-form .btn, .single-agent .ere__single-agent-contact-form button,
.single-agent .ere__single-agent-contact-form input[type="submit"], .single-agent .contact-agent .btn-primary {
  background: var(--os-agent-ink) !important; border-color: var(--os-agent-ink) !important; color: #fff !important; box-shadow: none !important;
}
.single-agent .ere__single-agent-contact-form .btn:hover, .single-agent .ere__single-agent-contact-form button:hover,
.single-agent .ere__single-agent-contact-form input[type="submit"]:hover, .single-agent .contact-agent .btn-primary:hover {
  background: var(--os-agent-ink-hover) !important; border-color: var(--os-agent-ink-hover) !important;
}
.single-agent .ere__single-agent-contact-form input:focus, .single-agent .ere__single-agent-contact-form textarea:focus {
  border-color: var(--os-agent-ink) !important; box-shadow: 0 0 0 3px rgba(47,52,55,.12) !important; background: #fff;
}
.single-agent .ere-heading-style2 h2::after, .single-agent .ere-heading h2::after { background: var(--os-agent-ink) !important; }
@media (max-width: 991px) {
  .single-agent .ere__single-agent-avatar .os-agent-photo { max-width: 420px; margin-left: auto; margin-right: auto; }
  .single-agent .ere__single-agent-avatar .btn.btn-primary { max-width: 420px; margin: 0 auto 8px; }
}
@media (max-width: 767px) {
  .single-agent .os-agent-brand { justify-content: center; }
  .single-agent .ere__single-agent-title { text-align: center; }
  .single-agent img.os-agent-brand-logo { max-height: 56px !important; max-width: 200px !important; }
}
/* v1.4.5 — icon-only phone/website rows on the agent profile */
.single-agent .ere__single-agent-contact-info .os-agent-phone,
.single-agent .ere__single-agent-contact-info .os-agent-website { display: flex; align-items: baseline; gap: 10px; margin-bottom: 8px; }
.single-agent .ere__single-agent-contact-info .os-agent-phone i,
.single-agent .ere__single-agent-contact-info .os-agent-website i { width: 16px; flex: 0 0 16px; text-align: center; margin: 0 !important; }
.single-agent .ere__single-agent-contact-info .os-agent-website a { min-width: 0; overflow-wrap: anywhere; }

/* v1.4.6 — listing cards: one clean pill per badge, stacked top-left; no ad age; one consistent DETAILS button */
/* Badges: the outer item was painted green (padding + bg) under the coloured inner pill → doubled "ring". Paint only the inner pill. */
.ere-property .ere__loop-property-badge .ere__loop-property-badge-item {
  display: block; background: transparent !important; padding: 0 !important; border-radius: 0 !important; opacity: 1; margin: 0 !important; line-height: 1;
}
.ere-property .ere__loop-property-badge .ere__lpbi-inner {
  display: inline-block; line-height: 20px; padding: 4px 12px !important; border-radius: 999px !important; opacity: .95;
  box-shadow: 0 2px 6px rgba(0, 0, 0, .18);
}
/* Stack: status (SOLD / FOR SALE / PENDING) on top, labels (PRICE REDUCED / featured) directly beneath, all top-left; heart stays alone top-right */
.ere-property:not(.ere-property-slider) .ere__loop-property-badge {
  position: absolute; left: 12px; right: auto; top: 12px; display: flex; flex-direction: column; align-items: flex-start; gap: 6px; font-size: 0;
}
.ere-property:not(.ere-property-slider) .property-image:has(.ere__lpb-status) .ere__lpb-featured-label { top: 46px; }
/* Ad age ("3 years ago") off the cards — the inline-flex rule above was overriding the old hide */
.ere-property .property-element-inline > .property-date, .ere-property .property-date { display: none !important; }
/* DETAILS: same solid pill on every card (sticky touch-hover made one card solid and the next outlined, reading as a duplicate) */
.ere-property .property-item-content::after { background: var(--os-green); color: #fff; border-color: var(--os-green); }
.ere-property .property-inner:hover .property-item-content::after { background: var(--os-green); color: #fff; }
@media (hover: hover) {
  .ere-property .property-inner:hover .property-item-content::after { background: var(--os-green-dark); border-color: var(--os-green-dark); }
}
/* Heart sat half off the photo (engine centring transform left on after it was moved top-right) */
.ere-property:not(.ere-property-slider) .ere__loop-property-action { transform: none; }


/* ==========================================================================
   v1.4.7 — Agents archive/grid: square rounded headshots, brokerage logo
   under the photo, company / phone / region, no email icon, charcoal chrome.
   ========================================================================== */
.ere-archive-agent,
.ere-agent.agent-grid {
  --os-agent-ink: #2F3437;
  --os-agent-ink-hover: #1f2326;
}
/* Card padding around photo so rounded corners aren't clipped by card overflow */
.ere-agent.agent-grid .agent-item .agent-item-inner.os-agent-card {
  padding: 14px 14px 18px;
  overflow: visible;
}
.ere-agent.agent-grid .agent-avatar {
  overflow: visible;
  padding: 0;
  background: transparent;
}
.ere-agent.agent-grid a.os-agent-photo-link {
  display: block; text-decoration: none; color: inherit;
}
.ere-agent.agent-grid .os-agent-photo {
  display: block; width: 100% !important; max-width: 100%;
  aspect-ratio: 1 / 1 !important; overflow: hidden !important;
  border-radius: 16px !important; background: var(--os-cream);
  line-height: 0;
}
.ere-agent.agent-grid a.os-agent-photo-link { display: block; width: 100%; }
.ere-agent.agent-grid .agent-avatar { width: 100%; }
.ere-agent.agent-grid img.os-agent-photo-img {
  display: block; width: 100% !important; height: 100% !important;
  max-width: none !important; object-fit: cover; object-position: 50% 22%;
  border-radius: 0 !important; transition: transform .35s ease;
}
.ere-agent.agent-grid .agent-item:hover img.os-agent-photo-img { transform: scale(1.06); }
/* Override older portrait aspect-ratio rule from v1.x */
.ere-agent.agent-grid .agent-avatar img { aspect-ratio: auto; height: auto; }

/* Brokerage logo under the headshot */
.ere-agent.agent-grid .os-agent-grid-brand {
  display: flex; align-items: center; justify-content: center;
  margin: 12px 0 0; min-height: 36px;
}
.ere-agent.agent-grid img.os-agent-grid-logo {
  display: block; width: auto !important; height: auto !important;
  max-height: 40px !important; max-width: 140px !important; object-fit: contain;
  filter: grayscale(1) contrast(1.1); mix-blend-mode: multiply;
}

/* Content: company, phone, region */
.ere-agent.agent-grid .agent-content { padding: 12px 6px 4px !important; text-align: center; }
.ere-agent.agent-grid .agent-name { margin: 0 0 6px; }
.ere-agent.agent-grid .os-agent-company {
  color: var(--os-muted); font-size: 13px; font-weight: 600; line-height: 1.35;
  margin: 0 0 6px;
}
.ere-agent.agent-grid .os-agent-phone {
  font-size: 14px; font-weight: 600; margin: 0 0 4px; color: var(--os-agent-ink);
}
.ere-agent.agent-grid .os-agent-phone a {
  color: var(--os-agent-ink) !important; text-decoration: none;
}
.ere-agent.agent-grid .os-agent-phone a:hover { color: var(--os-agent-ink-hover) !important; text-decoration: underline; }
.ere-agent.agent-grid .os-agent-region {
  color: var(--os-muted); font-size: 13px; margin: 0 0 6px;
}
.ere-agent.agent-grid .agent-total-properties {
  display: block; margin-top: 6px;
  color: var(--os-muted) !important; font-weight: 600; font-size: 12px;
  text-transform: uppercase; letter-spacing: .04em;
}

/* Social: charcoal (no green), email already omitted from markup */
.ere-agent.agent-grid .agent-social {
  background: transparent !important; border: 0 !important;
  display: flex; justify-content: center; gap: 8px; padding-top: 10px;
}
.ere-agent.agent-grid .agent-social a {
  background: #f1f2f3 !important; color: var(--os-agent-ink) !important;
}
.ere-agent.agent-grid .agent-social a:hover {
  background: var(--os-agent-ink) !important; color: #fff !important;
}
/* Belt-and-suspenders: hide any leftover mailto / envelope on the agents grid */
.ere-agent.agent-grid .agent-social a[href^="mailto:"],
.ere-agent.agent-grid .agent-social a[title="Email"] { display: none !important; }

@media (max-width: 575px) {
  .ere-agent.agent-grid img.os-agent-grid-logo { max-height: 34px !important; max-width: 120px !important; }
}

/* v1.4.8 — agent service regions (chips) + State / Region filter bar */
.ere-agent.agent-grid .os-agent-regions {
  display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 4px 0 6px;
}
.ere-agent.agent-grid .os-agent-region-chip {
  display: inline-flex; align-items: center; gap: 5px;
  background: #f1f2f3; color: var(--os-agent-ink); border-radius: 999px;
  padding: 3px 10px; font-size: 12px; font-weight: 600; line-height: 1.4; text-decoration: none !important;
  transition: background .15s, color .15s;
}
.ere-agent.agent-grid .os-agent-region-chip i { font-size: 11px; opacity: .7; }
.ere-agent.agent-grid a.os-agent-region-chip:hover { background: var(--os-agent-ink); color: #fff !important; }
.ere-agent.agent-grid .os-agent-region-state {
  color: var(--os-muted); font-size: 12px; margin: 0 0 4px; letter-spacing: .02em;
}
.ere__archive-agent-actions .os-agent-filter {
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0;
}
.ere__archive-agent-actions .os-agent-filter-field { margin: 0; }
.ere__archive-agent-actions .os-agent-filter select {
  height: 40px; min-width: 170px; padding: 0 34px 0 12px; border: 1px solid #d5d8da; border-radius: 8px;
  background-color: #fff; color: #2F3437; font-size: 14px; font-weight: 500; cursor: pointer;
}
.ere__archive-agent-actions .os-agent-filter select:focus {
  outline: none; border-color: #2F3437; box-shadow: 0 0 0 3px rgba(47,52,55,.12);
}
.ere__archive-agent-actions .os-agent-filter-clear {
  color: #2F3437 !important; font-size: 13px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px;
}
@media (max-width: 767px) {
  .ere__archive-agent-actions .os-agent-filter { width: 100%; }
  .ere__archive-agent-actions .os-agent-filter-field { flex: 1 1 45%; }
  .ere__archive-agent-actions .os-agent-filter select { width: 100%; min-width: 0; }
}

/* --------------------------------------------------------------------------
   v1.4.9 — Search: hide duplicate Status dropdown when status tabs are present
   (has-status-tab lives on .form-search-wrap, not .ere-search-properties)
   -------------------------------------------------------------------------- */
.has-status-tab .os-status-dup-hidden,
.has-status-tab select[name="status"],
.has-status-tab .form-group:has(select[name="status"]) {
  display: none !important;
}

/* 1.4.10 Archive toolbar: status pills + Sort By on one aligned row */
.ere__archive-property-actions.archive-property-action { display: flex !important; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding: 0 !important; margin: 0 0 24px !important; float: none !important; width: 100%; }
.ere__archive-property-actions .ere__apa-item { float: none !important; margin: 0 !important; padding: 0 !important; border: 0 !important; display: flex; align-items: center; }
.ere__archive-property-actions .ere__apa-status { flex: 1 1 auto; min-width: 0; }
.ere__archive-property-actions .ere__apa-orderby { flex: 0 0 auto; margin-left: auto !important; position: relative; }
.ere__archive-property-actions .ere__apa-orderby .dropdown-menu { left: auto !important; right: 0 !important; }
.ere__archive-property-actions .ere__apa-switch-layout { display: none !important; }
@media (max-width: 767px) {
  .ere__archive-property-actions .ere__apa-status, .ere__archive-property-actions .ere__apa-orderby { flex: 1 1 100%; }
  .ere__archive-property-actions .ere__apa-orderby { margin-left: 0 !important; }
  .ere__archive-property-actions .ere__apa-orderby > .dropdown-toggle { width: 100%; text-align: left; display: flex !important; justify-content: space-between; align-items: center; }
  .ere__archive-property-actions .ere__apa-orderby .dropdown-menu { left: 0 !important; right: 0 !important; width: 100%; }
}
.ere__archive-property-actions .ere__apa-orderby > .dropdown-toggle { display: inline-flex !important; align-items: center; gap: 10px; line-height: 1 !important; white-space: nowrap; }
.ere__archive-property-actions .ere__apa-orderby > .dropdown-toggle::after { margin: 0 !important; vertical-align: middle; position: static !important; }
.ere-archive-property .ere__apa-orderby .dropdown-toggle { display: flex !important; justify-content: space-between; align-items: center; line-height: 1.2 !important; height: auto !important; min-width: 160px; }
.ere-archive-property .ere__apa-orderby .dropdown-toggle:after { position: static !important; transform: none !important; margin-left: 10px !important; }

/* v1.4.12: no bed/bath counts on listing cards */
.ere__loop-property-info:not(.ere__single-property-info) .property-bedrooms,
.ere__loop-property-info:not(.ere__single-property-info) .property-bathrooms { display: none !important; }

/* v1.4.13 — price drag range bar (ERE jQuery UI slider) */
.ere-sliderbar-price-wrap .ere-sliderbar-filter { padding: 4px 4px 10px; }
.ere-sliderbar-price .title-slider-filter { font-weight: 600; color: var(--os-ink); margin-bottom: 14px; }
.ere-sliderbar-price .sidebar-filter.ui-slider { position: relative; height: 6px; background: var(--os-line, #e5e0d5); border: 0; border-radius: 3px; margin: 0 10px; }
.ere-sliderbar-price .ui-slider-range { position: absolute; top: 0; height: 100%; background: var(--os-green, #1f5f8b); border-radius: 3px; }
.ere-sliderbar-price .ui-slider-handle { position: absolute; top: -8px; width: 22px; height: 22px; margin-left: -11px; border-radius: 50%; background: #fff; border: 2px solid var(--os-green, #1f5f8b); cursor: grab; box-shadow: 0 1px 3px rgba(0,0,0,.2); touch-action: none; outline: none; }
.ere-sliderbar-price .ui-slider-handle:active { cursor: grabbing; }

/* v1.4.15 — price + land-area sliders share one style */
.ere-sliderbar-filter { padding: 4px 4px 10px; }
.ere-sliderbar-filter .title-slider-filter { font-weight: 600; color: var(--os-ink); margin-bottom: 14px; }
.ere-sliderbar-filter .title-slider-filter .min-value, .ere-sliderbar-filter .title-slider-filter .max-value { font-weight: 600; color: var(--os-green, #1f5f8b); }
.ere-sliderbar-filter .sidebar-filter.ui-slider { position: relative; height: 6px; background: var(--os-line, #e5e0d5); border: 0; border-radius: 3px; margin: 0 10px; }
.ere-sliderbar-filter .ui-slider-range { position: absolute; top: 0; height: 100%; background: var(--os-green, #1f5f8b); border-radius: 3px; }
.ere-sliderbar-filter .ui-slider-handle { position: absolute; top: -8px; width: 22px; height: 22px; margin-left: -11px; border-radius: 50%; background: #fff; border: 2px solid var(--os-green, #1f5f8b); cursor: grab; box-shadow: 0 1px 3px rgba(0,0,0,.2); touch-action: none; outline: none; }
.ere-sliderbar-filter .ui-slider-handle:active { cursor: grabbing; }

/* v1.4.16 — consistent spacing for Price/Land sliders */
.ere-sliderbar-price-wrap, .ere-sliderbar-land-wrap, [class*="ere-sliderbar-"][class*="-wrap"].form-group { margin-bottom: 18px; }
.ere-sliderbar-filter { padding: 2px 4px 8px; }
.ere-sliderbar-filter .title-slider-filter { margin-bottom: 12px; line-height: 1.3; }

/* ==========================================================================
   v1.4.18 — Listing "Contact" card: same polish as the agent profile.
   Square rounded headshot, charcoal chrome (no loud green), larger brokerage
   logo, email hidden, icon-only phone/website rows, social left-aligned.
   ========================================================================== */
.os-listing-contact { --os-agent-ink: #2F3437; --os-agent-ink-hover: #1f2326; }
.os-listing-contact .os-lc-info {
  display: flex; flex-wrap: wrap; align-items: flex-start; gap: 24px 28px; margin: 0 0 22px;
}
.os-listing-contact .os-lc-photo-col { flex: 0 0 240px; max-width: 240px; padding: 0 !important; }
.os-listing-contact .os-lc-photo {
  display: block; width: 100%; aspect-ratio: 1 / 1; overflow: hidden; border-radius: 16px; background: #ece9e1;
}
.os-listing-contact img.os-lc-photo-img {
  display: block; width: 100% !important; height: 100% !important; max-width: none !important;
  object-fit: cover; object-position: 50% 22%; border-radius: 0 !important; transition: transform .35s ease;
}
.os-listing-contact .os-lc-photo:hover img.os-lc-photo-img { transform: scale(1.04); }
.os-listing-contact .os-lc-content { flex: 1 1 260px; min-width: 0; padding: 0 !important; text-align: left; }
.os-listing-contact .ere__agent-name { margin: 2px 0 4px; font-size: 20px; }
.os-listing-contact .ere__agent-name a { color: var(--os-agent-ink) !important; }
.os-listing-contact .ere__agent-name a:hover { color: var(--os-agent-ink-hover) !important; text-decoration: underline; }
.os-listing-contact .ere__agent-position { color: var(--os-muted) !important; font-size: 14px; }
/* Brokerage logo — larger than the card icon */
.os-listing-contact .os-lc-brand { display: flex; align-items: center; margin: 14px 0 4px; }
.os-listing-contact img.os-lc-brand-logo {
  display: block; width: auto !important; height: auto !important;
  max-height: 60px !important; max-width: 200px !important; object-fit: contain;
  filter: grayscale(1) contrast(1.1); mix-blend-mode: multiply;
}
/* Phone / website: icon + value, no text labels, charcoal */
.os-listing-contact .ere__single-agent-contact-info { margin: 14px 0 0; padding: 14px 0 0; border-top: 1px solid var(--os-line); }
.os-listing-contact .os-lc-row { display: flex; align-items: baseline; gap: 10px; margin: 0 0 8px; font-size: 15px; }
.os-listing-contact .os-lc-row i { width: 16px; flex: 0 0 16px; text-align: center; margin: 0 !important; color: var(--os-agent-ink) !important; }
.os-listing-contact .os-lc-row a {
  min-width: 0; overflow-wrap: anywhere; color: var(--os-agent-ink) !important; font-weight: 600;
  text-decoration: none;
}
.os-listing-contact .os-lc-row a:hover { color: var(--os-agent-ink-hover) !important; text-decoration: underline; }
.os-listing-contact .ere__email { display: none !important; }
/* Social: left-aligned neutral circles */
.os-listing-contact .ere__single-agent-social { justify-content: flex-start !important; padding-top: 6px !important; margin: 0 0 14px; }
.os-listing-contact .ere__single-agent-social:empty { display: none; }
.os-listing-contact .ere__single-agent-social a { background: #ece9e1 !important; color: var(--os-agent-ink) !important; }
.os-listing-contact .ere__single-agent-social a:hover { background: var(--os-agent-ink) !important; color: #fff !important; }
/* Buttons: charcoal outline / fill instead of green */
.os-listing-contact .btn.os-lc-more {
  background: transparent !important; color: var(--os-agent-ink) !important;
  border: 1.5px solid var(--os-agent-ink) !important; box-shadow: none !important; transform: none !important;
}
.os-listing-contact .btn.os-lc-more:hover, .os-listing-contact .btn.os-lc-more:focus {
  background: var(--os-agent-ink) !important; color: #fff !important;
}
.os-listing-contact .ere__btn-submit-contact-form {
  background: var(--os-agent-ink) !important; border-color: var(--os-agent-ink) !important; color: #fff !important; box-shadow: none !important;
}
.os-listing-contact .ere__btn-submit-contact-form:hover { background: var(--os-agent-ink-hover) !important; border-color: var(--os-agent-ink-hover) !important; transform: none !important; }
.os-listing-contact .ere__single-agent-contact-form input:focus,
.os-listing-contact .ere__single-agent-contact-form textarea:focus {
  border-color: var(--os-agent-ink) !important; box-shadow: 0 0 0 3px rgba(47,52,55,.12) !important; background: #fff;
}
.os-listing-contact .ere-heading-style2 h2::after { background: var(--os-agent-ink) !important; }
@media (max-width: 575px) {
  .os-listing-contact .os-lc-photo-col { flex: 1 1 100%; max-width: 100%; }
  .os-listing-contact .os-lc-info { row-gap: 14px; }
  .os-listing-contact .os-lc-photo { max-width: 420px; }
  .os-listing-contact img.os-lc-brand-logo { max-height: 52px !important; max-width: 180px !important; }
}

/* v1.4.19 — Agent analytics on My Properties (views + leads) */
.os-agent-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 20px}
.os-agent-stat{background:var(--os-cream);border:1px solid var(--os-line);border-radius:var(--os-radius);padding:14px 16px;display:flex;flex-direction:column;gap:2px}
.os-agent-stat__num{font-family:var(--os-font-heading);font-weight:700;font-size:26px;line-height:1.1;color:var(--os-ink)}
.os-agent-stat__label{font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--os-green-dark);font-weight:600}
@media (max-width:767px){.os-agent-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ere__loop-my-property-meta .os-stat{display:inline-flex;align-items:center;gap:6px;background:var(--os-green-wash);border:1px solid var(--os-green-tint);color:var(--os-ink);border-radius:var(--os-radius-pill);padding:3px 10px;font-size:13px;margin:0 6px 4px 0}
.ere__loop-my-property-meta .os-stat i{color:var(--os-green);margin:0}
.ere__loop-my-property-meta .os-stat strong{font-weight:700}

.os-optional{font-weight:400;color:var(--os-muted);font-size:.85em}

/* v1.4.21 — brokerage name under logo on listing Contact card */
.os-listing-contact .os-lc-company{font-size:14px;font-weight:600;color:var(--os-ink);margin:6px 0 10px;line-height:1.35}

/* 1.4.25 single listing header: heart top-right, tighter spacing */
.single-property .ere__single-property-header-info{position:relative!important;display:block!important;margin-top:0!important;margin-bottom:12px!important;padding-top:4px!important;padding-bottom:0!important}
.single-property #primary .content-wrap,.single-property .content-container.site-container{padding-top:12px!important}
.single-property .ere__single-property-header-info-inner{padding-right:52px!important;margin:0!important}
.single-property .ere__single-property-title{margin:0 0 6px!important;padding:0!important}
.single-property .ere__single-property-header-price-location{margin:0!important;row-gap:4px!important}
.single-property .ere__single-property-location{margin:4px 0 0!important}
.single-property .ere__single-property-header-meta-action{position:absolute!important;top:4px!important;right:0!important;margin:0!important;padding:0!important;width:auto!important}
.single-property .ere__single-property-header-meta-action .ere__single-property-info{display:none!important}
.single-property .ere__single-property-action{margin:0!important;padding:0!important}

/* 1.4.26 Mobile-only square gallery (desktop keeps wide 870x420 main + landscape thumbs) */
.single-property .ere__single-property-gallery .single-property-image-main picture{display:block}
@media (max-width: 767px){
  .single-property .ere__single-property-gallery .single-property-image-main img{aspect-ratio:1/1!important;width:100%!important;height:auto!important;object-fit:cover!important;object-position:center}
  .single-property .ere__single-property-gallery .single-property-image-thumb .owl-stage-outer{overflow-x:auto!important;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .single-property .ere__single-property-gallery .single-property-image-thumb .owl-stage-outer::-webkit-scrollbar{display:none}
  .single-property .ere__single-property-gallery .single-property-image-thumb .owl-stage{display:flex!important;gap:8px;transform:none!important;width:auto!important;transition:none!important}
  .single-property .ere__single-property-gallery .single-property-image-thumb .owl-item{flex:0 0 calc((100% - 16px)/3)!important;width:auto!important;margin:0!important}
  .single-property .ere__single-property-gallery .single-property-image-thumb img{aspect-ratio:1/1!important;max-height:none!important;width:100%!important;height:auto!important;object-fit:cover!important}
}

/* 1.4.27 Listing gallery controls: no wedge triangles, no circles — bare white arrows + expand at 70% */
.single-property .single-property-image-main > .owl-nav .owl-prev::after,
.single-property .single-property-image-main > .owl-nav .owl-next::after,
.single-property .single-property-image-main > .owl-nav .owl-prev::before,
.single-property .single-property-image-main > .owl-nav .owl-next::before{content:none!important;display:none!important;border:0!important}
.single-property .single-property-image-main > .owl-nav .owl-prev,
.single-property .single-property-image-main > .owl-nav .owl-next,
.single-property .single-property-image-main > .owl-nav .owl-prev:hover,
.single-property .single-property-image-main > .owl-nav .owl-next:hover{background:transparent!important;box-shadow:none!important;border:0!important;border-radius:0!important;color:#fff!important;opacity:.7!important;font-size:30px!important;width:40px!important;height:48px!important;line-height:48px!important}
.single-property .single-property-image-main > .owl-nav .owl-prev i,
.single-property .single-property-image-main > .owl-nav .owl-next i{color:#fff!important;font-size:30px!important;background:none!important;text-shadow:0 1px 4px rgba(0,0,0,.55)}
.single-property .single-property-image-main > .owl-nav .disabled{opacity:.25!important}
.single-property .ere-light-gallery a.zoomGallery{background:transparent!important}
.single-property .ere-light-gallery a.zoomGallery i,
.single-property .ere-light-gallery:hover a.zoomGallery i{background:transparent!important;box-shadow:none!important;border-radius:0!important;color:#fff!important;opacity:.7;font-size:20px!important;text-shadow:0 1px 4px rgba(0,0,0,.55)}
@media (max-width:767px){
  .single-property .single-property-image-main > .owl-nav .owl-prev,
  .single-property .single-property-image-main > .owl-nav .owl-next,
  .single-property .single-property-image-main > .owl-nav .owl-prev i,
  .single-property .single-property-image-main > .owl-nav .owl-next i{font-size:26px!important}
}

/* ==========================================================================
   v1.4.29 — Register: Buyer / Agent account-type choice
   ========================================================================== */
.os-account-type { border: 0; padding: 0; margin: 0 0 1rem; min-width: 0; }
.os-account-type__legend { font-size: .95rem; font-weight: 600; color: var(--os-green-dark); margin: 0 0 .5rem; padding: 0; width: auto; border: 0; float: none; }
.os-account-type__options { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; }
.os-account-type__option { position: relative; margin: 0; cursor: pointer; display: block; }
.os-account-type__option input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.os-account-type__card { display: flex; flex-direction: column; gap: .2rem; height: 100%; padding: .75rem .9rem; border: 2px solid #d9e2d3; border-radius: 10px; background: #fff; transition: border-color .15s, background-color .15s, box-shadow .15s; }
.os-account-type__title { font-weight: 700; font-size: 1rem; color: #2b2b2b; }
.os-account-type__title::before { content: ""; display: inline-block; width: .95em; height: .95em; margin-right: .45em; vertical-align: -.1em; border: 2px solid #b8c4b0; border-radius: 50%; background: #fff; box-sizing: border-box; transition: border-color .15s, box-shadow .15s; }
.os-account-type__desc { font-size: .8rem; line-height: 1.35; color: #666; }
.os-account-type__option:hover .os-account-type__card { border-color: var(--os-green-bright); }
.os-account-type__option input:checked + .os-account-type__card { border-color: var(--os-green); background: var(--os-green-wash); box-shadow: 0 0 0 3px var(--os-green-tint); }
.os-account-type__option input:checked + .os-account-type__card .os-account-type__title::before { border-color: var(--os-green); box-shadow: inset 0 0 0 3px #fff; background: var(--os-green); }
.os-account-type__option input:focus-visible + .os-account-type__card { outline: 2px solid var(--os-green); outline-offset: 2px; }
.os-account-type__error { display: none; margin-top: .4rem; font-size: .8rem; color: #c0392b; }
.was-validated .os-account-type:not(:has(input:checked)) .os-account-type__error,
.os-account-type.is-invalid .os-account-type__error { display: block; }
.was-validated .os-account-type:not(:has(input:checked)) .os-account-type__card,
.os-account-type.is-invalid .os-account-type__card { border-color: #e3a8a1; }
@media (max-width: 420px) { .os-account-type__options { grid-template-columns: 1fr; } }
.os-register-notice { max-width: 456px; margin: 0 auto 1.25rem; padding: .85rem 1rem; border-left: 4px solid var(--os-green); border-radius: 6px; background: var(--os-green-wash); color: #2b2b2b; font-size: .95rem; }
.os-register-notice--pending { border-left-color: #c9962b; background: rgba(201, 150, 43, .08); }

/* v1.4.32 — Planted slider + easier-to-grab range sliders (Price / Land / Planted)
   - 28px thumbs with an invisible 44px touch ring
   - invisible 36px-tall hit area on the 6px track (tap anywhere to jump + drag)
   - thumbs stacked above range/track; labels never overlap the hit area */
.ere-sliderbar-filter { padding: 2px 4px 14px; }
.ere-sliderbar-filter .title-slider-filter { margin-bottom: 18px; position: relative; z-index: 0; }
.ere-sliderbar-filter .title-slider-filter * { pointer-events: none; }
.ere-sliderbar-filter .sidebar-filter.ui-slider,
.ere-sliderbar-price .sidebar-filter.ui-slider {
	position: relative; height: 6px; margin: 0 14px; cursor: pointer;
	touch-action: pan-y; -webkit-tap-highlight-color: transparent; user-select: none; z-index: 1;
}
.ere-sliderbar-filter .sidebar-filter.ui-slider::before {
	content: ""; position: absolute; left: -14px; right: -14px; top: -15px; bottom: -15px; background: transparent; z-index: 0;
}
.ere-sliderbar-filter .ui-slider-range,
.ere-sliderbar-price .ui-slider-range { z-index: 1; pointer-events: none; }
.ere-sliderbar-filter .ui-slider-handle,
.ere-sliderbar-price .ui-slider-handle {
	top: -11px; width: 28px; height: 28px; margin-left: -14px; z-index: 3;
	border-width: 3px; box-shadow: 0 2px 6px rgba(0,0,0,.22);
	touch-action: none; -webkit-tap-highlight-color: transparent;
	transition: transform .12s ease, box-shadow .12s ease;
}
.ere-sliderbar-filter .ui-slider-handle::after {
	content: ""; position: absolute; left: -8px; right: -8px; top: -8px; bottom: -8px; border-radius: 50%;
}
.ere-sliderbar-filter .ui-slider-handle.ui-state-active,
.ere-sliderbar-filter .ui-slider-handle:hover,
.ere-sliderbar-filter .ui-slider-handle:focus-visible { transform: scale(1.08); box-shadow: 0 3px 10px rgba(0,0,0,.28); z-index: 4; }
.ere-sliderbar-filter .ui-slider-handle.os-top { z-index: 5; }
.ere-sliderbar-planted-wrap.form-group { margin-bottom: 18px; }
/* v1.4.32b — root cause of "hard to grab": the engine's
   .form-search-wrap.form-search-wrap .ui-slider-horizontal .ui-slider-handle rule
   (higher specificity) shrank thumbs to 14px while our -11px margin shifted the
   visible dot left of its real hit box. Win specificity explicitly. */
.form-search-wrap.form-search-wrap .ere-sliderbar-filter .sidebar-filter.ui-slider-horizontal {
	position: relative; height: 6px; margin: 0 14px; border: 0; border-radius: 3px;
	background: var(--os-line, #e5e0d5); cursor: pointer; touch-action: pan-y; z-index: 1;
}
.form-search-wrap.form-search-wrap .ere-sliderbar-filter .sidebar-filter.ui-slider-horizontal .ui-slider-range {
	top: 0; height: 100%; z-index: 1; pointer-events: none; background: var(--os-green, #1f5f8b);
}
.form-search-wrap.form-search-wrap .ere-sliderbar-filter .sidebar-filter.ui-slider-horizontal .ui-slider-handle {
	position: absolute; z-index: 3; width: 28px; height: 28px; top: -11px; margin-left: -14px;
	background: #fff; border: 3px solid var(--os-green, #1f5f8b); border-radius: 50%;
	box-shadow: 0 2px 6px rgba(0,0,0,.22); cursor: grab; touch-action: none; outline: none;
	-webkit-tap-highlight-color: transparent; transition: transform .12s ease, box-shadow .12s ease;
}
.form-search-wrap.form-search-wrap .ere-sliderbar-filter .sidebar-filter.ui-slider-horizontal .ui-slider-handle.ui-state-active,
.form-search-wrap.form-search-wrap .ere-sliderbar-filter .sidebar-filter.ui-slider-horizontal .ui-slider-handle:hover,
.form-search-wrap.form-search-wrap .ere-sliderbar-filter .sidebar-filter.ui-slider-horizontal .ui-slider-handle:focus-visible {
	transform: scale(1.08); box-shadow: 0 3px 10px rgba(0,0,0,.28); z-index: 4; cursor: grabbing;
}
.form-search-wrap.form-search-wrap .ere-sliderbar-filter .sidebar-filter.ui-slider-horizontal .ui-slider-handle.os-top { z-index: 5; }

/* v1.4.33: My Properties dashboard thumbnails. The loop/property-image.php
   override emits a 600x400 card image (ignoring the ERE 150x150 my-property
   size), so the row thumbnail rendered at full photo size. Constrain it here,
   scoped to the dashboard list only. */
.ere__my-property-list .ere__property-item-inner{align-items:flex-start;gap:16px;border-radius:var(--os-radius,8px);background:#fff}
.ere__my-property-list .ere__property-image{width:168px;flex:0 0 168px;max-width:168px;height:112px;margin-right:0;overflow:hidden;border-radius:6px;position:relative}
.ere__my-property-list .ere__property-image img{display:block;width:100%!important;height:100%!important;max-width:none;object-fit:cover;object-position:center;aspect-ratio:auto}
.ere__my-property-list .ere__loop-my-property-badge{font-size:11px;line-height:1.6;padding:1px 7px;border-radius:4px;z-index:2}
.ere__my-property-list .ere__loop-my-property-badge.ere__status{top:6px;left:6px}
.ere__my-property-list .ere__loop-my-property-badge.ere__featured{bottom:6px;right:6px}
@media (max-width:575px){
  .ere__my-property-list .ere__property-item-inner{flex-wrap:nowrap;gap:12px}
  .ere__my-property-list .ere__property-image{width:108px;flex:0 0 108px;max-width:108px;height:80px;margin:0}
}

/* v1.4.34 (2026-10-30) — listing-card pills: no Featured pill anywhere on cards; remaining pills smaller + slightly transparent */
.ere__loop-property-badge-item.ere__featured { display: none !important; }
.ere__loop-property-badge.ere__lpb-featured-label:not(:has(.ere__loop-property-badge-item:not(.ere__featured))) { display: none !important; }
.ere-property .ere__loop-property-badge .ere__lpbi-inner {
  font-size: 10px !important; line-height: 16px !important; padding: 2px 9px !important; letter-spacing: .04em;
  opacity: 1; box-shadow: 0 1px 4px rgba(0, 0, 0, .14);
  -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px);
}
.ere-property .ere__loop-property-badge .ere__lpb-status .ere__lpbi-inner,
.ere-property .ere__lpb-status .ere__lpbi-inner,
.ere-property .ere__term-status .ere__lpbi-inner { background: color-mix(in srgb, var(--os-green) 78%, transparent) !important; }
.ere-property .ere__loop-property-badge-item[class*="reduced"] .ere__lpbi-inner,
.ere-property .ere__lpb-label .ere__lpbi-inner,
.ere-property .ere__lpb-featured-label .ere__lpbi-inner { background: color-mix(in srgb, var(--os-gold) 80%, transparent) !important; }
.ere-property .ere__loop-property-badge-item.sold .ere__lpbi-inner { background: color-mix(in srgb, var(--os-bark) 78%, transparent) !important; }
.ere-property .ere__loop-property-badge-item.pending .ere__lpbi-inner { background: color-mix(in srgb, var(--os-olive) 78%, transparent) !important; }
.ere-property:not(.ere-property-slider) .ere__loop-property-badge { gap: 4px; }
.ere-property:not(.ere-property-slider) .property-image:has(.ere__lpb-status) .ere__lpb-featured-label { top: 36px; }

/* v1.4.35 (2026-10-30) — hide FOR SALE status pill on cards (status kept for search/organizing); Sold/Pending still show */
.ere__loop-property-badge-item.ere__term-status.for-sale { display: none !important; }
.ere__loop-property-badge.ere__lpb-status:not(:has(.ere__loop-property-badge-item:not(.for-sale))) { display: none !important; }
.ere-property:not(.ere-property-slider) .property-image:not(:has(.ere__lpb-status .ere__loop-property-badge-item:not(.for-sale))) .ere__lpb-featured-label { top: 12px; }

/* v1.4.35 leaf icon for property-type on cards (replaces fa-tag) */
.property-type-list > i.fa.fa-tag{display:inline-block;width:1em;height:1em;vertical-align:-0.12em;margin-right:4px;font-size:inherit;background:none!important}
.property-type-list > i.fa.fa-tag::before{content:"";display:block;width:100%;height:100%;
background:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27%3E%3Cpath fill=%27%23e3a72f%27 d=%27M20.5 3.5C11 3.5 4 8 4 15.5c0 1.6.4 3 1 4.2L3.3 21.4l1.3 1.3 1.8-1.8c1.2.7 2.6 1.1 4.1 1.1C18 22 21.5 14 20.5 3.5z%27/%3E%3Cpath d=%27M6 20.5C9 15 13 10.5 17.5 7M10 14.5h4.5M12.8 11.3l.4-3.3%27 stroke=%27%23F3EBCF%27 stroke-width=%271.1%27 stroke-linecap=%27round%27 fill=%27none%27/%3E%3C/svg%3E") center/contain no-repeat}

/* 2026-11-09: archive headings are H1 now — same look as the old H2 */
.ere-heading h1.os-archive-title { font-family: var(--os-font-heading); font-weight: 700; text-transform: none; letter-spacing: 0; font-size: 32px; line-height: 1; margin: 0 0 10px; padding: 0; color: rgb(31, 29, 25); }
.ere-heading h1.os-archive-title sub { color: var(--os-muted); font-size: .55em; vertical-align: middle; font-weight: 600; }
@media (max-width: 600px) { .ere-heading h1.os-archive-title { font-size: 26px; line-height: 1.15; } }
.os-archive-intro { max-width: 760px; margin: 0 0 22px; color: var(--os-muted); font-size: 16px; line-height: 1.6; }
.site-footer .os-legal { display: block; margin-top: 8px; font-size: 12px; line-height: 1.5; opacity: .8; max-width: 900px; }

/* 2026-11-09: Contact form fields stay inside the page margins on phones */
.wpcf7 label { display: block; max-width: 100%; }
.wpcf7 .wpcf7-form-control-wrap { display: block; max-width: 100%; }
.wpcf7 input:not([type=submit]):not([type=checkbox]):not([type=radio]), .wpcf7 select, .wpcf7 textarea { width: 100%; max-width: 100%; min-width: 0; box-sizing: border-box; }
