/* ============================================================
   RealtyPress, dressed as Charles.

   The plugin's Bootstrap is namespaced to .bootstrap-realtypress, so
   rather than rewrite its templates we restyle inside its own markup.
   Plugin updates then change behaviour without undoing the design.
   ============================================================ */

.bootstrap-realtypress,
.bootstrap-realtypress body{
  font-family:var(--sans);color:var(--ink);background:transparent}

/* --- type inside listing markup --- */
.bootstrap-realtypress h1,.bootstrap-realtypress h2,
.bootstrap-realtypress h3,.bootstrap-realtypress h4{
  font-family:var(--serif);font-weight:400;color:var(--ink);letter-spacing:0}
.bootstrap-realtypress p,.bootstrap-realtypress li,.bootstrap-realtypress td,
.bootstrap-realtypress dd,.bootstrap-realtypress dt{
  font-family:var(--sans);font-weight:300;color:var(--muted)}
.bootstrap-realtypress a{color:var(--ink)}
.bootstrap-realtypress a:hover,.bootstrap-realtypress a:focus{color:var(--brand);text-decoration:none}

/* --- result cards --- */
.rps-property-result{background:var(--paper);border:0;border-radius:0;box-shadow:none;
  margin-bottom:44px;transition:none}
.rps-property-result .image-holder{position:relative;overflow:hidden;border-radius:0}
.rps-property-result .image-holder img{width:100%;height:300px;object-fit:cover;
  transition:transform .6s cubic-bezier(.2,0,.2,1);border-radius:0}
.rps-property-result:hover .image-holder img{transform:scale(1.03)}

/* price and ribbons: quiet, typographic, no shouting */
.bootstrap-realtypress .rps-price,
.bootstrap-realtypress .rps-price-default{
  position:absolute;left:0;bottom:0;margin:0;padding:9px 16px;border-radius:0;
  background:rgba(16,14,12,.72);color:var(--paper);
  font-family:var(--serif);font-size:19px;letter-spacing:.01em;font-weight:400}
.bootstrap-realtypress .rps-ribbon{
  border-radius:0;font-family:var(--sans);font-size:10px;letter-spacing:.2em;
  text-transform:uppercase;font-weight:400;padding:7px 13px;background:rgba(16,14,12,.72);color:var(--paper)}
.bootstrap-realtypress .rps-ribbon-sold{background:var(--ink)}
.bootstrap-realtypress .rps-ribbon-open-house{background:var(--brand)}

/* address block under each card */
.rps-property-result .rps-property-details,
.rps-property-result .property-details{padding:16px 0 0}
.rps-property-result .rps-property-address,
.rps-property-result h3,.rps-property-result h4{
  font-family:var(--serif);font-size:19px;line-height:1.35;margin:0 0 6px;color:var(--ink)}
.rps-property-result .rps-property-city,
.rps-property-result .rps-property-meta{
  font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--faint)}

/* --- search form --- */
.bootstrap-realtypress .form-control,
.bootstrap-realtypress select,.bootstrap-realtypress input[type=text],
.bootstrap-realtypress input[type=number],.bootstrap-realtypress input[type=search]{
  font-family:var(--sans);font-size:14px;font-weight:300;color:var(--ink);
  border:1px solid #D9D9D7;border-radius:0;box-shadow:none;background:#fff;height:auto;padding:12px 14px}
.bootstrap-realtypress .form-control:focus{border-color:var(--brand);box-shadow:none;outline:none}
.bootstrap-realtypress label{font-size:10px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--label);font-weight:400;margin-bottom:7px}

/* --- buttons --- */
.bootstrap-realtypress .btn,
.bootstrap-realtypress .btn-primary,.bootstrap-realtypress .btn-default{
  font-family:var(--sans);font-size:11px;letter-spacing:.26em;text-transform:uppercase;
  border-radius:0;padding:14px 32px;box-shadow:none;text-shadow:none;background-image:none;
  background:var(--ink);border:1px solid var(--ink);color:var(--paper);transition:background .2s}
