:root {
  --ww-pink: #F54C85;
  --ww-navy: #020C7D;
  --ww-text: #11172b;
  --ww-muted: #667085;
  --ww-border: #e5e7ef;
  --ww-card: #ffffff;
  --ww-soft: #f7f8fe;
  --ww-shadow: 0 14px 40px rgba(2, 12, 125, 0.08);
  --ww-shadow-hover: 0 18px 48px rgba(2, 12, 125, 0.12);
  --ww-radius-xl: 24px;
  --ww-radius-lg: 18px;
  --ww-radius-pill: 999px;
}

.jrPage,
.jr-page {
  color: var(--ww-text);
}

/* Search shell */
.wwjr-shell {
  background: linear-gradient(180deg, #ffffff 0%, #fbfcff 100%);
  border: 1px solid var(--ww-border);
  border-radius: var(--ww-radius-xl);
  box-shadow: var(--ww-shadow);
  padding: 24px;
}

.wwjr-shell__row {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) repeat(4, minmax(140px, 1fr)) auto;
  gap: 12px;
  align-items: end;
}

.wwjr-shell__field,
.wwjr-shell .jrFieldDiv {
  min-width: 0;
}

.wwjr-shell label,
.wwjr-filter-shell .jr-filter-label {
  display: block;
  margin-bottom: 8px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--ww-muted);
}

.wwjr-shell input[type="text"],
.wwjr-shell select,
.wwjr-filter-shell input[type="text"],
.wwjr-filter-shell select,
.wwjr-filter-shell .jr-filter-field-wrap {
  width: 100%;
  min-height: 52px;
  border-radius: 16px;
  border: 1px solid var(--ww-border);
  background: #fff;
  color: var(--ww-text);
  box-shadow: none;
}

.wwjr-shell input[type="text"],
.wwjr-shell select,
.wwjr-filter-shell input[type="text"],
.wwjr-filter-shell select {
  padding: 0 16px;
}

.wwjr-shell input[type="text"]:focus,
.wwjr-shell select:focus,
.wwjr-filter-shell input[type="text"]:focus,
.wwjr-filter-shell select:focus {
  border-color: var(--ww-pink);
  outline: none;
  box-shadow: 0 0 0 4px rgba(245, 76, 133, 0.12);
}

.wwjr-search-btn,
.wwjr-shell .jrButton {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 20px;
  border: none;
  border-radius: var(--ww-radius-pill);
  background: var(--ww-pink);
  color: #fff;
  font-weight: 800;
  text-decoration: none;
  box-shadow: 0 12px 30px rgba(245, 76, 133, 0.25);
}

.wwjr-search-btn:hover,
.wwjr-shell .jrButton:hover {
  background: #e83f78;
}

/* Filter shell */
.wwjr-filter-shell {
  background: #fff;
  border: 1px solid var(--ww-border);
  border-radius: var(--ww-radius-xl);
  box-shadow: var(--ww-shadow);
  padding: 18px;
}

.wwjr-filter-shell .jrFiltersContainer {
  display: grid;
  gap: 14px;
}

.wwjr-filter-shell .jr-filter-wrap {
  border: 1px solid var(--ww-border);
  background: var(--ww-soft);
  border-radius: 18px;
  padding: 14px;
}

.wwjr-filter-shell .jr-reset-link,
.wwjr-filter-shell .jrReset {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 16px;
  border-radius: var(--ww-radius-pill);
  border: 1px solid rgba(245, 76, 133, 0.28);
  background: rgba(245, 76, 133, 0.08);
  color: var(--ww-pink);
  font-weight: 800;
}

/* Card/listing modernisation without hard forking templates */
.jrCardGrid,
.jrCardView .jrResults {
  gap: 20px;
}

.jrCardView .jrCard,
.jrCardView article,
.jrCardView .jr-card,
.jr-card-card,
.jr-layout-card {
  background: var(--ww-card);
  border: 1px solid var(--ww-border);
  border-radius: var(--ww-radius-xl);
  overflow: hidden;
  box-shadow: var(--ww-shadow);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.jrCardView .jrCard:hover,
.jrCardView article:hover,
.jrCardView .jr-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--ww-shadow-hover);
  border-color: #d9dff1;
}

