/* Listing Search Results — structural/layout only. Visual styling via Elementor controls. */

.rpl-sr-wrap { width: 100%; }
.rpl-sr__bar { margin-bottom: 18px; }

.rpl-sr__head {
  display: flex;
  align-items: baseline;
  gap: 16px;
  margin: 8px 0 16px;
}
.rpl-sr__title { font-size: 28px; line-height: 1.25; margin: 0; }
.rpl-sr__count { font-size: 14px; opacity: 0.8; }
.rpl-sr__actions { margin-left: auto; display: flex; align-items: center; gap: 8px; }

.rpl-sr__filterbtn { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; }

.rpl-sr__sort { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; }
.rpl-sr__sort select, .rpl-sr__sortsel {
  appearance: none; -webkit-appearance: none;
  background: transparent; border: none; border-radius: 0;
  padding: 0; margin: 0; font: inherit; color: inherit;
  cursor: pointer; outline: none; flex: 1; min-width: 0;
}

.rpl-sr__grid {
  display: grid;
  grid-template-columns: repeat(var(--rpl-sr-cols-d, 4), minmax(0, 1fr));
  gap: var(--rpl-sr-gap, 20px);
}
@media (max-width: 1024px) {
  .rpl-sr__grid { grid-template-columns: repeat(var(--rpl-sr-cols-t, 2), minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .rpl-sr__grid { grid-template-columns: repeat(var(--rpl-sr-cols-m, 1), minmax(0, 1fr)); }
}

.rpl-res__card { overflow: hidden; display: flex; flex-direction: column; }
.rpl-res__thumb { position: relative; display: block; }
.rpl-res__thumb img { width: 100%; height: auto; display: block; object-fit: cover; aspect-ratio: 16/10; }
.rpl-res__thumb--ph { width: 100%; padding-top: 62%; background: #eef1f4; }
.rpl-res__badge {
  position: absolute; top: 8px; font-size: 12px; line-height: 1;
  color: #fff; padding: 6px 8px; border-radius: 8px; background: rgba(0,0,0,.65);
}
.rpl-res__badge--type  { left: 8px; }
.rpl-res__badge--method { right: 8px; }
.rpl-res__body { padding: 12px 14px 16px; flex: 1; }
.rpl-res__type { font-size: 12px; letter-spacing: .04em; opacity: .8; margin-bottom: 6px; }
.rpl-res__title { font-size: 16px; margin: 0 0 10px; }
.rpl-res__title a { color: inherit; text-decoration: none; }
.rpl-res__meta { display: flex; flex-wrap: wrap; gap: 10px 16px; font-size: 13px; opacity: .9; }
.rpl-res__meta span { white-space: nowrap; }

.rpl-sr-wrap .rpl-res__card.is-hidden { display: none; }
.rpl-sr-wrap .rpl-loadmore { display: flex; justify-content: center; margin-top: 16px; }
.rpl-sr-wrap .rpl-loadmore[hidden] { display: none !important; }
.rpl-sr-wrap .rpl-loadmore__btn { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; }
.rpl-sr-wrap .rpl-loadmore__ico { display: inline-flex; align-items: center; justify-content: center; font-size: 16px; line-height: 1; }
.rpl-sr-wrap .rpl-loadmore__ico svg { width: 1em; height: 1em; display: block; }

/* Popup filter — structural */
.rpl-modal-open { overflow: hidden; }
.rpl-sr-wrap .rpl-sbar__overlay[data-modal='filters'] { position: fixed; inset: 0; background: rgba(0,0,0,.45); z-index: 99998; }
.rpl-sr-wrap .rpl-sbar__overlay[hidden] { display: none !important; }
.rpl-sr-wrap .rpl-sbar__popup[data-modal='filters'] { position: fixed; inset: 0; display: grid; place-items: center; z-index: 99999; }
.rpl-sr-wrap .rpl-sbar__popup[hidden] { display: none !important; }
.rpl-sr-wrap .rpl-sbar__popup-inner {
  width: min(720px, 92vw); max-height: 86vh;
  background: #fff; border-radius: 14px;
  box-shadow: 0 20px 50px rgba(0,0,0,.25);
  display: flex; flex-direction: column; overflow: hidden;
}
.rpl-sr-wrap .rpl-sbar__popup-head { display: flex; align-items: center; justify-content: space-between; padding: 16px 18px; border-bottom: 1px solid #e5e7eb; }
.rpl-sr-wrap .rpl-sbar__popup-head h3 { font-size: 18px; margin: 0; }
.rpl-sr-wrap .rpl-sbar__popup-close { border: 0; background: transparent; font-size: 24px; line-height: 1; cursor: pointer; }
.rpl-sr-wrap .rpl-sbar__popup-form { padding: 16px 18px 6px; overflow: auto; }
.rpl-sr-wrap .rpl-sbar__group { margin-bottom: 16px; }
.rpl-sr-wrap .rpl-sbar__label { display: block; font-size: 13px; font-weight: 600; margin-bottom: 8px; color: #111827; }
.rpl-sr-wrap .rpl-sbar__field--selectlike { position: relative; }
.rpl-sr-wrap .rpl-sbar__select-summary { font-size: 14px; padding: 10px 12px; border: 1px solid #e5e7eb; background: #fff; border-radius: 10px; cursor: pointer; user-select: none; }
.rpl-sr-wrap .rpl-sbar__choices { display: none; margin-top: 8px; padding: 10px 12px; border: 1px solid #e5e7eb; border-radius: 10px; background: #fafafa; }
.rpl-sr-wrap .rpl-sbar__choices.is-open { display: block; }
.rpl-sr-wrap .rpl-sbar__choices-inner label { display: inline-flex; align-items: center; gap: 8px; margin: 6px 14px 6px 0; font-size: 14px; }
.rpl-sr-wrap .rpl-sbar__range { display: flex; align-items: center; gap: 10px; }
.rpl-sr-wrap .rpl-sbar__range input[type='number'] { width: 100%; padding: 10px 12px; border: 1px solid #e5e7eb; border-radius: 10px; background: #fff; }
.rpl-sr-wrap .rpl-sbar__sep { opacity: .6; }
.rpl-sr-wrap .rpl-sbar__actions { display: flex; justify-content: flex-end; gap: 10px; padding: 12px 18px 16px; border-top: 1px solid #e5e7eb; }
.rpl-sr-wrap .rpl-sbar__btn { cursor: pointer; }
.rpl-sr-wrap .rpl-sbar__popup .rpl-sbar__icon { display: none; }

@media (max-width: 640px) {
  .rpl-sr-wrap .rpl-sbar__popup-inner { width: 94vw; max-height: 88vh; }
  .rpl-sr-wrap .rpl-sbar__popup-head { padding: 12px 14px; }
  .rpl-sr-wrap .rpl-sbar__popup-form { padding: 12px 14px 4px; }
  .rpl-sr-wrap .rpl-sbar__actions { padding: 10px 14px 14px; }
}