.bootstrap-realtypress .btn:hover,.bootstrap-realtypress .btn-primary:hover{
  background:#3A3C3E;border-color:#3A3C3E;color:var(--paper)}
.bootstrap-realtypress .btn-default{background:transparent;color:#4E5052;border-color:#C9CACB}
.bootstrap-realtypress .btn-default:hover{background:transparent;border-color:var(--brand);color:var(--ink)}

/* --- single listing --- */
.rps-single-property h1,.rps-listing-title{font-family:var(--serif);font-size:40px;line-height:1.2}
.bootstrap-realtypress .nav-tabs{border-bottom:1px solid var(--line)}
.bootstrap-realtypress .nav-tabs>li>a{border:0;border-radius:0;font-size:11px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--faint);padding:14px 20px}
.bootstrap-realtypress .nav-tabs>li.active>a,
.bootstrap-realtypress .nav-tabs>li.active>a:focus,
.bootstrap-realtypress .nav-tabs>li.active>a:hover{
  border:0;border-bottom:1px solid var(--brand);color:var(--ink);background:transparent}
.bootstrap-realtypress .panel,.bootstrap-realtypress .well{
  border-radius:0;box-shadow:none;border:1px solid var(--line);background:var(--tint)}
.bootstrap-realtypress .table>tbody>tr>td,.bootstrap-realtypress .table>tbody>tr>th{
  border-top:1px solid var(--line);padding:12px 10px;font-size:14px}

/* --- pagination --- */
.bootstrap-realtypress .pagination>li>a,.bootstrap-realtypress .pagination>li>span{
  border-radius:0;border:1px solid var(--line);color:var(--label);
  font-size:12px;letter-spacing:.1em;padding:11px 16px;background:transparent}
.bootstrap-realtypress .pagination>.active>a,.bootstrap-realtypress .pagination>.active>span{
  background:var(--ink);border-color:var(--ink);color:var(--paper)}

/* the loading overlay's spinner is Font Awesome; keep it unobtrusive */
.rps-result-overlay{background:rgba(248,248,247,.86)}
.rps-result-overlay .loading-text{font-family:var(--sans);font-size:11px;
  letter-spacing:.26em;text-transform:uppercase;color:var(--faint)}

/* CREA attribution must stay legible and unaltered — trademark requirement */
.rps-crea-disclaimer,.rps-footer-mls{font-size:11px;line-height:1.7;color:var(--faint)}

/* --- range sliders (jRange) — the last Bootstrap blue in the search form --- */
.bootstrap-realtypress .slider-container .back-bar{height:2px;border-radius:0;
  background:var(--line);border:0;box-shadow:none}
.bootstrap-realtypress .slider-container .back-bar .selected-bar{
  background:var(--brand);background-image:none;border-radius:0;box-shadow:none;height:2px}
.bootstrap-realtypress .slider-container .back-bar .pointer{
  width:16px;height:16px;top:-7px;border-radius:50%;
  background:var(--paper);border:1px solid var(--brand);box-shadow:none;cursor:grab}
.bootstrap-realtypress .slider-container .back-bar .pointer.last-active,
.bootstrap-realtypress .slider-container .back-bar .pointer:active{
  background:var(--brand);border-color:var(--brand);cursor:grabbing}
.bootstrap-realtypress .slider-container .pointer-label{
  font-family:var(--sans);font-size:11px;letter-spacing:.1em;color:var(--label);
  background:transparent;border:0;top:-26px}
.bootstrap-realtypress .slider-container .scale{display:none}
.bootstrap-realtypress .slider-container .clickable-dummy{cursor:pointer}
.bootstrap-realtypress .slider-container{margin-top:6px}

/* the field labels above each slider */
.bootstrap-realtypress .rps-range-label,
.bootstrap-realtypress .slider-container + label{font-size:10px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--label)}

/* In LargePhoto mode the photograph is a background on the anchor and the <img>
   is only a transparent spacer — so the spacer must stay transparent. */
.rps-property-result .image-holder a{background-color:var(--tint)}
.rps-property-result .image-holder img{background:transparent}

/* --- slider: pointer values sit under the track, clear of the field label --- */
.bootstrap-realtypress .slider-container{margin:14px 0 26px;position:relative}
.bootstrap-realtypress .slider-container .pointer-label{
  top:16px;bottom:auto;font-family:var(--sans);font-size:11px;letter-spacing:.08em;
  color:var(--label);background:transparent;border:0;white-space:nowrap}

/* --- feature pills: quiet type instead of filled blocks --- */
.bootstrap-realtypress .rps-result-feature-label-sm,
.bootstrap-realtypress .rps-single-listing .rps-single-feature-label-sm,
.bootstrap-realtypress .rps-single-listing .rps-single-feature-label{
  background:transparent;border:0;border-radius:0;padding:0 14px 0 0;margin:0;
  color:var(--faint);font-family:var(--sans);font-size:11px;font-weight:400;
  letter-spacing:.13em;text-transform:uppercase;line-height:1.9}

/* the office credit under each card */
.bootstrap-realtypress .rps-property-info{font-size:10px;letter-spacing:.14em;
  text-transform:uppercase;color:#A8AAAC;margin-top:10px}

/* the plugin ships its own pill rule at equal specificity; win on order + a
   slightly longer selector rather than !important */
.bootstrap-realtypress .rps-property-result .rps-result-feature-label-sm,
.bootstrap-realtypress .rps-single-listing .rps-single-feature-label-sm,
.bootstrap-realtypress .rps-single-listing .rps-single-feature-label{
  background:transparent;background-color:transparent;border:0;padding:0 14px 0 0;
  color:var(--faint);font-size:11px;letter-spacing:.13em;text-transform:uppercase}

/* The card grid wants the full width; the search form does not — at 1250px its
   fields strand a lot of empty space. Cap the form, leave the grid alone. */
.wide-body form.shortcode-search-frm{max-width:1040px;margin-left:auto;margin-right:auto}

/* wider cards deserve a little more photograph */
.rps-property-result .image-holder,
.rps-property-result .image-holder img{height:330px}
