/* Fixed PX units preserve readable controls through the site's px-to-rem build. */
.rd-property-search {
  --rd-green: var(--c-sapin, #285749); --rd-ink: var(--c-noir, #1d1d1b); --rd-purple: var(--c-pourpre, #5e2f41);
  --rd-line: #d8dcd3; --rd-light: #f2f4ef; --rd-muted: #65746d;
  width: 100%; color: var(--rd-ink); font: 400 16PX/1.5 Roboto, sans-serif;
}
.rd-property-search *, .rd-property-search *::before, .rd-property-search *::after { box-sizing: border-box; }
.rd-property-search [hidden] { display: none !important; }
.rd-property-search h2, .rd-property-search h3 { font-family: 'DM Sans', sans-serif; font-weight: 900; letter-spacing: -.025em; color: var(--rd-ink); }
.rd-property-search h2 { margin: 0; font-size: clamp(26PX, 2.4vw, 42PX); line-height: 1.15; }
.rd-property-search button { font: inherit; cursor: pointer; box-shadow: none !important; color: var(--rd-green) !important; background: transparent !important; border: 0 !important; border-radius: 0 !important; }
.rd-property-search button:disabled { cursor: progress; opacity: .6; }
.rd-property-search input:focus-visible, .rd-property-search button:focus-visible, .rd-property-search a:focus-visible { outline: 3PX solid var(--rd-purple); outline-offset: 3PX; }
.rd-property-search .rd-search-heading { display: flex; justify-content: space-between; align-items: center; gap: 32PX; margin-bottom: 32PX; }
.rd-property-search .rd-offer-tabs { position: relative; isolation: isolate; display: grid; grid-template-columns: 1fr 1fr; flex: none; width: 280PX; max-width: 100%; gap: 0; border: 0; border-radius: 999PX; padding: 4PX; background: #c5cbbf; }
.rd-property-search .rd-offer-tabs a { position: relative; z-index: 1; display: grid; place-items: center; min-height: 44PX; padding: 9PX 20PX; font: 700 18PX/1.3 Roboto, sans-serif; color: var(--rd-green); border-radius: 999PX; text-align: center; text-decoration: none; transition: color .2s; }
.rd-property-search .rd-offer-tabs a[aria-current] { color: white; background: transparent; }
.rd-property-search .rd-compact { background: var(--rd-light); border: 0; border-radius: 20PX; padding: 28PX 28PX 18PX; margin: 0 0 30PX; min-width: 0; }
.rd-property-search .rd-compact-fields { display: grid; grid-template-columns: 1.25fr 1.2fr 1.15fr 1.15fr auto; gap: 22PX; align-items: start; }
.rd-property-search .rd-field { display: flex; flex-direction: column; gap: 9PX; min-width: 0; position: relative; margin: 0; }
.rd-property-search .rd-label { font: 500 14PX/1.3 'DM Sans',sans-serif; color: var(--rd-green); }
.rd-property-search .rd-label small { font: 400 11PX Roboto,sans-serif; color: var(--rd-muted); white-space: nowrap; }
.rd-property-search .rd-field > small { font-size: 12PX; color: var(--rd-muted); }
.rd-property-search .facetwp-facet { margin: 0; }
.rd-property-search .rd-trigger, .rd-property-search input[type='number'] {
  display: flex; justify-content: space-between; align-items: center; gap: 9PX; width: 100%; min-height: 50PX;
  margin: 0; padding: 11PX 13PX; border: 0 !important; border-bottom: 1PX solid var(--rd-green) !important;
  border-radius: 0 0 0 15PX !important; color: var(--rd-ink) !important; background: white !important; font: 400 16PX/1.4 Roboto,sans-serif; text-align: left;
}
.rd-property-search .rd-trigger > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rd-property-search .rd-trigger svg { width: 18PX; height: 18PX; flex: none; stroke: var(--rd-green); fill: none; stroke-width: 1.5; }
.rd-property-search .rd-trigger[aria-expanded='true'] svg { transform: rotate(180deg); }
.rd-property-search .rd-compact:has(.rd-popover:not([hidden])), .rd-property-search .rd-field:has(> .rd-popover:not([hidden])) { position: relative; z-index: 30; }
.rd-property-search button.rd-button {
  display: inline-flex; align-items: center; justify-content: center; gap: 12PX; min-height: 50PX; padding: 11PX 22PX;
  background: var(--rd-green) !important; color: white !important; border: 3PX solid var(--rd-green) !important; border-radius: 0 20PX !important; font: 700 15PX/1.3 Roboto,sans-serif; white-space: nowrap;
}
.rd-property-search button.rd-primary:hover { color: var(--rd-green) !important; background: white !important; border-radius: 20PX 0 !important; }
.rd-property-search .rd-search-button { margin-top: 27PX; }
.rd-property-search .rd-compact-bottom { display: flex; justify-content: space-between; align-items: center; gap: 20PX; border-top: 1PX solid var(--rd-line); margin-top: 22PX; padding-top: 15PX; }
.rd-property-search button.rd-reset { font-size: 13PX; font-weight: 400; padding: 5PX 0; text-decoration: underline; text-underline-offset: 4PX; }
.rd-property-search .rd-compact-bottom > .rd-reset { flex: none; margin-left: auto; white-space: nowrap; }
.rd-property-search .rd-active-filters { display: flex; flex: 1; min-width: 0; flex-wrap: wrap; gap: 8PX; }
.rd-property-search .rd-active-filters button { max-width: 100%; text-align: left; border: 1PX solid var(--rd-green) !important; border-radius: 30PX !important; background: var(--rd-green) !important; color: white !important; padding: 7PX 13PX; font-size: 13PX; display: inline-flex; align-items: center; gap: 10PX; }
.rd-property-search .rd-popover { position: absolute; z-index: 100; top: calc(100% + 10PX); left: 0; width: max(100%,340PX); max-width: 420PX; padding: 20PX; border: 1PX solid var(--rd-line); border-radius: 0 20PX 20PX; background: white; box-shadow: 0 14PX 45PX #19241e24; color: var(--rd-ink); }
.rd-property-search .rd-field-rooms .rd-popover { left: auto; right: 0; width: 300PX; }
.rd-property-search .rd-panel-head { display: flex; align-items: center; justify-content: space-between; gap: 12PX; margin-bottom: 15PX; }
.rd-property-search .rd-panel-head strong { font: 700 16PX 'DM Sans',sans-serif; }
.rd-property-search button.rd-close { display: grid; place-items: center; flex: none; width: 32PX; height: 32PX; padding: 0; font: 400 28PX/1 Roboto,sans-serif; }
.rd-property-search .rd-tree { max-height: 320PX; overflow: auto; }
.rd-property-search button.rd-all { width: 100%; display: flex; justify-content: space-between; align-items: center; padding: 11PX 10PX; margin-bottom: 10PX; background: white !important; border: 1PX solid var(--rd-line) !important; border-radius: 8PX !important; font-size: 14PX; text-align: left; min-height: 44PX; }
.rd-property-search button.rd-all[aria-pressed='true'] { background: var(--rd-light) !important; border-color: var(--rd-green) !important; font-weight: 500; }
.rd-property-search .rd-check { display: flex; align-items: center; gap: 10PX; padding: 11PX 10PX; margin: 0; min-height: 44PX; color: var(--rd-ink); cursor: pointer; font: 400 15PX/1.35 Roboto,sans-serif; border-radius: 8PX; }
.rd-property-search .rd-check:hover { background: var(--rd-light); }
.rd-property-search .rd-check span { min-width: 0; flex: 1; }
.rd-property-search .rd-check small { margin-left: auto; color: var(--rd-muted); font-size: 12PX; }
.rd-property-search .rd-check input { appearance: none; display: inline-block; width: 18PX; height: 18PX; min-width: 18PX; margin: 0; padding: 0; border: 1.5PX solid #a1afa5; background: white; border-radius: 4PX; cursor: pointer; }
.rd-property-search .rd-check input:checked { background: var(--rd-green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18' fill='none' stroke='white' stroke-width='1.8'%3E%3Cpath d='m4 9 3 3 7-7'/%3E%3C/svg%3E") center/18PX; border-color: var(--rd-green); }
.rd-property-search .rd-check input:indeterminate { background: var(--rd-green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18' stroke='white' stroke-width='1.8'%3E%3Cpath d='M4 9h10'/%3E%3C/svg%3E") center/18PX; border-color: var(--rd-green); }
.rd-property-search .rd-parent { font-family: 'DM Sans',sans-serif; font-weight: 700; color: var(--rd-green); }
.rd-property-search .rd-tree-group + .rd-tree-group { margin-top: 7PX; }
.rd-property-search .rd-tree-children { margin: 0 0 10PX 18PX; padding-left: 10PX; border-left: 1PX solid var(--rd-line); }
.rd-property-search .rd-city-search { display: flex; align-items: center; gap: 10PX; border: 1PX solid var(--rd-line); border-radius: 8PX; padding: 4PX 10PX; margin-bottom: 12PX; }
.rd-property-search input[type='search'] { width: 100%; min-width: 0; height: 38PX; padding: 4PX 0; background: white; border: 0; border-radius: 0; margin: 0; color: var(--rd-ink); font: 400 16PX Roboto,sans-serif; }
.rd-property-search .rd-city-list { max-height: 280PX; overflow: auto; }
.rd-property-search .rd-no-city { font-size: 14PX; color: var(--rd-muted); }
.rd-property-search .rd-pop-footer { display: flex; justify-content: space-between; align-items: center; gap: 12PX; padding-top: 13PX; margin-top: 15PX; border-top: 1PX solid var(--rd-line); font-size: 13PX; }
.rd-property-search button.rd-done { display: inline-flex; gap: 7PX; align-items: center; padding: 5PX 0; font-size: 14PX; font-weight: 700; }
.rd-property-search .rd-room-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 8PX; }
.rd-property-search .rd-room-grid button { min-height: 52PX; border: 1PX solid var(--rd-line) !important; border-radius: 0 12PX !important; padding: 9PX 5PX; font-weight: 700; font-size: 16PX; }
.rd-property-search .rd-room-grid small { display: block; font-size: 10PX; font-weight: 400; margin-top: 1PX; }
.rd-property-search .rd-room-grid [aria-pressed='true'], .rd-property-search .rd-sort-choices [aria-pressed='true'] { background: var(--rd-green) !important; border-color: var(--rd-green) !important; color: white !important; }
.rd-property-search .rd-result-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 20PX; margin-bottom: 22PX; }
.rd-property-search .rd-result-count { color: var(--rd-green); font: 700 23PX 'DM Sans',sans-serif; }
.rd-property-search .rd-sort { flex-direction: row; align-items: center; gap: 12PX; }
.rd-property-search .rd-sort .rd-label { font-size: 13PX; white-space: nowrap; color: var(--rd-muted); }
.rd-property-search .rd-sort .rd-trigger { font-size: 14PX; border-color: var(--rd-line) !important; border-radius: 0 !important; padding: 8PX 0; min-height: 40PX; }
.rd-property-search .rd-sort .rd-popover { left: auto; right: 0; top: calc(100% + 8PX); width: 265PX; min-width: 0; }
.rd-property-search .rd-sort-choices { display: flex; flex-direction: column; gap: 4PX; }
.rd-property-search .rd-sort-choices button { display: flex; align-items: center; padding: 9PX 6PX; font-size: 14PX; text-align: left; }
.rd-property-search .rd-form-error, .rd-property-search .rd-search-error { color: var(--rd-purple); }
.rd-search-panel-open { overflow: hidden; }
.rd-property-search .rd-sr-only { position: absolute; width: 1PX; height: 1PX; padding: 0; margin: -1PX; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.rd-property-search.is-loading .rd-result-count { opacity: .5; }
.rd-property-results { scroll-margin-top: 110PX; min-height: 100PX; }
.e-con:has(> .elementor-widget-shortcode #rd-property-search) { row-gap: 0; }
.rd-property-results.is-empty { min-height: 0; }
.rd-property-search .rd-empty-state { background: var(--rd-light); padding: 40PX 24PX; text-align: center; border-radius: 20PX; }
.rd-property-search .rd-empty-state h3 { margin: 0; font-size: 25PX; }
.rd-property-search .rd-empty-state p { margin: 16PX 0 24PX; }
.rd-property-search .facetwp-pager { display: flex; gap: 12PX; align-items: center; justify-content: center; flex-wrap: wrap; margin-top: 36PX; }
.rd-property-search .facetwp-page { display: inline-flex; justify-content: center; align-items: center; min-width: 42PX; min-height: 42PX; padding: 8PX 12PX; border: 1PX solid var(--rd-line); border-radius: 0 14PX; color: var(--rd-green); text-decoration: none; font-size: 14PX; }
.rd-property-search .facetwp-page.active { background: var(--rd-green); color: white; border-color: var(--rd-green); }
@media (max-width:1100px) {
  .rd-property-search .rd-compact-fields { grid-template-columns: 1fr 1fr; }
  .rd-property-search .rd-search-button { margin-top: 0; grid-column: 1 / -1; justify-self: end; }
}
@media (max-width:767px) {
  .rd-property-search .rd-search-heading { align-items: start; flex-direction: column; gap: 22PX; margin-bottom: 26PX; }
  .rd-property-search .rd-offer-tabs { align-self: start; }
  .rd-property-search .rd-compact { padding: 24PX 16PX 16PX; }
  .rd-property-search .rd-compact-fields { gap: 20PX 14PX; }
  .rd-property-search .rd-label { font-size: 13PX; }
  .rd-property-search .rd-price-field .rd-label, .rd-property-search .rd-field-rooms .rd-label { min-height: 32PX; }
  .rd-property-search .rd-label small { display: block; margin-top: 3PX; }
  .rd-property-search .rd-trigger { font-size: 15PX; }
  .rd-property-search .rd-search-button { width: 100%; }
  .rd-property-search .rd-popover, .rd-property-search .rd-sort .rd-popover { position: fixed; top: auto; bottom: 24PX; left: 12PX !important; right: 12PX !important; width: auto !important; max-width: none; max-height: calc(100dvh - 48PX); overflow: auto; border-radius: 18PX; padding: 20PX; box-shadow: 0 0 0 100vmax #19241e50, 0 10PX 40PX #19241e30; }
  .rd-property-search .rd-tree { max-height: min(300PX, 40dvh); }
  .rd-property-search .rd-city-list { max-height: min(280PX, 35dvh); }
  .rd-property-search .rd-pop-footer { position: sticky; bottom: -20PX; background: white; padding-bottom: 12PX; margin-bottom: -12PX; }
  .rd-property-search .rd-room-grid { grid-template-columns: repeat(4,1fr); }
  .rd-property-search .rd-result-toolbar { flex-direction: column; align-items: stretch; gap: 12PX; }
  .rd-property-search .rd-result-count { font-size: 20PX; }
  .rd-property-search .rd-sort { justify-content: space-between; }
  .rd-property-search .rd-sort .rd-trigger { width: auto; }
  .rd-property-search .rd-active-filters button, .rd-property-search button.rd-reset { min-height: 44PX; }
  .rd-property-search button.rd-close { width: 44PX; height: 44PX; }
}
@media (prefers-reduced-motion:reduce) { .rd-property-search * { transition: none !important; scroll-behavior: auto; } }

/* Offer navigation keeps real links and enhances only the two search pages. */
.rd-property-search .rd-offer-thumb { position: absolute; inset: 4PX auto 4PX 4PX; width: calc(50% - 4PX); border-radius: 999PX; background: var(--rd-green); pointer-events: none; view-transition-name: rd-offer-thumb; }
.rd-property-search[data-offer='rent'] .rd-offer-thumb { transform: translateX(100%); }
.rd-property-search .rd-offer-tabs[aria-busy='true'] { cursor: progress; }
.rd-property-search .rd-offer-tabs a[aria-disabled='true'] { cursor: progress; }
.rd-property-search .rd-offer-status { margin: -12PX 0 24PX; color: var(--rd-muted); font-size: 13PX; }
.rd-offer-loading .rd-property-results { opacity: .65; transition: opacity .15s; }
body:has(#rd-property-search) main#content { view-transition-name: rd-property-page; }
::view-transition-group(rd-property-page), ::view-transition-group(rd-offer-thumb) { animation-duration: .24s; animation-timing-function: ease-in-out; }
::view-transition-old(rd-property-page), ::view-transition-new(rd-property-page) { animation-duration: .2s; }
@media (prefers-reduced-motion:reduce) {
  .rd-property-search .rd-offer-tabs a, .rd-offer-loading .rd-property-results { transition: none; }
}