.jrCardView .jrCard img,
.jrCardView article img,
.jrCardView .jr-card img {
  display: block;
  width: 100%;
  height: auto;
}

.jrCardView h2,
.jrCardView h3,
.jrCardView .jrTitle,
.jrCardView .jr-card-title {
  color: var(--ww-text);
  font-weight: 800;
}

.jrCardView .jr-card-price,
.jrCardView .jrPrice,
.jrCardView .price {
  color: var(--ww-navy);
  font-weight: 900;
}

.jrCardView .jrAbstract,
.jrCardView .jrSummary,
.jrCardView .jr-card-summary {
  color: #475467;
}

.jrCardView .jrStatusLabel,
.jrCardView .jrLabel,
.jrCardView .jrListingLabel {
  border-radius: var(--ww-radius-pill);
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 800;
}

.jrCardView .jrActionButtons a,
.jrCardView .jrButton {
  border-radius: var(--ww-radius-pill);
}

/* Make map/result split feel closer to your OSProperty layout */
.jrMapColumn,
#jr-map-column {
  border-radius: var(--ww-radius-xl);
  overflow: hidden;
  border: 1px solid var(--ww-border);
  box-shadow: var(--ww-shadow);
  background: #fff;
}

@media (max-width: 1200px) {
  .wwjr-shell__row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .wwjr-shell,
  .wwjr-filter-shell {
    padding: 16px;
    border-radius: 20px;
  }

  .wwjr-shell__row {
    grid-template-columns: 1fr;
  }
}


.wwjr-shell--service-search{padding:28px}
.wwjr-mode-switch{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.wwjr-mode-chip{position:relative;display:inline-flex;align-items:center;border:1px solid var(--ww-border);background:#fff;border-radius:999px;overflow:hidden;cursor:pointer;transition:border-color .15s ease, box-shadow .15s ease, background .15s ease}
.wwjr-mode-chip input{position:absolute;opacity:0;pointer-events:none}
.wwjr-mode-chip span{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;font-weight:800;color:var(--ww-text)}
.wwjr-mode-chip.is-active{border-color:rgba(245,76,133,.35);background:rgba(245,76,133,.08);box-shadow:0 8px 18px rgba(245,76,133,.12)}
.wwjr-shell__row--service{grid-template-columns:minmax(180px,.9fr) minmax(240px,1.2fr) minmax(280px,1.4fr) minmax(120px,.7fr) auto}
.wwjr-input-group,.wwjr-action-row{display:flex;gap:10px;align-items:center}
.wwjr-input,.wwjr-select{width:100%;min-height:52px;padding:0 16px;border:1px solid var(--ww-border);border-radius:16px;background:#fff;color:var(--ww-text)}
.wwjr-secondary-btn,.wwjr-icon-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 16px;border:1px solid var(--ww-border);border-radius:999px;background:#fff;color:var(--ww-navy);font-weight:800;white-space:nowrap}
.wwjr-secondary-btn:hover,.wwjr-icon-btn:hover{border-color:var(--ww-pink);color:var(--ww-pink)}
.wwjr-icon-btn{min-width:52px;padding:0;font-size:18px}
.wwjr-icon-btn.is-active{background:rgba(245,76,133,.08);border-color:rgba(245,76,133,.35);color:var(--ww-pink)}
.wwjr-map-btn{background:var(--ww-navy);color:#fff;border-color:var(--ww-navy)}
.wwjr-map-btn:hover{background:#0817a3;color:#fff;border-color:#0817a3}
@media (max-width:1200px){.wwjr-shell__row--service{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){.wwjr-shell__row--service{grid-template-columns:1fr}.wwjr-input-group,.wwjr-action-row{flex-wrap:wrap}.wwjr-secondary-btn,.wwjr-icon-btn,.wwjr-search-btn,.wwjr-map-btn{width:100%}}
