/* Leadwerk Estatik Featured Slider - Scoped to slider only */

/* Scope all styles to slider container to prevent affecting single property pages */
.lw2-swiper-slider-shell .custom-excerpt {
  color: #333;
  font-family: 'Montserrat', sans-serif;
  font-size: 18px;
  font-weight: 300;
  margin-bottom: 2rem;
  margin-left: 0 !important;
  margin-top: 10px;
  padding-left: 5px !important;
}

.lw2-swiper-slider-shell .es-address {
  color: #333 !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
}

.lw2-swiper-slider-shell .es-excerpt,
.lw2-swiper-slider-shell .lwfs-excerpt {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  color: #333;
  display: -webkit-box;
  font-family: 'Montserrat', sans-serif;
  font-size: 18px;
  font-weight: 300;
  line-height: 1.5em;
  margin-bottom: 2rem;
  margin-left: 0 !important;
  margin-top: 10px;
  max-height: calc(4 * 1.5em);
  overflow: hidden;
  padding-left: 5px !important;
  text-align: left !important;
  text-overflow: ellipsis;
  white-space: normal !important;
}

.lw2-swiper-slider-shell .es-image {
  aspect-ratio: 3 / 2;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.lw2-swiper-slider-shell .es-image img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.lw2-swiper-slider-shell .es-listing {
  background-color: #ffffff;
  border-radius: 0;
  border-top: 5px solid #F9C073;
  box-shadow: 0px 2px 18px rgba(0, 0, 0, 0.15);
  color: #333 !important;
  display: flex;
  flex-direction: column;
  font-family: "Montserrat", sans-serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  height: 100%;
  justify-content: space-between;
  min-height: 220px;
  overflow: hidden;
  position: relative;
  transition: transform 0.3s ease;
}

.lw2-swiper-slider-shell .es-listing .es-listing__meta li::before {
  color: #f9c073 !important;
  display: inline-block !important;
  font-family: "Font Awesome 5 Free" !important;
  font-size: 25px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  margin-left: 6px !important;
  margin-right: 7px !important;
  position: relative !important;
  top: 0 !important;
  vertical-align: baseline !important;
}

.lw2-swiper-slider-shell .es-listing .es-listing__meta-address::before {
  color: #f9c073 !important;
  content: "\f3c5" !important;
  display: inline-block !important;
  font-family: "Font Awesome 5 Free" !important;
  font-size: 25px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  margin-left: 6px !important;
  margin-right: 7px !important;
  position: relative !important;
  top: 0 !important;
  vertical-align: baseline !important;
}

.lw2-swiper-slider-shell .es-listing .es-listing__meta-bagni-nr::before {
  content: "\e06d" !important;
}

.lw2-swiper-slider-shell .es-listing .es-listing__meta-camere-nr::before {
  content: "\f236" !important;
}

.lw2-swiper-slider-shell .es-listing .es-listing__meta-ettaroxxx-ha::before {
  content: "\f1fe" !important;
}

.lw2-swiper-slider-shell .es-listing .es-listing__meta-superficie-mq::before {
  content: "\f546" !important;
}

.lw2-swiper-slider-shell .es-listing__content {
  box-sizing: border-box;
  margin: 0 !important;
  padding: 0 !important;
  padding-left: 5px !important;
}

.lw2-swiper-slider-shell .es-listing__content__inner {
  box-sizing: border-box;
  margin: 0 !important;
  padding: 0 !important;
  padding-left: 5px !important;
}

.lw2-swiper-slider-shell .es-listing__content__left {
  box-sizing: border-box;
  margin: 0 !important;
  padding: 0 !important;
  padding-left: 5px !important;
}

.lw2-swiper-slider-shell .es-listing__footer {
  background-color: transparent;
  margin: 0 !important;
  margin-top: auto;
  min-height: 50px;
  padding: 0 !important;
  position: relative;
  text-align: left;
}

.lw2-swiper-slider-shell .es-listing__image {
  aspect-ratio: 3 / 2;
  margin-bottom: 20px !important;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.lw2-swiper-slider-shell .es-listing__image img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.lw2-swiper-slider-shell .es-listing__meta {
  color: #333 !important;
  display: flex;
  flex-wrap: wrap;
  font-family: "Montserrat", sans-serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  margin: 0 !important;
  padding-left: 5px !important;
}

.lw2-swiper-slider-shell .es-listing__meta li * {
  color: inherit !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: inherit !important;
  font-weight: inherit !important;
}

.lw2-swiper-slider-shell .es-listing__meta li span span {
  display: none !important;
}

.lw2-swiper-slider-shell .es-listing__meta li:not(.es-listing__meta-price) {
  align-items: baseline !important;
  color: #333 !important;
  display: inline-flex;
  font-family: "Montserrat", sans-serif !important;
  font-size: 18px;
  font-weight: 300 !important;
  line-height: 1.4;
  margin-left: 0 !important;
  padding-left: 0 !important;
}

.lw2-swiper-slider-shell .es-listing__meta svg {
  display: none !important;
  height: 0 !important;
  visibility: hidden !important;
  width: 0 !important;
}

.lw2-swiper-slider-shell .es-listing__meta-address {
  color: #333 !important;
  display: inline-block;
  flex: 0 0 auto;
  font-family: "Montserrat", sans-serif !important;
  font-size: 18px !important;
  font-weight: 300 !important;
  margin-bottom: 2rem !important;
  padding-left: 5px !important;
  text-align: left !important;
  width: auto !important;
}

.lw2-swiper-slider-shell .es-listing__meta-address * {
  color: inherit !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: inherit !important;
  font-weight: inherit !important;
}

.lw2-swiper-slider-shell .es-listing__meta-area span {
  display: none !important;
}

.lw2-swiper-slider-shell .es-listing__meta-bathrooms span {
  display: none !important;
}

.lw2-swiper-slider-shell .es-listing__meta-bedrooms span {
  display: none !important;
}

.lw2-swiper-slider-shell .es-listing__meta-ettaroxxx-ha span {
  margin-left: 0.25em;
}

.lw2-swiper-slider-shell .es-listing__meta-postid {
  display: none !important;
}

.lw2-swiper-slider-shell .es-listing__meta-price {
  color: #333 !important;
  flex: 1 1 100%;
  font-family: "Montserrat", sans-serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  margin-right: 10px !important;
  margin-top: 20px;
  padding-left: 5px !important;
  padding-top: 12px;
  text-align: right;
}

.lw2-swiper-slider-shell .es-listing__meta-price b,
.lw2-swiper-slider-shell .es-listing__meta-price strong {
  all: unset;
  color: #333 !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
}

.lw2-swiper-slider-shell .es-listing__meta-superficie-mq span {
  margin-left: 0.25em;
}

.lw2-swiper-slider-shell .es-listing__price {
  white-space: normal;
}

.lw2-swiper-slider-shell .es-listing__title {
  color: #333 !important;
  display: block !important;
  font-family: "Open Sans", Arial, sans-serif !important;
  font-size: 20px !important;
  font-weight: bold;
  line-height: 1.4;
  margin: 0 0 10px 0 !important;
  margin-top: 10px;
  overflow: visible !important;
  padding-left: 5px !important;
  text-align: left !important;
  text-overflow: unset !important;
  white-space: normal !important;
  word-break: break-word !important;
}

.lw2-swiper-slider-shell .es-listing__title a {
  display: block !important;
  font-size: 22px;
  font-weight: bold;
  line-height: 1.4;
  margin: 0 0 20px 0 !important;
  overflow: visible !important;
  text-align: left !important;
  text-overflow: unset !important;
  white-space: normal !important;
  word-break: break-word !important;
}

.lw2-swiper-slider-shell .es-property-image {
  aspect-ratio: 3 / 2;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.lw2-swiper-slider-shell .es-property-image img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.lw2-swiper-slider-shell .js-es-listings {
  display: grid !important;
  gap: 30px;
  grid-template-columns: repeat(2, 1fr) !important;
}

.lw2-custom-read-more {
  background-color: #F9C073;
  border: none;
  border-radius: 0;
  bottom: 0;
  color: #FFFFFF !important;
  display: inline-block;
  font-family: 'Montserrat', Helvetica, Arial, Lucida, sans-serif !important;
  font-size: 14px;
  font-weight: 400;
  left: -5px;
  letter-spacing: 1px;
  margin: 0 !important;
  margin-top: 20px;
  padding: 10px 18px;
  position: absolute;
  text-decoration: none;
  text-transform: uppercase !important;
  width: auto;
}

.lw2-custom-read-more:hover {
  background-color: #FFFFFF;
  color: #000000 !important;
}

.lw2-swiper-slider-shell {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: center;
  margin: 0 auto;
  max-width: 100%;
  position: relative;
  width: 100%;
}

.lw2-swiper-slider-shell .swiper-button-next {
  font-size: 0 !important;
  line-height: 1 !important;
}

.lw2-swiper-slider-shell .swiper-button-next::after {
  content: "" !important;
  display: none !important;
}

.lw2-swiper-slider-shell .swiper-button-next::before {
  content: ">";
  display: inline-block;
  font-size: 36px;
  font-weight: 700;
}

.lw2-swiper-slider-shell .swiper-button-prev {
  font-size: 0 !important;
  line-height: 1 !important;
}

.lw2-swiper-slider-shell .swiper-button-prev::after {
  content: "" !important;
  display: none !important;
}

.lw2-swiper-slider-shell .swiper-button-prev::before {
  content: "<";
  display: inline-block;
  font-size: 36px;
  font-weight: 700;
}

.lw2-swiper-slider-shell .property-grid-old_idm {
  align-items: center;
  color: rgb(102, 102, 102);
  display: flex;
  font-family: "Montserrat", Helvetica, Arial, Lucida, sans-serif;
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 1.9rem !important;
  padding: 0px 0px 0px;
  padding-left: 5px !important;
}

.lw2-swiper-slider-shell .property-grid-old_idm::before {
  color: #f9c073 !important;
  content: "\23";
  display: inline-block !important;
  font-family: "Font Awesome 5 Free" !important;
  font-size: 25px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  margin-left: 6px !important;
  margin-right: 10px !important;
  position: relative !important;
  top: 0 !important;
  vertical-align: baseline !important;
}

.lw2-swiper-slider-shell .property-grid-topline {
  align-items: center;
  display: flex;
  gap: 10px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.lw2-swiper-slider-shell .property-grid-topline li {
  display: inline-block;
}

.lw2-swiper-slider-shell .swiper-button-next {
  align-items: center;
  background: #f9c073;
  border: none;
  border-radius: 50%;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
  color: #fff;
  cursor: pointer;
  display: flex;
  font-size: 36px;
  height: 70px;
  justify-content: center;
  position: relative;
  width: 70px;
  z-index: 20;
}

.lw2-swiper-slider-shell .swiper-button-next:hover {
  background-color: #e5a844;
  color: #fff;
}

.lw2-swiper-slider-shell .swiper-button-prev {
  align-items: center;
  background: #f9c073;
  border: none;
  border-radius: 50%;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
  color: #fff;
  cursor: pointer;
  display: flex;
  font-size: 36px;
  height: 70px;
  justify-content: center;
  position: relative;
  width: 70px;
  z-index: 20;
}

.lw2-swiper-slider-shell .swiper-button-prev:hover {
  background-color: #e5a844;
  color: #fff;
}

.lw2-swiper-slider-shell .swiper-container {
  box-sizing: border-box;
  max-width: 1140px;
  overflow: hidden;
  padding: 0;
  position: relative;
  width: 100%;
}

.lw2-swiper-slider-shell .swiper-nav-bottom {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: center;
  margin-top: 10px;
}

.lw2-swiper-slider-shell .swiper-navigation-icon {
  display: none !important;
}

.lw2-swiper-slider-shell .swiper-slide {
  align-items: stretch;
  display: flex;
  height: 100%;
}

.lw2-swiper-slider-shell .swiper-slide .es-listing__image {
  aspect-ratio: 3 / 2;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.lw2-swiper-slider-shell .swiper-slide .es-listing__image img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.lw2-swiper-slider-shell .tab-space {
  display: block;
  height: calc(var(--efs-title-line-height, 1.2) * 1em); /* matches title line-height */
}

@media screen and (max-width: 768px) {
  .lw2-swiper-slider-shell .swiper-button-next {
    font-size: 18px;
    height: 40px;
    right: -15px;
    width: 40px;
  }

  .lw2-swiper-slider-shell .swiper-button-prev {
    font-size: 18px;
    height: 40px;
    left: -15px;
    width: 40px;
  }
}

@media (max-width: 768px) {
  .lw2-swiper-slider-shell {
    flex-direction: column;
  }

  .lw2-swiper-slider-shell .swiper-button-next {
    margin: 0;
    position: static !important;
    transform: none !important;
  }

  .lw2-swiper-slider-shell .swiper-button-prev {
    margin: 0;
    position: static !important;
    transform: none !important;
  }

  .lw2-swiper-slider-shell .swiper-nav-bottom {
    margin-top: 12px;
  }
}

@media (max-width: 767px) {
  .lw2-swiper-slider-shell .js-es-listings {
    grid-template-columns: 1fr !important;
  }
}

/* Ensure titles render up to 3 lines; overflow is clamped for visual consistency */
.es-listing__title a {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: var(--efs-title-line-height, 1.2);
}



/* ---- Title equal height across cards ---- */
.es-listing__title { 
  --efs-title-line-height: 1.25;
  margin: 0 0 10px;
  min-height: calc(3 * var(--efs-title-line-height) * 1em); /* always reserve room for 3 lines */
}
.es-listing__title a {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3; /* clamp to 3 lines */
  overflow: hidden;
  line-height: var(--efs-title-line-height);
}

/* Remove old spacer effect completely */
.tab-space { display: none !important; height: 0 !important; }

/* Make sure the top meta row starts consistently */
.property-grid-topline { margin-top: 8px; }

/* Optional: tighten spacing in cards for visual alignment */
.es-listing__content__left { display: flex; flex-direction: column; }
.es-listing__content__left > * { flex: 0 0 auto; }

