/* Repair all lakes listing cards */
main .lake-grid,
main .venue-grid,
main .listing-grid,
main .results-grid,
main .cards-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)) !important;
  gap: 22px !important;
  align-items: stretch !important;
}

main .lake-card,
main .venue-card,
main .listing-card,
main .result-card,
main article:has(a[href^="/lake/"]),
main .card:has(a[href^="/lake/"]) {
  position: relative !important;
  min-height: auto !important;
  height: auto !important;
  padding: 24px !important;
  background: #ffffff !important;
  border: 1px solid #dce8de !important;
  border-radius: 22px !important;
  box-shadow: 0 10px 26px rgba(12, 44, 27, .06) !important;
  overflow: hidden !important;
}

main .lake-card::before,
main .venue-card::before,
main .listing-card::before,
main .result-card::before,
main article:has(a[href^="/lake/"])::before,
main .card:has(a[href^="/lake/"])::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 4px !important;
  background: #006b45 !important;
  opacity: .75 !important;
}

main .lake-card::after,
main .venue-card::after,
main .listing-card::after,
main .result-card::after,
main article:has(a[href^="/lake/"])::after,
main .card:has(a[href^="/lake/"])::after {
  display: none !important;
  content: none !important;
}

/* Fix the oversized generated image/initial panels */
main .lake-card [class*="media"],
main .lake-card [class*="image"],
main .lake-card [class*="thumb"],
main .lake-card [class*="visual"],
main .lake-card [class*="placeholder"],
main .venue-card [class*="media"],
main .venue-card [class*="image"],
main .venue-card [class*="thumb"],
main .venue-card [class*="visual"],
main .venue-card [class*="placeholder"],
main .listing-card [class*="media"],
main .listing-card [class*="image"],
main .listing-card [class*="thumb"],
main .listing-card [class*="visual"],
main .listing-card [class*="placeholder"],
main .result-card [class*="media"],
main .result-card [class*="image"],
main .result-card [class*="thumb"],
main .result-card [class*="visual"],
main .result-card [class*="placeholder"],
main article:has(a[href^="/lake/"]) [class*="media"],
main article:has(a[href^="/lake/"]) [class*="image"],
main article:has(a[href^="/lake/"]) [class*="thumb"],
main article:has(a[href^="/lake/"]) [class*="visual"],
main article:has(a[href^="/lake/"]) [class*="placeholder"] {
  height: 125px !important;
  min-height: 125px !important;
  max-height: 125px !important;
  width: calc(100% + 48px) !important;
  margin: -24px -24px 20px !important;
  border-radius: 22px 22px 0 0 !important;
  aspect-ratio: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
}

main .lake-card [class*="media"] *,
main .lake-card [class*="image"] *,
main .lake-card [class*="thumb"] *,
main .lake-card [class*="visual"] *,
main .lake-card [class*="placeholder"] *,
main .venue-card [class*="media"] *,
main .venue-card [class*="image"] *,
main .venue-card [class*="thumb"] *,
main .venue-card [class*="visual"] *,
main .venue-card [class*="placeholder"] * {
  font-size: 2.3rem !important;
  line-height: 1 !important;
}

main .lake-card img,
main .venue-card img,
main .listing-card img,
main .result-card img,
main article:has(a[href^="/lake/"]) img {
  width: 100% !important;
  height: 125px !important;
  object-fit: cover !important;
}

main .lake-card h2,
main .lake-card h3,
main .venue-card h2,
main .venue-card h3,
main .listing-card h2,
main .listing-card h3,
main .result-card h2,
main .result-card h3,
main article:has(a[href^="/lake/"]) h2,
main article:has(a[href^="/lake/"]) h3 {
  margin: 0 0 14px !important;
  padding: 0 !important;
  background: transparent !important;
  color: #06351f !important;
  font-size: 1.35rem !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  box-shadow: none !important;
}

main .lake-card p,
main .venue-card p,
main .listing-card p,
main .result-card p,
main article:has(a[href^="/lake/"]) p {
  margin: 0 0 14px !important;
  padding: 0 !important;
  background: transparent !important;
  color: #40584a !important;
  font-size: 1rem !important;
  line-height: 1.55 !important;
  font-weight: 500 !important;
}

main .lake-card p::before,
main .venue-card p::before,
main .listing-card p::before,
main .result-card p::before,
main article:has(a[href^="/lake/"]) p::before {
  display: none !important;
  content: none !important;
}

main .lake-card a[href^="/lake/"],
main .venue-card a[href^="/lake/"],
main .listing-card a[href^="/lake/"],
main .result-card a[href^="/lake/"],
main article:has(a[href^="/lake/"]) a[href^="/lake/"] {
  display: inline-flex !important;
  margin-top: 4px !important;
  padding: 0 !important;
  background: transparent !important;
  color: #006b45 !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

main .lake-card a[href^="/lake/"]:hover,
main .venue-card a[href^="/lake/"]:hover,
main .listing-card a[href^="/lake/"]:hover,
main .result-card a[href^="/lake/"]:hover,
main article:has(a[href^="/lake/"]) a[href^="/lake/"]:hover {
  color: #004f34 !important;
  text-decoration: underline !important;
}

@media (max-width: 760px) {
  main .lake-grid,
  main .venue-grid,
  main .listing-grid,
  main .results-grid,
  main .cards-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
}

/* Filter compatibility fix: allow JS-hidden cards to stay hidden */
body main .lake-grid > *[style*="display: none"],
body main .venue-grid > *[style*="display: none"],
body main .listing-grid > *[style*="display: none"],
body main .results-grid > *[style*="display: none"],
body main .cards-grid > *[style*="display: none"],
body main .lake-grid > *[style*="display:none"],
body main .venue-grid > *[style*="display:none"],
body main .listing-grid > *[style*="display:none"],
body main .results-grid > *[style*="display:none"],
body main .cards-grid > *[style*="display:none"],
body main .lake-grid > *.hidden,
body main .venue-grid > *.hidden,
body main .listing-grid > *.hidden,
body main .results-grid > *.hidden,
body main .cards-grid > *.hidden,
body main .lake-grid > *.is-hidden,
body main .venue-grid > *.is-hidden,
body main .listing-grid > *.is-hidden,
body main .results-grid > *.is-hidden,
body main .cards-grid > *.is-hidden,
body main .lake-grid > *.filtered-out,
body main .venue-grid > *.filtered-out,
body main .listing-grid > *.filtered-out,
body main .results-grid > *.filtered-out,
body main .cards-grid > *.filtered-out,
body main .lake-grid > *[hidden],
body main .venue-grid > *[hidden],
body main .listing-grid > *[hidden],
body main .results-grid > *[hidden],
body main .cards-grid > *[hidden],
body main .lake-grid > *[aria-hidden="true"],
body main .venue-grid > *[aria-hidden="true"],
body main .listing-grid > *[aria-hidden="true"],
body main .results-grid > *[aria-hidden="true"],
body main .cards-grid > *[aria-hidden="true"] {
  display: none !important;
}
