.realman-filter,
.realman-filter * {
    box-sizing: border-box;
}

.realman-filter {
    margin-bottom: 32px;
    padding: 24px;
    border: 1px solid #e5e5e5;
    border-radius: 0px;
    background: #fff;
}

.realman-filter__grid {
    display: grid;
    grid-template-columns: 260px 260px 1fr;
    gap: 20px;
    align-items: start;
    padding-bottom: 30px; 
}

@media (max-width: 1270px) {
    .realman-filter__grid {
        grid-template-columns: 1fr;
    }

    .realman-filter__fields,
    .realman-filter__price-inputs {
        grid-template-columns: 1fr;
    }
}

.realman-filter__title {
    margin: 0 0 12px;
    font-size: 26px;
    line-height: 1.2;
}

.realman-filter__group-title {
    margin: 0 0 12px;
    font-size: 18px;
    line-height: 1.3;
    font-weight: 700;
}

.realman-filter__stack {
    display: grid;
    gap: 10px;
}

.realman-filter__check {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 16px;
    line-height: 1.4;
}

.realman-filter__check input {
    margin: 0;
}

.realman-filter__right {
    display: grid;
    gap: 24px;
}

.realman-filter__dispozice {
    display: grid;
    grid-template-columns: repeat(4, minmax(120px, 1fr));
    gap: 12px 20px;
}

.realman-filter__fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.realman-filter__field {
    display: grid;
    gap: 8px;
}

.realman-filter__field label {
    font-size: 14px;
    line-height: 1.3;
    font-weight: 600;
}

.realman-filter__field input,
.realman-filter__field select {
    width: 100%;
    min-height: 46px;
    padding: 10px 14px;
    border: 1px solid #d8d8d8;
    border-radius: 0px;
    background: #fff;
    box-sizing: border-box;
}

.realman-filter__actions {
    display: flex;
    gap: 12px;
    margin-top: 24px;
}

.realman-filter__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 10px 18px;
    border-radius: 0px;
    text-decoration: none;
    border: 1px solid #ffa555;
    background: #ffa555;
    color: #222831;
    cursor: pointer;
}

.realman-filter__btn--reset {
    background: transparent;
    color: #222831;
}

/* Cena */
.realman-filter__field--price {
    grid-column: 1 / -1;
}

.realman-price-input-label-min,
.realman-price-input-label-max {
    position: relative;
    display: block;
}
.realman-price-input-label-min::before {
  content: "Z";
  position: absolute;
  left: 5px;
  top: -14px;
  background: #fff;
  padding: 5px 7px;
  font-size: 14px;
  pointer-events: none;
}
.realman-price-input-label-max::before {
  content: "Do";
  position: absolute;
  left: 5px;
  top: -14px;
  background: #fff;
  padding: 5px 7px;
  font-size: 14px;
  pointer-events: none;
}

.realman-filter__price-inputs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 16px;
}
.realman-filter__price-inputs #realman-price-max {
   text-align: right;	
}

.realman-filter__price-slider {
    padding: 8px 6px;
}

/* noUiSlider */
.realman-filter__price-slider.noUi-target {
    border: 0;
    box-shadow: none;
    background: transparent;
    height: 22px;
}

.realman-filter__price-slider .noUi-base {
    height: 6px;
    border-radius: 999px;
    background: #e3e3e3;
}

.realman-filter__price-slider .noUi-connects {
    border-radius: 999px;
    background: #e3e3e3;
}

.realman-filter__price-slider .noUi-connect {
    background: #ffa555;
}

.realman-filter__price-slider .noUi-origin {
    top: 0;
}

.realman-filter__price-slider .noUi-handle {
    width: 22px;
    height: 22px;
    right: -11px;
    top: -8px;
    border: 2px solid #111;
    border-radius: 50%;
    background: #fff;
    box-shadow: none;
    cursor: pointer;
}

.realman-filter__price-slider .noUi-handle::before,
.realman-filter__price-slider .noUi-handle::after {
    display: none;
}

.realman-filter__price-slider .noUi-touch-area {
    cursor: pointer;
}

@media (max-width: 991px) {
    .realman-filter__grid {
        grid-template-columns: 1fr;
    }

    .realman-filter__dispozice {
        grid-template-columns: repeat(3, minmax(120px, 1fr));
    }
}

@media (max-width: 767px) {
    .realman-filter {
        padding: 18px;
    }

    .realman-filter__fields {
        grid-template-columns: 1fr;
    }

    .realman-filter__dispozice {
        grid-template-columns: repeat(2, minmax(120px, 1fr));
    }

    .realman-filter__actions {
        flex-direction: column;
    }
}

text.realman-map__label {
    fill: #000;
    font-size: 15px;
    text-anchor: middle;
    dominant-baseline: middle;
    pointer-events: none;
}



.realmap-wrap {
  margin-top: 20px;
  padding: 16px;
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
}

.realmap {
  display: block;
  width: 100%;
  height: auto;
}

.realman-map__region {
  fill: #ebebeb;
  stroke: #cdcdcd;
  stroke-width: 1;
  cursor: pointer;
  transition: fill 0.2s ease;
  vector-effect: non-scaling-stroke;
}

.realman-map__region:hover {
  fill: rgba(255, 165, 85, 0.7);
}

