/* =========================================================
   BULK & PARTNER – FEATURED PROPERTIES V2
   Responsive three / two / one card carousel.
   Uses the existing RealHomes / BP markup and functions.
   ========================================================= */

.bp-featured-v2 {
  width: 100%;
  position: relative;
}

.bp-featured-v2 .bp-featured-v2__narrative {
  margin: 0 0 22px;
}

.bp-featured-v2 .bp-v2-carousel {
  position: relative;
  width: 100%;
  overflow: visible;
}

.bp-featured-v2 .bp-v2-viewport {
  width: 100%;
  overflow: hidden;
  outline: none;
  touch-action: pan-y;
}

.bp-featured-v2 .bp-v2-track {
  display: flex;
  align-items: stretch;
  gap: 24px;
  width: 100%;
  transform: translate3d(0,0,0);
  transition: transform .38s ease;
  will-change: transform;
}

.bp-featured-v2 .bp-v2-card {
  display: flex;
  flex: 0 0 calc((100% - 48px) / 3);
  flex-direction: column;
  min-width: 0;
  height: auto;
  margin: 0;
  padding: 0;
  overflow: visible;
  position: relative;
  box-sizing: border-box;
  background: #303030;
  color: #fff;
}

/* Media area and existing V1 overlay elements. */
.bp-featured-v2 .bp-v2-card__media {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 1.28 / 1;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible;
  box-sizing: border-box;
  background: #e7e7e7;
}

.bp-featured-v2 .bp-v2-card__gallery {
  position: absolute !important;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  line-height: 0;
}

.bp-featured-v2 .bp-v2-card__gallery > a {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  line-height: 0;
}

.bp-featured-v2 .bp-v2-card__gallery img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  object-fit: cover;
  object-position: center center;
}

/* Top property label: keep the original RealHomes banner and its color. */
.bp-featured-v2 .bp-v2-card__media .slider-label-home {
  position: absolute !important;
  top: 12px !important;
  left: 12px !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 42 !important;
  display: block;
  margin: 0 !important;
  padding: 0 !important;
}

.bp-featured-v2 .bp-v2-card__media .slider-label-home .property-label {
  display: inline-block;
  padding: 6px 10px;
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
}

/* Favorite control: same RealHomes AJAX form, same red/white states. */
.bp-featured-v2 figure.bp-featured-carousel-figure .add-to-fav {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  left: auto !important;
  bottom: auto !important;
  z-index: 90 !important;
  width: 38px;
  height: 38px;
  margin: 0;
}

.bp-featured-v2 figure.bp-featured-carousel-figure .add-to-fav .favorite-placeholder,
.bp-featured-v2 figure.bp-featured-carousel-figure .add-to-fav a.btn-fav {
  position: absolute;
  inset: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: rgba(0,0,0,.25);
  box-sizing: border-box;
}

