/* Bid2Stay 28.25.7 — Homepage Destination Three-Column Balance Lock
   Scope: homepage destination cards only.
   Desktop: exactly 3 equal cards per row, one consistent card format.
   Tablet: 2 equal cards per row. Mobile: 1 complete card per row, no swipe.
   No navigation, auth, admin, provider, Supabase or marketplace workflow changes. */

body .b2s-home-featured-destinations {
  align-items: stretch !important;
  grid-auto-rows: 1fr !important;
}

body .b2s-home-featured-destinations > .b2s30-destination-card {
  height: 100% !important;
  min-height: 0 !important;
  border-radius: 20px !important;
  border: 1px solid rgba(24,31,38,.09) !important;
  background: #fff !important;
  box-shadow: 0 12px 30px rgba(15,22,28,.075) !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}

body .b2s-home-featured-destinations > .b2s30-destination-card:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(154,103,0,.22) !important;
  box-shadow: 0 18px 40px rgba(15,22,28,.11) !important;
}

body .b2s-home-featured-destinations .b2s30-destination-card::before,
body .b2s-home-featured-destinations .b2s30-destination-card::after {
  content: none !important;
  display: none !important;
}

body .b2s-home-featured-destinations .b2s30-destination-image {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  height: 235px !important;
  min-height: 235px !important;
  max-height: 235px !important;
  object-fit: cover !important;
  display: block !important;
  opacity: 1 !important;
  transform: none !important;
}

body .b2s-home-featured-destinations .b2s30-card-content {
  position: static !important;
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 20px 20px 22px !important;
}

body .b2s-home-featured-destinations .b2s30-category {
  min-height: 14px !important;
  margin: 0 !important;
  font-size: 11px !important;
  line-height: 1.25 !important;
  letter-spacing: .14em !important;
}

body .b2s-home-featured-destinations h3 {
  min-height: 54px !important;
  margin: 0 !important;
  font-size: 24px !important;
  line-height: 1.12 !important;
  letter-spacing: -.025em !important;
  display: flex !important;
  align-items: flex-start !important;
}

body .b2s-home-featured-destinations .b2s30-card-description {
  min-height: 68px !important;
  margin: 0 !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

body .b2s-home-featured-destinations .b2s30-gateway,
body .b2s-home-featured-destinations .b2s30-provider-count {
  margin: 0 !important;
  font-size: 12.5px !important;
  line-height: 1.4 !important;
}

body .b2s-home-featured-destinations .b2s30-provider-count {
  min-height: 35px !important;
}

/* One identical CTA treatment for every destination card. */
body .b2s-home-featured-destinations .b2s30-card-actions {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 9px !important;
  width: 100% !important;
  margin-top: auto !important;
  padding-top: 10px !important;
}

body .b2s-home-featured-destinations .b2s30-card-button {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 46px !important;
  padding: 10px 13px !important;
  border-radius: 11px !important;
  font-size: 12.75px !important;
  line-height: 1.25 !important;
  text-align: center !important;
}

body .b2s-home-featured-destinations .b2s30-card-button.secondary {
  background: #f5f1e8 !important;
  color: #17212b !important;
  border-color: rgba(23,33,43,.10) !important;
}

body .b2s-home-featured-destinations .b2s30-card-button.primary {
  background: #151a1f !important;
  color: #f2b625 !important;
  border-color: #151a1f !important;
  box-shadow: none !important;
}

/* Desktop: full rows of three. */
@media (min-width: 1101px) {
  body .b2s-home-featured-destinations {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0,1fr)) !important;
    gap: 20px !important;
  }
}

/* Tablet: balanced rows of two. */
@media (min-width: 621px) and (max-width: 1100px) {
  body .b2s-home-featured-destinations {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 18px !important;
  }
}

/* Mobile: one complete card per row, never horizontal swipe. */
@media (max-width: 620px) {
  body .b2s-home-featured-destinations {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    overflow: visible !important;
    scroll-snap-type: none !important;
  }

  body .b2s-home-featured-destinations > .b2s30-destination-card {
    width: 100% !important;
    max-width: none !important;
    flex: none !important;
    scroll-snap-align: none !important;
    border-radius: 18px !important;
  }

  body .b2s-home-featured-destinations .b2s30-destination-image {
    height: 220px !important;
    min-height: 220px !important;
    max-height: 220px !important;
  }

  body .b2s-home-featured-destinations .b2s30-card-content {
    padding: 17px 17px 18px !important;
    gap: 7px !important;
  }

  body .b2s-home-featured-destinations h3,
  body .b2s-home-featured-destinations .b2s30-card-description,
  body .b2s-home-featured-destinations .b2s30-provider-count {
    min-height: 0 !important;
  }

  body .b2s-home-featured-destinations h3 {
    font-size: 23px !important;
  }

  body .b2s-home-featured-destinations .b2s30-card-actions {
    margin-top: 8px !important;
    padding-top: 0 !important;
    gap: 8px !important;
  }

  body .b2s-home-featured-destinations .b2s30-card-button {
    min-height: 45px !important;
    font-size: 13px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body .b2s-home-featured-destinations > .b2s30-destination-card:hover {
    transform: none !important;
  }
}
