: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%}}


/* First visual override set for JReviews results */
.wwjr-page-header{margin:0 0 18px}
.wwjr-page-header__inner{background:linear-gradient(180deg,#fff 0%,#fbfcff 100%);border:1px solid var(--ww-border);border-radius:24px;padding:24px 26px;box-shadow:var(--ww-shadow)}
.wwjr-page-header__title{margin:0 0 8px;font-size:clamp(28px,3.2vw,40px);line-height:1.08;font-weight:900;color:var(--ww-text)}
.wwjr-page-header__description{color:#475467;font-size:15px;line-height:1.7;max-width:880px}
.wwjr-page-searchbar{margin:0 0 18px}
.wwjr-page-searchbar__form{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:#fff;border:1px solid var(--ww-border);border-radius:22px;padding:14px 16px;box-shadow:var(--ww-shadow)}
.wwjr-page-searchbar__input{flex:1 1 280px;min-height:50px;border:1px solid var(--ww-border);border-radius:16px;padding:0 16px}
.wwjr-page-searchbar__button{min-height:50px;border-radius:999px;padding:0 18px}
.wwjr-page-searchbar__advanced a{font-weight:800;color:var(--ww-navy)}
.wwjr-results-page .jrResults{gap:24px}
.wwjr-card{height:100%}
.wwjr-card__inner{display:flex;flex-direction:column;height:100%;background:#fff;border:1px solid var(--ww-border);border-radius:24px;overflow:hidden;box-shadow:var(--ww-shadow);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.wwjr-card:hover .wwjr-card__inner{transform:translateY(-2px);box-shadow:var(--ww-shadow-hover);border-color:#d7def0}
.wwjr-card__media{position:relative;aspect-ratio:16/10;background:#eef2fa}
.wwjr-card__image-wrap,.wwjr-card__media-link{display:block;position:absolute;inset:0}
.wwjr-card__image{position:absolute;inset:0;width:100%;height:100%}
.wwjr-card__image-placeholder{position:absolute;inset:0;background:#eef2fa}
.wwjr-card__badges{position:absolute;left:14px;right:14px;top:14px;display:flex;gap:8px;flex-wrap:wrap;z-index:2}
.wwjr-card__badge{display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border-radius:999px;font-size:12px;font-weight:800;backdrop-filter:blur(6px)}
.wwjr-card__badge--category{background:rgba(255,255,255,.92);color:var(--ww-navy);border:1px solid rgba(255,255,255,.8)}
.wwjr-card__badge--status{background:rgba(2,12,125,.88);color:#fff;border:1px solid rgba(2,12,125,.7)}
.wwjr-card__content{display:flex;flex-direction:column;gap:14px;padding:18px 18px 16px;height:100%}
.wwjr-card__title{margin:0;font-size:22px;line-height:1.2;font-weight:900}
.wwjr-card__title a{color:var(--ww-text);text-decoration:none}
.wwjr-card__title a:hover{color:var(--ww-pink)}
.wwjr-card__rating{margin-top:6px}
.wwjr-card__summary{color:#475467;font-size:14px;line-height:1.65}
.wwjr-card__fields{margin-top:auto;padding-top:4px}
.wwjr-card-fields__group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}
.wwjr-card-fields__row{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border:1px solid #e8ebf4;border-radius:16px;background:#fafbff;min-width:0}
.wwjr-card-fields__label{font-size:11px;letter-spacing:.04em;text-transform:uppercase;font-weight:800;color:#6b7280}
.wwjr-card-fields__value,.wwjr-card-fields__value a{font-size:14px;font-weight:700;color:var(--ww-text);text-decoration:none}
.wwjr-card__meta{display:flex;justify-content:space-between;gap:14px;align-items:center;padding-top:6px;border-top:1px solid #eef1f7}
.wwjr-card-meta__left{display:flex;gap:10px;align-items:center;flex-wrap:wrap;min-width:0}
.wwjr-card-meta__avatar{width:38px;height:38px;border-radius:999px;overflow:hidden}
.wwjr-card-meta__author{font-weight:800;color:var(--ww-text)}
.wwjr-card-meta__date{font-size:12px;color:#667085}
.wwjr-card-meta__icons{font-size:12px;color:#667085}
.wwjr-card__actions{display:flex;gap:10px;flex-wrap:wrap;padding-top:8px;border-top:1px solid #eef1f7}
.wwjr-card__actions .jrButton,.wwjr-card__actions a,.wwjr-card__actions button{border-radius:999px !important}
.wwjr-empty-state{padding:18px 0}
.wwjr-empty-state__card{background:#fff;border:1px solid var(--ww-border);border-radius:24px;padding:28px;box-shadow:var(--ww-shadow);text-align:center}
.wwjr-empty-state__title{margin:0 0 8px;font-size:28px;line-height:1.15;font-weight:900;color:var(--ww-text)}
.wwjr-empty-state__text{color:#475467;font-size:15px;line-height:1.7;max-width:680px;margin:0 auto}
@media (max-width:767px){.wwjr-card__content{padding:16px}.wwjr-card__title{font-size:19px}.wwjr-card-fields__group{grid-template-columns:1fr}.wwjr-page-header__inner{padding:18px}.wwjr-page-searchbar__form{padding:12px}}


/* v06 premium search shell */
.wwjr-search-shell{background:#fff;border:1px solid #e6ebf5;border-radius:32px;padding:28px;box-shadow:0 18px 44px rgba(12,24,68,.08);margin:0 0 22px}
.wwjr-toolbar-top,.wwjr-ai-row,.wwjr-filter-pill-row{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.wwjr-toolbar-top{justify-content:space-between;margin-bottom:14px}
.wwjr-toolbar-btn{display:inline-flex;align-items:center;gap:10px;border:1px solid #f3bfd0;background:#fff;border-radius:999px;padding:14px 20px;font-weight:700;color:#172b66;text-decoration:none}
.wwjr-toolbar-btn--cta{background:#fff0f6}
.wwjr-ai-row{margin-bottom:16px;align-items:stretch}
.wwjr-ai-input-wrap{display:flex;align-items:center;flex:1 1 700px;border:1.5px solid #bed0fb;border-radius:22px;background:#fff;padding:0 8px 0 0;overflow:hidden;min-height:64px}
.wwjr-ai-input{border:0;background:transparent;flex:1 1 auto;padding:0 22px;height:62px;font-size:15px;outline:none;box-shadow:none}
.wwjr-mic-btn{height:48px;width:48px;border-radius:50%;border:1px solid #d9dfef;background:#fff;color:#13297a;font-size:18px}
.wwjr-mode-group{display:flex;gap:10px;align-items:center}
.wwjr-mode-pill{display:inline-flex;align-items:center;border:1px solid #dce3f1;border-radius:999px;padding:0 18px;min-height:50px;background:#fff;color:#1a2d63;font-weight:700;cursor:pointer}
.wwjr-mode-pill input{display:none}
.wwjr-mode-pill.is-active{background:#0d168f;color:#fff;border-color:#0d168f}
.wwjr-search-btn-main{background:#f54c85;color:#fff;border:0;border-radius:999px;padding:0 28px;min-height:54px;font-weight:800;font-size:16px;box-shadow:0 12px 26px rgba(245,76,133,.22)}
.wwjr-filter-pill-row{margin-top:4px}
.wwjr-pill-field,.wwjr-pill-action{display:inline-flex;align-items:center;gap:10px;border:1px solid #dce3f1;border-radius:999px;background:#fff;min-height:54px;padding:0 18px;color:#1a2d63}
.wwjr-pill-field{flex:0 1 auto}
.wwjr-pill-field--location{flex:1 1 320px}
.wwjr-pill-field--category{min-width:220px}
.wwjr-pill-label{font-weight:700;white-space:nowrap}
.wwjr-pill-select,.wwjr-pill-input{border:0;background:transparent;outline:none;box-shadow:none;min-width:0;color:#1a2d63}
.wwjr-pill-input{width:220px}
.wwjr-pill-action{font-weight:700;cursor:pointer}
.wwjr-pill-action--clear{background:#f54c85;color:#fff;border-color:#f54c85}
.wwjr-more-panel{margin-top:16px;padding:18px 20px;border:1px dashed #d7deee;border-radius:20px;background:#fbfcff;color:#53627f}
@media (max-width: 1024px){.wwjr-search-shell{padding:20px;border-radius:24px}.wwjr-toolbar-top{justify-content:flex-start}.wwjr-ai-row{align-items:stretch}.wwjr-mode-group{width:100%}.wwjr-search-btn-main{width:100%}.wwjr-pill-field--location{flex-basis:100%}}


/* v08 behaviour and card polish */
.wwjr-mode-pill span{min-width:130px;justify-content:center}
.wwjr-card__badge--category{background:#F54C85 !important;color:#fff !important;border-color:#F54C85 !important}
.wwjr-card__subtitle{margin:6px 0 0;color:#667085;font-size:13px;font-weight:700}
.wwjr-card__image-wrap,.wwjr-card__media{min-height:210px}
.wwjr-card__content{padding:16px 16px 14px}
.wwjr-card__title{font-size:24px;line-height:1.2;margin:0 0 4px}
.wwjr-card__actions{padding-top:10px;border-top:0}
.wwjr-card__actions .jrButton,.wwjr-card__actions a,.wwjr-card__actions button{min-height:40px;padding:0 14px;font-weight:800;border:1px solid #d6def0;background:#fff;color:#172b66}
.wwjr-card__actions > *:first-child{background:#F54C85 !important;border-color:#F54C85 !important;color:#fff !important}
.wwjr-card__actions a[href*="compare"],.wwjr-card__actions .compare,.wwjr-card__actions [class*="compare"]{position:relative;padding-left:34px}
.wwjr-card__actions a[href*="compare"]::before,.wwjr-card__actions .compare::before,.wwjr-card__actions [class*="compare"]::before{content:"⇄";position:absolute;left:14px;top:50%;transform:translateY(-50%);font-weight:900}
.wwjr-card__actions a[href*="add"],.wwjr-card__actions [class*="addtolist"],.wwjr-card__actions [class*="favorites"]{position:relative;padding-left:34px}
.wwjr-card__actions a[href*="add"]::before,.wwjr-card__actions [class*="addtolist"]::before,.wwjr-card__actions [class*="favorites"]::before{content:"＋";position:absolute;left:14px;top:50%;transform:translateY(-50%);font-weight:900}
.wwjr-inline-filter .jr-filter-wrap,.wwjr-inline-filter-group .jr-filter-wrap{border:1px solid #e6ebf5;border-radius:18px;padding:12px 14px;background:#fff;margin:0 0 12px}
.wwjr-inline-filter .jr-filter-label,.wwjr-inline-filter-group .jr-filter-label{font-weight:800;color:#172b66;margin-bottom:8px}