.realman-map__item.is-active .realman-map__region {
    fill: #ffa555;
}

.realman-map__label {
  fill: #111;
  font-size: 16px;
  font-weight: 500;
  text-anchor: middle;
  dominant-baseline: middle;
  pointer-events: none;
  user-select: none;
}

@media (max-width: 767px) {
  .realmap-wrap {
    overflow-x: auto;
  }

  .realmap {
    min-width: 680px;
  }

  .realman-map__label {
    font-size: 12px;
  }

  .realman-map__region {
    stroke-width: 1.5;
  }
}

@media (max-width: 480px) {
  .realman-map__label {
    display: none;
  }
  .realman-praha-districts__grid, .realman-mobile-regions__grid {
      grid-template-columns: 1fr!important;
  }
}


/* Адаптация карты и показ районов*/

.realman-mobile-regions {
    display: none;
    margin-top: 20px;
}

.realman-mobile-regions__title {
    margin-bottom: 14px;
    font-size: 14px;
    line-height: 1.3;
    font-weight: 700;
    color: #666;
}

.realman-mobile-regions__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px 24px;
}

.realman-praha-districts {
    margin-top: 20px;
}

.realman-praha-districts__title {
    margin-bottom: 14px;
    font-size: 14px;
    line-height: 1.3;
    font-weight: 700;
    color: #666;
}

.realman-praha-districts__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(140px, 1fr));
    gap: 14px 24px;
}

@media (max-width: 767px) {
    .realmap-wrap {
        display: none;
    }

    .realman-mobile-regions {
        display: block;
    }

    .realman-praha-districts__grid,
    .realman-mobile-regions__grid {
        grid-template-columns: 1fr 1fr;
        gap: 12px 18px;
    }
}

/* Стили поискав*/
.realman-location-search {
    margin-top: 20px;
    margin-bottom: 20px;
}

.realman-location-search__title {
    margin-bottom: 10px;
    font-size: 14px;
    line-height: 1.3;
    font-weight: 700;
    color: #666;
}

.realman-location-search__row {
    display: grid;
    grid-template-columns: 1fr 210px;
    gap: 0;
    align-items: stretch;
}

.realman-location-search__input,
.realman-location-search__select {
    min-height: 46px;
    padding: 10px 14px;
    border: 1px solid #d8d8d8;
    background: #fff;
    box-sizing: border-box;
}

.realman-location-search__input {
    border-radius: 0px 0 0 0px;
    border-right: 0;
}

.realman-location-search__select {
    border-radius: 0 0px 0px 0;
}

.realman-location-search__subtitle {
    margin-top: 14px;
    font-size: 14px;
    line-height: 1.3;
    font-weight: 700;
    color: #999;
}

@media (max-width: 767px) {
    .realman-location-search__row {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .realman-location-search__input,
    .realman-location-search__select {
        border-radius: 999px;
        border-right: 1px solid #d8d8d8;
    }
}

/* Список объектов и empty*/
.realman-post-list {
    margin-top: 32px;
}

.realman-post-list__count {
    margin-bottom: 18px;
    font-size: 14px;
    line-height: 1.4;
    color: #666;
}

.realman-post-list__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}



.realman-post-card {
	position: relative;
    border: 1px solid #e5e5e5;
    border-radius: 0px;
    overflow: hidden;
    background: #fff;
}

.realman-post-card__link {
    position: absolute;
    inset: 0;
    z-index: 2;
}

.realman-post-card__image,
.realman-post-card__content {
    position: relative;
    z-index: 1;
}

.realman-post-card__image {
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
}

.realman-post-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.realman-post-card__content {
    padding: 16px;
}

.realman-post-card__title {
    margin: 0 0 10px;
    font-size: 20px;
    line-height: 1.3;
}

.realman-post-card__title a {
    color: inherit;
    text-decoration: none;
}

.realman-post-card__meta {
    margin-top: 6px;
    font-size: 14px;
    line-height: 1.4;
    color: #666;
}

.realman-post-card__price {
    margin-top: 12px;
    font-size: 20px;
    line-height: 1.3;
    font-weight: 700;
    color: #ffa555;
}

.realman-post-empty {
    margin-top: 24px;
    padding: 32px 24px;
    border: 1px solid #e5e5e5;
    border-radius: 0px;
    background: #fff;
    text-align: center;
}

.realman-post-empty__title {
    margin: 0 0 10px;
    font-size: 24px;
    line-height: 1.3;
}

.realman-post-empty__text {
    margin: 0;
    font-size: 16px;
    line-height: 1.5;
    color: #666;
}

.realman-post-empty__link {
	color: #ffa555;
}

@media (max-width: 991px) {
    .realman-post-list__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .realman-post-list__grid {
        grid-template-columns: 1fr;
    }
}



/* Пагинация*/
.realman-post-pagination {
    margin-top: 28px;
}

.realman-post-pagination__inner {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
}

.realman-post-pagination__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    min-height: 42px;
    padding: 2px 10px;
    border: 1px solid #ffa555;
    border-radius: 0px;
    background: #fff;
    color: #000;
    text-decoration: none;
}

.realman-post-pagination__link.is-active {
    background: #ffa555;
}

.realman-post-pagination__link--arrow {
    font-size: 18px;
    line-height: 1;
}

