/**
 * Property detail — keep LP property-intro layout aligned (gallery + info).
 * Prevents 50+ stacked hero slides when slick has not initialized yet.
 */

/* Transparent nav over hero photos (match live Spikes detail pages) */
body:has(.property-intro-2) {
  padding-top: 0 !important;
}
body:has(.property-intro-2) nav#global-navbar:not(.scroll) {
  background-color: transparent !important;
}
body:has(.property-intro-2) nav#global-navbar:not(.scroll) .header {
  background-color: transparent !important;
}

.property-intro-2 {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
}

/* Before slick boots: show only the first hero image, hide the rest */
.property-intro-2-bg-slider:not(.slick-initialized) {
  position: relative;
  width: 100%;
  overflow: hidden;
  max-height: 78vh;
  min-height: 420px;
  background: #1a1a1a;
}
.property-intro-2-bg-slider:not(.slick-initialized) .property-intro-2-bg-slider-item {
  display: none !important;
}
.property-intro-2-bg-slider:not(.slick-initialized) .property-intro-2-bg-slider-item:first-child {
  display: block !important;
  width: 100%;
  height: 78vh;
  min-height: 420px;
}
.property-intro-2-bg-slider:not(.slick-initialized) .property-intro-2-bg-slider-item:first-child img,
.property-intro-2-bg-slider .property-intro-2-bg-slider-item img,
.property-intro-2-bg-slider .slick-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.property-intro-2-bg-slider.slick-initialized,
.property-intro-2-bg-slider.slick-initialized .slick-list,
.property-intro-2-bg-slider.slick-initialized .slick-track {
  min-height: 420px;
}

/* Thumbnail strip: don't stack all thumbs before init */
.property-intro-2-nav-slider:not(.slick-initialized) {
  display: flex;
  gap: 6px;
  overflow: hidden;
  max-height: 96px;
  padding: 8px 12px;
}
.property-intro-2-nav-slider:not(.slick-initialized) .property-intro-2-nav-slider-item {
  flex: 0 0 14%;
  max-width: 140px;
  display: none;
}
.property-intro-2-nav-slider:not(.slick-initialized) .property-intro-2-nav-slider-item:nth-child(-n+7) {
  display: block;
}
.property-intro-2-nav-slider:not(.slick-initialized) .property-intro-2-nav-slider-item img {
  width: 100%;
  height: 80px;
  object-fit: cover;
  display: block;
}

/* Intro info card over / under hero */
.property-intro-2-info {
  position: relative;
  z-index: 2;
  width: 100%;
}
.property-intro-2-info .container {
  max-width: 1440px;
  margin: 0 auto;
  padding-left: 30px;
  padding-right: 30px;
  box-sizing: border-box;
}
.property-intro-2-info .label {
  display: inline-block;
}
.property-intro-2-info h1.lp-h3 {
  margin: 0.35em 0 0.25em;
  word-break: break-word;
}
.property-intro-2-info h5 {
  margin: 0.35em 0 0;
}
.mls-listing-detail-courtesy {
  font-size: 12px;
  opacity: 0.85;
  margin-bottom: 10px;
}

/* Description + amenities spacing */
.property-description .container,
.property-description__main {
  max-width: 960px;
}
.property-description__main.advanced-content p,
.property-description__main .advanced-content p {
  margin: 0 0 1em;
  line-height: 1.6;
}

/* Tabs / share row shouldn't overflow */
#tabs.modal-1 .btn-group,
.property-intro-2 .nav-tab {
  flex-wrap: wrap;
}

@media (max-width: 768px) {
  .property-intro-2-bg-slider:not(.slick-initialized),
  .property-intro-2-bg-slider:not(.slick-initialized) .property-intro-2-bg-slider-item:first-child {
    min-height: 320px;
    height: 56vh;
    max-height: 56vh;
  }
  .property-intro-2-info .container {
    padding-left: 20px;
    padding-right: 20px;
  }
}
