/* Property search and detail enhancements; retain each site's brand colors. */
html body #swmo-main-content#swmo-main-content .property-search-row {
  --property-accent:#175b4b;
  display:grid!important; grid-template-columns:minmax(0,1fr) auto!important; align-items:center!important;
  gap:6px!important; height:auto!important; min-height:0!important; padding:5px!important;
  overflow:visible!important; background:#fff!important; border-radius:10px!important;
}
html body #swmo-main-content#swmo-main-content .property-search-row[data-property-brand="jordan"] { --property-accent:#5a3654; }
html body #swmo-main-content#swmo-main-content .property-search-row .property-search-actions {
  display:flex!important; align-items:center!important; justify-content:flex-end!important;
  width:auto!important; gap:6px!important; margin:0!important; padding:0!important;
}
html body #swmo-main-content#swmo-main-content .property-search-row :is(input[name="q"],.search-suggest-wrap) {
  width:100%!important; min-width:0!important; min-height:44px!important; font-size:16px!important;
}
html body #swmo-main-content#swmo-main-content .property-search-row .property-search-actions :is(#hero-search-submit,#homes-page-search-submit,.property-voice-button) {
  position:static!important; display:inline-flex!important; align-items:center!important; justify-content:center!important;
  gap:6px!important; flex:0 0 auto!important; transform:none!important; margin:0!important;
  width:auto!important; min-width:72px!important; height:44px!important; min-height:44px!important;
  border-radius:7px!important; padding:0 12px!important; font:700 14px/1 system-ui,sans-serif!important;
  text-indent:0!important; color:#fff!important; background:var(--property-accent)!important; border:1px solid transparent!important;
  box-shadow:none!important; cursor:pointer; white-space:nowrap;
}
html body #swmo-main-content#swmo-main-content .property-search-row .property-search-actions .property-voice-button {
  color:var(--property-accent)!important; background:#f5f3f5!important; border-color:#ded9df!important;
}
html body #swmo-main-content#swmo-main-content .property-search-row .property-voice-button[aria-pressed="true"] { background:#ffeadf!important; color:#8b2512!important; }
html body #swmo-main-content#swmo-main-content .property-search-row .property-search-actions :is(#hero-search-submit,#homes-page-search-submit)::before,
html body #swmo-main-content#swmo-main-content .property-search-row .property-search-actions :is(#hero-search-submit,#homes-page-search-submit)::after { content:none!important; display:none!important; }
@media(max-width:390px){
  html body #swmo-main-content#swmo-main-content .property-search-row .property-search-actions :is(#hero-search-submit,#homes-page-search-submit,.property-voice-button) {
    min-width:62px!important; padding:0 8px!important; font-size:13px!important;
  }
}
.property-voice-status:not([hidden]) {
  position:relative; z-index:3; max-width:42rem; margin:8px auto; padding:10px 14px;
  border:1px solid #cfd7da; border-radius:10px; background:#fff; color:#17252e; font-size:14px; line-height:1.4;
}
.property-card-photo { position:relative; touch-action:pan-y pinch-zoom; }
.property-card-photo :is(a, img) { -webkit-user-drag:none; }
.property-card-photo .zillow-card-photo-dots { display:none!important; }
.property-card-photo > .property-card-preview:not([hidden]) {
  position:absolute!important; inset:0!important; display:block!important; width:100%!important;
  height:100%!important; object-fit:cover!important; z-index:2; pointer-events:none;
}
.property-card-photo > .property-card-preview[hidden] { display:none!important; }
.property-card-gallery {
  position:absolute; z-index:8; inset:auto 8px 8px; display:flex; align-items:center;
  justify-content:space-between; gap:5px; pointer-events:none;
}
.property-card-gallery button {
  display:grid; place-items:center; width:42px; height:42px; flex:none; padding:0;
  background:#fff; color:#17252e; border:1px solid #dce3e6; border-radius:50%;
  font:600 28px/1 system-ui,sans-serif; cursor:pointer; pointer-events:auto;
}
.property-card-gallery button:disabled { visibility:hidden; }
.property-card-gallery span {
  background:#182732; color:#fff; border-radius:20px; padding:4px 9px;
  font:600 12px/1.3 system-ui,sans-serif; text-align:center;
}
.property-card-gallery-center { display:grid; justify-items:center; gap:2px; }
.property-card-dots:not([hidden]) {
  display:flex; align-items:center; border-radius:24px; padding:0 4px;
  background:rgba(19,30,38,.82); pointer-events:auto;
}
.property-card-gallery .property-card-dot {
  position:relative; display:block; width:23px; height:30px; min-width:0; min-height:0;
  padding:0; border:0; background:transparent; color:white;
}
.property-card-dot::before {
  content:''; display:block; width:7px; height:7px; margin:auto;
  border-radius:50%; background:currentColor; opacity:.64;
}
.property-card-dot[aria-current="true"]::before { width:10px; height:10px; opacity:1; }
.property-card-dot:focus-visible { outline:2px solid #fff; outline-offset:-3px; }
.discover-gallery-count {
  position:absolute; inset:auto 8px 9px auto; padding:4px 7px; border-radius:20px;
  background:#19262cde; color:#fff; font:600 11px/1.2 system-ui,sans-serif; font-variant-numeric:tabular-nums;
}
.discover-photo-track img.discover-pending-photo:not([src]) { background:#e8ebed; color:transparent; }
#listing-modal .property-alert-link { display:inline-block; margin:4px 0 14px; text-decoration:underline; text-underline-offset:3px; font-size:14px; }
#listing-modal .lp-address { overflow-wrap:anywhere; }
#listing-modal .lp-similar-viewport { scroll-snap-type:x proximity; }
#listing-modal .lp-similar-track > * { scroll-snap-align:start; }
@media(max-width:640px) {
  html body #listing-modal .lp-gallery-mosaic { display:block!important; }
  html body #listing-modal #gallery-main {
    display:block!important; width:100%!important; min-height:0!important; height:auto!important;
    max-height:46svh!important; aspect-ratio:4/3; overflow:hidden; background:#17232a;
  }
  html body #listing-modal #gallery-main #modal-image {
    width:100%!important; height:100%!important; max-height:none!important;
    object-fit:contain!important; object-position:center!important; transform:none!important;
  }
  html body #listing-modal #gallery-thumbs-side { display:none!important; }
  html body #listing-modal #modal-price { font-size:clamp(26px,8vw,36px)!important; line-height:1.12!important; }
  html body #listing-modal .lp-facts-row { display:flex!important; flex-wrap:wrap; gap:8px 16px; }
  html body #listing-modal .lp-similar-viewport { overflow-x:auto!important; overscroll-behavior-inline:contain; }
  html body #listing-modal .lp-similar-track { display:flex!important; gap:12px; }
  html body #listing-modal .lp-similar-track > * { flex:0 0 min(78vw,280px); min-width:0; }
}
.property-search-help {
  display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:0 14px;
  margin:8px 0; border:1px solid #b8cbc2; border-radius:10px; background:#fff; color:#184635;
  font:inherit; font-size:.9rem; font-weight:700; cursor:pointer;
}
.property-search-guide {
  box-sizing:border-box; width:min(calc(100% - 24px),560px); max-height:calc(100% - 24px);
  max-height:calc(100dvh - 24px); overflow:auto; margin:auto; padding:clamp(16px,4vw,28px);
  border:1px solid #cedbd3; border-radius:18px; background:#fff; color:#182720; text-align:left;
  box-shadow:0 16px 70px #0c211e42;
}
.property-search-guide::backdrop {background:#10241f9c;}
.property-search-guide header {display:flex; align-items:center; gap:12px; justify-content:space-between;}
.property-search-guide h2 {margin:0; font-size:clamp(1.2rem,5vw,1.6rem); line-height:1.2; color:inherit;}
.property-search-guide [data-close-guide] {width:44px; height:44px; border:1px solid #cddbd3; border-radius:50%; background:white; color:#163d30; font-size:1.4rem; cursor:pointer; flex:none;}
.property-search-guide p {margin:8px 0 12px; color:#42554c; line-height:1.4;}
.property-search-guide .property-guide-heard {padding:9px 12px; border-radius:8px; background:#eaf3ef; color:#183b30; overflow-wrap:anywhere;}
.property-search-guide [hidden] {display:none!important;}
.property-guide-fields {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px;}
.property-search-guide label {display:grid; gap:4px; font-weight:650; font-size:.86rem; line-height:1.35;}
.property-search-guide :is(input:not([type=checkbox]),select) {
  width:100%; min-width:0; min-height:44px; box-sizing:border-box; border:1px solid #aabbb0;
  border-radius:8px; padding:7px 9px; background:white; color:#182720; font:inherit; font-size:16px;
}
.property-search-guide .property-guide-style-field {margin-top:10px;}
.property-search-guide .property-guide-style {font-size:.85rem;}
.property-search-guide .property-guide-confirm {display:flex; align-items:flex-start; gap:8px; margin-bottom:8px;}
.property-guide-confirm input {width:18px; height:18px; margin:0; flex:none;}
.property-search-guide .property-guide-error {color:#a02525; font-size:.9rem;}
.property-guide-error:empty {display:none;}
.property-search-guide .property-guide-submit {
  min-height:46px; width:100%; border:0; border-radius:9px; background:#1d5541;
  color:white; font:inherit; font-weight:750; cursor:pointer;
}
.property-search-guide :focus-visible,.property-search-help:focus-visible {outline:2px solid #287663; outline-offset:2px;}