.bp-featured-v2 figure.bp-featured-carousel-figure .add-to-fav .favorite-placeholder { pointer-events: none; }
.bp-featured-v2 figure.bp-featured-carousel-figure .add-to-fav .favorite-placeholder.hide { display: none !important; }
.bp-featured-v2 figure.bp-featured-carousel-figure .add-to-fav svg { display: block; width: 22px; height: 22px; }
.bp-featured-v2 figure.bp-featured-carousel-figure .add-to-fav a.btn-fav svg { fill: #fff !important; opacity: .95; }
.bp-featured-v2 figure.bp-featured-carousel-figure .add-to-fav a.btn-fav:hover svg { fill: #fff !important; opacity: .95; }
.bp-featured-v2 figure.bp-featured-carousel-figure .add-to-fav .favorite-placeholder:not(.hide) svg,
.bp-featured-v2 figure.bp-featured-carousel-figure .add-to-fav .favorite-placeholder.highlight__red svg { fill: #e11b22 !important; opacity: 1; }
.bp-featured-v2 figure.bp-featured-carousel-figure .add-to-fav .favorite-placeholder:not(.hide) + a.btn-fav svg { opacity: 0 !important; }

/* Status stays bottom-left, using the original status renderer/colors. */
.bp-featured-v2 .bp-v2-card__media .status-property-slide {
  position: absolute !important;
  left: 12px !important;
  right: auto !important;
  bottom: 12px !important;
  top: auto !important;
  z-index: 43 !important;
  width: max-content;
  max-width: calc(100% - 24px);
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  overflow: visible;
}

.bp-featured-v2 .bp-v2-card__media .status-property-slide figcaption {
  display: inline-block !important;
  background: #4b8b0b !important;
  width: auto !important;
  max-width: 100%;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 6px 11px !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
}

.bp-featured-v2 .bp-v2-card__media .status-property-slide figcaption.sold,
.bp-featured-v2 .bp-v2-card__media .status-property-slide figcaption.verkauft,
.bp-featured-v2 .bp-v2-card__media .status-property-slide figcaption.vendido,
.bp-featured-v2 .bp-v2-card__media .status-property-slide figcaption.sprzedane { background: #c81b01 !important; }

/* Photo count + existing video / 360 indicators share the bottom-right rail. */
.bp-featured-v2 .bp-v2-media-rail {
  position: absolute;
  right: 12px;
  bottom: 12px;
  z-index: 44;
  display: inline-flex;
  align-items: stretch;
  justify-content: flex-end;
  gap: 4px;
  max-width: calc(100% - 24px);
  height: 32px;
  margin: 0;
  padding: 0;
  pointer-events: auto;
  white-space: nowrap;
}

.bp-featured-v2 .bp-v2-media-rail:empty { display: none; }
.bp-featured-v2 .bp-v2-media-rail .bp-media-indicators {
  position: static !important;
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: stretch !important;
  justify-content: flex-end !important;
  gap: 4px !important;
  width: auto !important;
  height: 32px !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  background: transparent !important;
}

.bp-featured-v2 .bp-v2-media-rail .bp-media-indicator {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 32px !important;
  width: 32px !important;
  min-width: 32px !important;
  height: 32px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 0 !important;
  background: rgba(0,0,0,.42) !important;
  color: #fff !important;
  box-sizing: border-box !important;
}

.bp-featured-v2 .bp-v2-media-rail .bp-media-indicator svg {
  display: block !important;
  width: 21px !important;
  height: 21px !important;
  max-width: 21px !important;
  fill: none !important;
  stroke: #fff !important;
  stroke-width: 1.7 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.bp-featured-v2 .bp-v2-media-rail .bp-media-indicator--video svg rect { fill: none !important; stroke: #fff !important; }
.bp-featured-v2 .bp-v2-media-rail .bp-media-indicator--video svg path { fill: #fff !important; stroke: none !important; }
.bp-featured-v2 .bp-v2-media-rail .bp-media-indicator--360 svg path { fill: none !important; stroke: #fff !important; }
.bp-featured-v2 .bp-v2-media-rail .bp-media-indicator--360 svg text { fill: #fff !important; stroke: none !important; }
.bp-featured-v2 .bp-v2-media-rail .bp-media-indicator--multiple { flex-basis: auto !important; width: auto !important; padding: 0 6px !important; gap: 3px !important; }
.bp-featured-v2 .bp-v2-media-rail .bp-media-indicator__count { color: #fff !important; font-size: 11px; font-weight: 700; }

.bp-featured-v2 .bp-v2-media-rail > .bp-featured-photo-count {
  order: 1;
}
.bp-featured-v2 .bp-v2-media-rail > .bp-media-indicators {
  order: 2;
}
.bp-featured-v2 .bp-v2-media-rail .bp-media-indicator--video { order: 1; }
.bp-featured-v2 .bp-v2-media-rail .bp-media-indicator--360 { order: 2; }

.bp-featured-v2 .bp-v2-media-rail .bp-featured-photo-count {
  position: static !important;
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  min-width: 42px;
  height: 32px;
  margin: 0 !important;
  padding: 0 8px !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  background: rgba(0,0,0,.42) !important;
  color: #fff !important;
  font-size: 12px;
  line-height: 1;
  box-sizing: border-box;
}
.bp-featured-v2 .bp-v2-media-rail .bp-camera-icon { display: block; width: 17px; height: 17px; fill: #fff; }

/* Image gallery arrows reuse the V1 gallery controls. */
.bp-featured-v2 .bp-top-gallery-arrow {
  position: absolute;
  top: 50%;
  z-index: 41;
  width: 32px;
  height: 36px;
  margin: 0;
  padding: 0;
  transform: translateY(-50%);
  border: 0;
  border-radius: 0;
  color: #fff;
  background: rgba(0,0,0,.38);
  font-size: 30px;
  line-height: 30px;
  cursor: pointer;
  opacity: 0;
  transition: opacity .18s ease;
}
.bp-featured-v2 .bp-top-gallery-prev { left: 8px; }
.bp-featured-v2 .bp-top-gallery-next { right: 8px; }
.bp-featured-v2 .bp-top-gallery:hover .bp-top-gallery-arrow,
.bp-featured-v2 .bp-top-gallery:focus-within .bp-top-gallery-arrow { opacity: 1; }

/* Card information: original BP charcoal + white typography, no gold accents or CTA. */
.bp-featured-v2 .bp-v2-card__body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-width: 0;
  padding: 17px 18px 18px;
  background: #303030;
  color: #fff;
  box-sizing: border-box;
}

.bp-featured-v2 .bp-v2-card__title {
  min-height: 2.6em;
  margin: 0 0 9px !important;
  color: #fff !important;
  font-family: inherit;
  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: 1.3 !important;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.bp-featured-v2 .bp-v2-card__title a,
.bp-featured-v2 .bp-v2-card__title a:link,
.bp-featured-v2 .bp-v2-card__title a:visited,
.bp-featured-v2 .bp-v2-card__title a:hover,
.bp-featured-v2 .bp-v2-card__title a:focus { color: #fff !important; text-decoration: none !important; }

.bp-featured-v2 .bp-v2-card__price {
  min-height: 1.5em;
  margin: 0 0 8px;
  color: #fff;
  font-size: 21px;
  font-weight: 700;
  line-height: 1.35;
}
.bp-featured-v2 .bp-v2-card__price .price { display: block; margin: 0 !important; padding: 0 !important; color: #fff !important; font-size: inherit; font-weight: inherit; line-height: inherit; }
.bp-featured-v2 .bp-v2-card__price .price * { color: #fff !important; font-size: inherit; font-weight: inherit; }
.bp-featured-v2 .bp-v2-card__price .bp-pd-approx-pln { display: block !important; margin-top: 2px; color: rgba(255,255,255,.78) !important; font-size: 13px !important; font-weight: 400 !important; line-height: 1.4 !important; }

.bp-featured-v2 .bp-v2-card__taxonomies {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 7px;
  min-height: 1.5em;
  margin: 0 0 5px;
  color: rgba(255,255,255,.76);
  font-size: 12px;
  line-height: 1.45;
}
.bp-featured-v2 .bp-v2-card__taxonomies a,
.bp-featured-v2 .bp-v2-card__taxonomies a:link,
.bp-featured-v2 .bp-v2-card__taxonomies a:visited,
.bp-featured-v2 .bp-v2-card__taxonomies a:hover,
.bp-featured-v2 .bp-v2-card__taxonomies a:focus { color: rgba(255,255,255,.76) !important; text-decoration: none !important; }
.bp-featured-v2 .bp-v2-card__separator { color: rgba(255,255,255,.48); }
.bp-featured-v2 .bp-v2-card__reference {
  margin: 0 0 12px !important;
  color: rgba(255,255,255,.62) !important;
  font-size: 11px;
  line-height: 1.4;
}

.bp-featured-v2 .bp-v2-card__meta {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(54px, 1fr));
  align-items: stretch;
  gap: 0;
  width: 100%;
  margin: auto 0 0;
  padding: 14px 0 0;
  border-top: 1px solid rgba(255,255,255,.24);
}
.bp-featured-v2 .bp-v2-meta-item {
  position: relative;
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 0 7px;
  color: #fff;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.25;
  text-align: center;
  white-space: nowrap;
  box-sizing: border-box;
}
.bp-featured-v2 .bp-v2-meta-item + .bp-v2-meta-item:before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 1px;
  height: 34px;
  transform: translateY(-50%);
  background: rgba(255,255,255,.24);
  content: "";
}
.bp-featured-v2 .bp-v2-meta-item img {
  display: block;
  width: 30px;
  height: 30px;
  max-width: 100%;
  object-fit: contain;
}

/* Carousel arrows and centered numeric navigation. */
.bp-featured-v2 .bp-v2-nav {
  position: absolute;
  top: 42%;
  z-index: 60;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  margin: 0;
  padding: 0;
  border: 1px solid #d7d7d7;
  border-radius: 50%;
  background: #fff;
  color: #303030;
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
  transition: border-color .18s ease, color .18s ease, opacity .18s ease;
}
.bp-featured-v2 .bp-v2-nav--prev { left: -48px; }
.bp-featured-v2 .bp-v2-nav--next { right: -48px; }
.bp-featured-v2 .bp-v2-nav:hover,
.bp-featured-v2 .bp-v2-nav:focus-visible { border-color: #303030; color: #303030; outline: none; }
.bp-featured-v2 .bp-v2-nav:disabled { opacity: .28; cursor: default; }
.bp-featured-v2 .bp-v2-nav[hidden] { display: none !important; }
.bp-featured-v2 .bp-v2-footer {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 24px;
  margin: 18px 0 0;
  color: #394041;
  font-size: 14px;
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
}
.bp-featured-v2 .bp-v2-footer[hidden] { display: none !important; }

@media (min-width: 641px) and (max-width: 959px) {
  .bp-featured-v2 .bp-v2-card { flex-basis: calc((100% - 18px) / 2); }
  .bp-featured-v2 .bp-v2-card__body { padding: 16px 15px 17px; }
  .bp-featured-v2 .bp-v2-card__title { font-size: 17px !important; }
  .bp-featured-v2 .bp-v2-nav--prev { left: -38px; }
  .bp-featured-v2 .bp-v2-nav--next { right: -38px; }
}

@media (max-width: 640px) {
  .bp-featured-v2 .bp-featured-v2__narrative { margin-bottom: 16px; }
  .bp-featured-v2 .bp-v2-track { gap: 14px; }
  .bp-featured-v2 .bp-v2-card { flex-basis: 100%; }
  .bp-featured-v2 .bp-v2-card__media { aspect-ratio: 1.45 / 1; }
  .bp-featured-v2 .bp-v2-card__body { padding: 16px; }
  .bp-featured-v2 .bp-v2-card__title { font-size: 17px !important; min-height: 2.6em; }
  .bp-featured-v2 .bp-v2-nav { top: 31%; width: 36px; height: 36px; font-size: 23px; }
  .bp-featured-v2 .bp-v2-nav--prev { left: 8px; }
  .bp-featured-v2 .bp-v2-nav--next { right: 8px; }
  .bp-featured-v2 .bp-v2-footer { margin-top: 14px; }
}

@media (hover: none) {
  .bp-featured-v2 .bp-top-gallery-arrow { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .bp-featured-v2 .bp-v2-track { transition: none; }
}


/* Adapt card typography to the actual available carousel width (not only viewport width). */
.bp-featured-v2 .bp-v2-carousel[data-bp-v2-visible="2"] .bp-v2-card__body { padding: 16px 15px 17px; }
.bp-featured-v2 .bp-v2-carousel[data-bp-v2-visible="2"] .bp-v2-card__title { font-size: 17px !important; }
.bp-featured-v2 .bp-v2-carousel[data-bp-v2-visible="1"] .bp-v2-card__body { padding: 16px; }
.bp-featured-v2 .bp-v2-carousel[data-bp-v2-visible="1"] .bp-v2-card__title { font-size: 17px !important; }


/* =========================================================
   V2 – FINAL REFINEMENTS
   Taller images, orange title/taxonomy hover lines, reliable
   favorite tooltip layering, properly formatted SOLD badge,
   and page navigation with arrows + page counter.
   ========================================================= */

/* Taller property photographs while retaining the card width. */
.bp-featured-v2 .bp-v2-card__media {
  aspect-ratio: 1.28 / 1;
  overflow: visible !important;
}
.bp-featured-v2 .bp-v2-card__gallery {
  overflow: hidden !important;
  z-index: 1;
}
.bp-featured-v2 .bp-v2-card__gallery img {
  object-fit: cover !important;
  object-position: center center !important;
}
@media (min-width: 641px) and (max-width: 959px) {
  .bp-featured-v2 .bp-v2-card__media { aspect-ratio: 1.32 / 1; }
}
@media (max-width: 640px) {
  .bp-featured-v2 .bp-v2-card__media { aspect-ratio: 1.36 / 1; }
}

/* The active card and all its image controls rise above adjacent cards. */
.bp-featured-v2 .bp-v2-card {
  overflow: visible !important;
  position: relative;
  z-index: 1;
}
.bp-featured-v2 .bp-v2-card:hover,
.bp-featured-v2 .bp-v2-card:focus-within {
  z-index: 10000 !important;
}
.bp-featured-v2 .bp-v2-card__media {
  position: relative !important;
  z-index: auto;
}
.bp-featured-v2 .bp-v2-card .add-to-fav,
.bp-featured-v2 .bp-v2-card .bp-featured-fav-wrap {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  left: auto !important;
  bottom: auto !important;
  z-index: 2147483000 !important;
  overflow: visible !important;
}
.bp-featured-v2 .bp-v2-card .add-to-fav .bp-tooltip {
  position: absolute !important;
  top: 50% !important;
  right: calc(100% + 8px) !important;
  left: auto !important;
  bottom: auto !important;
  z-index: 2147483647 !important;
  display: block !important;
  width: max-content !important;
  max-width: 220px !important;
  padding: 6px 9px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #303030 !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.25 !important;
  white-space: nowrap !important;
  text-align: left !important;
  transform: translateY(-50%) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.24) !important;
}
.bp-featured-v2 .bp-v2-card .add-to-fav:hover .bp-tooltip,
.bp-featured-v2 .bp-v2-card .add-to-fav:focus-within .bp-tooltip {
  opacity: 1 !important;
  visibility: visible !important;
}

/* SOLD status: same V1 red, white text, inset and badge padding. */
.bp-featured-v2 .bp-v2-card__media .status-property-slide,
.bp-featured-v2 .bp-v2-card__media .bp-v2-status-banner {
  position: absolute !important;
  left: 12px !important;
  right: auto !important;
  bottom: 12px !important;
  top: auto !important;
  z-index: 80 !important;
  display: block !important;
  width: max-content !important;
  max-width: calc(100% - 24px) !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  background: transparent !important;
  line-height: 1 !important;
}
.bp-featured-v2 .bp-v2-status-banner .figure-figcaption,
.bp-featured-v2 .bp-v2-status-banner .property-status-custom,
.bp-featured-v2 .bp-v2-status-banner figcaption {
  position: static !important;
  float: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 6px 10px !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-sizing: border-box !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  white-space: nowrap !important;
  transform: none !important;
}
.bp-featured-v2 .bp-v2-status-banner--sold .figure-figcaption,
.bp-featured-v2 .bp-v2-status-banner--sold .property-status-custom,
.bp-featured-v2 .bp-v2-status-banner--sold figcaption,
.bp-featured-v2 .bp-v2-status-banner .sold,
.bp-featured-v2 .bp-v2-status-banner .verkauft,
.bp-featured-v2 .bp-v2-status-banner .vendido,
.bp-featured-v2 .bp-v2-status-banner .sprzedane,
.bp-featured-v2 .bp-v2-status-banner .sprzedany,
.bp-featured-v2 .bp-v2-status-banner:has(.sold) figcaption,
.bp-featured-v2 .bp-v2-status-banner:has(.verkauft) figcaption,
.bp-featured-v2 .bp-v2-status-banner:has(.vendido) figcaption,
.bp-featured-v2 .bp-v2-status-banner:has(.sprzedane) figcaption,
.bp-featured-v2 .bp-v2-status-banner:has(.sprzedany) figcaption {
  background: #c81b01 !important;
  background-color: #c81b01 !important;
  color: #fff !important;
}

/* Orange underline on card titles, matching the existing homepage link hover. */
.bp-featured-v2 .bp-v2-card__title a,
.bp-featured-v2 .bp-v2-card__title a:link,
.bp-featured-v2 .bp-v2-card__title a:visited {
  color: #fff !important;
  text-decoration: none !important;
  text-decoration-color: transparent !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px !important;
}
.bp-featured-v2 .bp-v2-card__title a:hover,
.bp-featured-v2 .bp-v2-card__title a:focus-visible,
.bp-featured-v2 .bp-v2-card__title a:active {
  color: #fff !important;
  text-decoration-line: underline !important;
  text-decoration-style: solid !important;
  text-decoration-color: #e38b0d !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px !important;
}

/* Orange underline for property-type/category links. */
.bp-featured-v2 .bp-v2-card__taxonomies a,
.bp-featured-v2 .bp-v2-card__taxonomies a:link,
.bp-featured-v2 .bp-v2-card__taxonomies a:visited {
  color: rgba(255,255,255,.76) !important;
  text-decoration: none !important;
  text-decoration-color: transparent !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px !important;
  transition: text-decoration-color .16s ease;
}
.bp-featured-v2 .bp-v2-card__taxonomies a:hover,
.bp-featured-v2 .bp-v2-card__taxonomies a:focus-visible,
.bp-featured-v2 .bp-v2-card__taxonomies a:active {
  color: rgba(255,255,255,.76) !important;
  text-decoration-line: underline !important;
  text-decoration-style: solid !important;
  text-decoration-color: #e38b0d !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px !important;
}

/* Centered navigation: square arrows flank a page-based counter. */
.bp-featured-v2 .bp-v2-footer {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  min-height: 36px !important;
  margin: 18px 0 0 !important;
  padding: 0 !important;
  color: #394041 !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-variant-numeric: tabular-nums;
}
.bp-featured-v2 .bp-v2-nav {
  position: static !important;
  inset: auto !important;
  display: inline-flex !important;
  flex: 0 0 34px !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  min-width: 34px !important;
  height: 34px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid #bfc3c5 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #394041 !important;
  font-size: 23px !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  transform: none !important;
  opacity: 1 !important;
  cursor: pointer;
  transition: border-color .16s ease, color .16s ease, background-color .16s ease;
}
.bp-featured-v2 .bp-v2-nav:hover,
.bp-featured-v2 .bp-v2-nav:focus-visible {
  border-color: #e38b0d !important;
  color: #394041 !important;
  background: transparent !important;
  outline: none !important;
}
.bp-featured-v2 .bp-v2-nav:disabled {
  opacity: .35 !important;
  cursor: default !important;
}
.bp-featured-v2 .bp-v2-nav[hidden],
.bp-featured-v2 .bp-v2-footer[hidden] {
  display: none !important;
}
.bp-featured-v2 .bp-v2-counter {
  display: inline-block;
  min-width: 38px;
  color: #394041 !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  text-align: center;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

@media (max-width: 640px) {
  .bp-featured-v2 .bp-v2-footer { margin-top: 14px !important; }
  .bp-featured-v2 .bp-v2-nav { flex-basis: 32px !important; width: 32px !important; min-width: 32px !important; height: 32px !important; }
}


/* =========================================================
   V2 – refinements from the latest review
   ========================================================= */

/* Taller images: lower width/height ratio means a taller photo. */
@media (min-width: 960px) {
  .bp-featured-v2 .bp-v2-card__media { aspect-ratio: 1.16 / 1 !important; }
}
@media (min-width: 641px) and (max-width: 959px) {
  .bp-featured-v2 .bp-v2-card__media { aspect-ratio: 1.24 / 1 !important; }
}
@media (max-width: 640px) {
  .bp-featured-v2 .bp-v2-card__media { aspect-ratio: 1.30 / 1 !important; }
}

/* Raise the card and its favorite controls above neighbouring cards. */
.bp-featured-v2 .bp-v2-card {
  position: relative !important;
  z-index: 1 !important;
  overflow: visible !important;
}
.bp-featured-v2 .bp-v2-card:hover,
.bp-featured-v2 .bp-v2-card:focus-within {
  z-index: 100000 !important;
}
.bp-featured-v2 .bp-v2-card__media {
  position: relative !important;
  overflow: visible !important;
  z-index: auto !important;
}
.bp-featured-v2 .bp-v2-card__gallery {
  z-index: 1 !important;
  overflow: hidden !important;
}
.bp-featured-v2 .bp-v2-card .add-to-fav,
.bp-featured-v2 .bp-v2-card .bp-featured-fav-wrap {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  left: auto !important;
  bottom: auto !important;
  z-index: 2147483000 !important;
  display: block !important;
  width: 38px !important;
  height: 38px !important;
  margin: 0 !important;
  overflow: visible !important;
}
.bp-featured-v2 .bp-v2-card .add-to-fav > a,
.bp-featured-v2 .bp-v2-card .add-to-fav > .favorite-placeholder {
  position: absolute !important;
  inset: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 38px !important;
  height: 38px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}
.bp-featured-v2 .bp-v2-card .add-to-fav .bp-tooltip {
  position: absolute !important;
  top: 50% !important;
  right: calc(100% + 8px) !important;
  left: auto !important;
  bottom: auto !important;
  z-index: 2147483647 !important;
  display: block !important;
  width: max-content !important;
  max-width: 210px !important;
  margin: 0 !important;
  padding: 7px 10px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #303030 !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.3 !important;
  white-space: nowrap !important;
  text-align: left !important;
  transform: translateY(-50%) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.28) !important;
}
.bp-featured-v2 .bp-v2-card .add-to-fav:hover .bp-tooltip,
.bp-featured-v2 .bp-v2-card .add-to-fav:focus-within .bp-tooltip {
  opacity: 1 !important;
  visibility: visible !important;
}

/* Status badge: the wrapper is the colored label. The inner RealHomes
   figcaption is reset so that the background/padding appears only once. */
.bp-featured-v2 .bp-v2-card__media .bp-v2-status-banner {
  position: absolute !important;
  left: 12px !important;
  right: auto !important;
  bottom: 12px !important;
  top: auto !important;
  z-index: 80 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: max-content !important;
  max-width: calc(100% - 24px) !important;
  min-height: 26px !important;
  margin: 0 !important;
  padding: 6px 10px !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-sizing: border-box !important;
  background: #4b8b0b !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  overflow: visible !important;
}
.bp-featured-v2 .bp-v2-status-banner--sold,
.bp-featured-v2 .bp-v2-status-banner:has(.sold),
.bp-featured-v2 .bp-v2-status-banner:has(.verkauft),
.bp-featured-v2 .bp-v2-status-banner:has(.vendido),
.bp-featured-v2 .bp-v2-status-banner:has(.sprzedane),
.bp-featured-v2 .bp-v2-status-banner:has(.sprzedany) {
  background: #c81b01 !important;
  background-color: #c81b01 !important;
  color: #fff !important;
}
.bp-featured-v2 .bp-v2-status-banner > *,
.bp-featured-v2 .bp-v2-status-banner figcaption,
.bp-featured-v2 .bp-v2-status-banner .property-status-custom,
.bp-featured-v2 .bp-v2-status-banner .figure-figcaption {
  display: inline !important;
  position: static !important;
  float: none !important;
  width: auto !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #fff !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  transform: none !important;
}

/* Orange underline, matching Bulk & Partner's existing link hover. */
.bp-featured-v2 .bp-v2-card__title a,
.bp-featured-v2 .bp-v2-card__title a:link,
.bp-featured-v2 .bp-v2-card__title a:visited {
  color: #fff !important;
  text-decoration: none !important;
  text-decoration-color: transparent !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px !important;
}
.bp-featured-v2 .bp-v2-card__title a:hover,
.bp-featured-v2 .bp-v2-card__title a:focus-visible,
.bp-featured-v2 .bp-v2-card:hover .bp-v2-card__title a,
.bp-featured-v2 .bp-v2-card:focus-within .bp-v2-card__title a {
  color: #fff !important;
  text-decoration-line: underline !important;
  text-decoration-style: solid !important;
  text-decoration-color: #e38b0d !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px !important;
}
.bp-featured-v2 .bp-v2-card__taxonomies a,
.bp-featured-v2 .bp-v2-card__taxonomies a:link,
.bp-featured-v2 .bp-v2-card__taxonomies a:visited {
  color: rgba(255,255,255,.76) !important;
  text-decoration: none !important;
  text-decoration-color: transparent !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px !important;
}
.bp-featured-v2 .bp-v2-card__taxonomies a:hover,
.bp-featured-v2 .bp-v2-card__taxonomies a:focus-visible {
  color: rgba(255,255,255,.76) !important;
  text-decoration-line: underline !important;
  text-decoration-style: solid !important;
  text-decoration-color: #e38b0d !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px !important;
}
.bp-featured-v2 .bp-v2-card__title a:focus-visible,
.bp-featured-v2 .bp-v2-card__taxonomies a:focus-visible {
  outline: 1px solid #e38b0d !important;
  outline-offset: 3px !important;
}

/* Footer arrows flank the page counter. */
.bp-featured-v2 .bp-v2-footer {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
}
.bp-featured-v2 .bp-v2-nav {
  position: static !important;
  inset: auto !important;
  display: inline-flex !important;
  flex: 0 0 34px !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  min-width: 34px !important;
  height: 34px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid #bfc3c5 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #394041 !important;
  font-size: 23px !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  transform: none !important;
  opacity: 1 !important;
  cursor: pointer !important;
}
.bp-featured-v2 .bp-v2-nav:hover,
.bp-featured-v2 .bp-v2-nav:focus-visible {
  border-color: #e38b0d !important;
  color: #394041 !important;
  background: transparent !important;
}
.bp-featured-v2 .bp-v2-counter {
  min-width: 44px !important;
  color: #394041 !important;
  text-align: center !important;
  font-variant-numeric: tabular-nums !important;
  white-space: nowrap !important;
}


/* Final status-badge specificity reset: colored outer badge, plain text inside. */
.bp-featured-v2 .bp-v2-card__media .status-property-slide.bp-v2-status-banner {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: max-content !important;
  max-width: calc(100% - 24px) !important;
  min-height: 26px !important;
  margin: 0 !important;
  padding: 6px 10px !important;
  background: #477305 !important;
  background-color: #477305 !important;
  color: #fff !important;
  box-sizing: border-box !important;
  line-height: 1.2 !important;
}
.bp-featured-v2 .bp-v2-card__media .status-property-slide.bp-v2-status-banner--sold {
  background: #c81b01 !important;
  background-color: #c81b01 !important;
  color: #fff !important;
}
.bp-featured-v2 .bp-v2-card__media .status-property-slide.bp-v2-status-banner > *,
.bp-featured-v2 .bp-v2-card__media .status-property-slide.bp-v2-status-banner figcaption,
.bp-featured-v2 .bp-v2-card__media .status-property-slide.bp-v2-status-banner .property-status-custom,
.bp-featured-v2 .bp-v2-card__media .status-property-slide.bp-v2-status-banner .figure-figcaption {
  display: inline !important;
  position: static !important;
  float: none !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  color: #fff !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  transform: none !important;
}


/* If the section heading itself contains a link, use the same orange hover. */
.bp-featured-v2__narrative a:hover,
.bp-featured-v2__narrative a:focus-visible {
  text-decoration-line: underline !important;
  text-decoration-style: solid !important;
  text-decoration-color: #e38b0d !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px !important;
}


/* Final card image proportion agreed for V2: card width stays fixed; image frame uses the 1.45:1 proportion. */
.bp-featured-v2 .bp-v2-card__media {
  aspect-ratio: 1.45 / 1 !important;
}


/* =====================================================
   V2 – All property banners use light font weight
   Applies to top labels (NEW / NEW BUILD) and bottom
   status badges (FOR SALE / SOLD / RESERVED, etc.).
   ===================================================== */
.bp-featured-v2 .bp-v2-card__media .slider-label-home .property-label,
.bp-featured-v2 .bp-v2-card__media .status-property-slide figcaption,
.bp-featured-v2 .bp-v2-card__media .bp-v2-status-banner,
.bp-featured-v2 .bp-v2-card__media .status-property-slide.bp-v2-status-banner,
.bp-featured-v2 .bp-v2-card__media .bp-v2-status-banner > *,
.bp-featured-v2 .bp-v2-card__media .bp-v2-status-banner figcaption,
.bp-featured-v2 .bp-v2-card__media .bp-v2-status-banner .property-status-custom,
.bp-featured-v2 .bp-v2-card__media .bp-v2-status-banner .figure-figcaption,
.bp-featured-v2 .bp-v2-card__media .status-property-slide.bp-v2-status-banner > *,
.bp-featured-v2 .bp-v2-card__media .status-property-slide.bp-v2-status-banner figcaption {
  font-weight: 300 !important;
}


/* =========================================================
   V2 – optional WHITE appearance
   V1 / Single Property remains Dark and is not affected.
   ========================================================= */
.bp-featured-v2.bp-v2-theme--white .bp-v2-card {
  background: #fff !important;
  color: #394041 !important;
  border: 1px solid #e6e6e6;
  box-shadow: 0 1px 4px rgba(0,0,0,.045);
}
.bp-featured-v2.bp-v2-theme--white .bp-v2-card__body {
  background: #fff !important;
  color: #394041 !important;
}
.bp-featured-v2.bp-v2-theme--white .bp-v2-card__title,
.bp-featured-v2.bp-v2-theme--white .bp-v2-card__title a,
.bp-featured-v2.bp-v2-theme--white .bp-v2-card__title a:link,
.bp-featured-v2.bp-v2-theme--white .bp-v2-card__title a:visited,
.bp-featured-v2.bp-v2-theme--white .bp-v2-card__title a:hover,
.bp-featured-v2.bp-v2-theme--white .bp-v2-card__title a:focus {
  color: #394041 !important;
}
.bp-featured-v2.bp-v2-theme--white .bp-v2-card__title a:hover,
.bp-featured-v2.bp-v2-theme--white .bp-v2-card__title a:focus-visible {
  text-decoration: underline !important;
  text-decoration-color: #e38b0d !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px !important;
}
.bp-featured-v2.bp-v2-theme--white .bp-v2-card__price,
.bp-featured-v2.bp-v2-theme--white .bp-v2-card__price .price,
.bp-featured-v2.bp-v2-theme--white .bp-v2-card__price .price *,
.bp-featured-v2.bp-v2-theme--white .bp-v2-card__price .bp-pd-approx-pln {
  color: #394041 !important;
}
.bp-featured-v2.bp-v2-theme--white .bp-v2-card__price .bp-pd-approx-pln {
  color: #777 !important;
}
.bp-featured-v2.bp-v2-theme--white .bp-v2-card__taxonomies,
.bp-featured-v2.bp-v2-theme--white .bp-v2-card__taxonomies a,
.bp-featured-v2.bp-v2-theme--white .bp-v2-card__taxonomies a:link,
.bp-featured-v2.bp-v2-theme--white .bp-v2-card__taxonomies a:visited,
.bp-featured-v2.bp-v2-theme--white .bp-v2-card__taxonomies a:hover,
.bp-featured-v2.bp-v2-theme--white .bp-v2-card__taxonomies a:focus {
  color: #555 !important;
}
.bp-featured-v2.bp-v2-theme--white .bp-v2-card__taxonomies a:hover,
.bp-featured-v2.bp-v2-theme--white .bp-v2-card__taxonomies a:focus-visible {
  text-decoration: underline !important;
  text-decoration-color: #e38b0d !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px !important;
}
.bp-featured-v2.bp-v2-theme--white .bp-v2-card__separator {
  color: #aeb2b4 !important;
}
.bp-featured-v2.bp-v2-theme--white .bp-v2-card__reference {
  color: #85898b !important;
}
.bp-featured-v2.bp-v2-theme--white .bp-v2-card__meta {
  border-top-color: #d9dcde !important;
}
.bp-featured-v2.bp-v2-theme--white .bp-v2-meta-item {
  color: #394041 !important;
}
.bp-featured-v2.bp-v2-theme--white .bp-v2-meta-item + .bp-v2-meta-item:before {
  background: #d9dcde !important;
}
/* Existing white PNG icons are recolored to the site's orange accent. */
.bp-featured-v2.bp-v2-theme--white .bp-v2-meta-item img {
  filter: brightness(0) saturate(100%) invert(50%) sepia(93%) saturate(1168%) hue-rotate(4deg) brightness(96%) contrast(92%) !important;
}
.bp-featured-v2.bp-v2-theme--white .bp-featured-v2__narrative,
.bp-featured-v2.bp-v2-theme--white .bp-featured-v2__narrative h3,
.bp-featured-v2.bp-v2-theme--white .bp-featured-v2__narrative p {
  color: #394041 !important;
}
.bp-featured-v2.bp-v2-theme--white .bp-v2-footer,
.bp-featured-v2.bp-v2-theme--white .bp-v2-counter {
  color: #394041 !important;
}
.bp-featured-v2.bp-v2-theme--white .bp-v2-nav {
  border-color: #cfd2d3 !important;
  background: #fff !important;
  color: #394041 !important;
}
.bp-featured-v2.bp-v2-theme--white .bp-v2-nav:hover,
.bp-featured-v2.bp-v2-theme--white .bp-v2-nav:focus-visible {
  border-color: #e38b0d !important;
  color: #394041 !important;
}
