/**
 * Masonry Layout Fix for Flexible Cards
 */

/* ===== NEW STRUCTURE FIXES ===== */

/* Direct targeting of the masonry layout container with new structure */
.wildapricot-flexible-cards-block.layout-masonry.columns-2 .flexible-cards-container {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  grid-gap: 2rem !important;
  width: 100% !important;
}

/* Alternative approach using CSS columns */
.wildapricot-flexible-cards-block.layout-masonry.columns-2 .flexible-cards-container {
  column-count: 2 !important;
  column-gap: 2rem !important;
  width: 100% !important;
  margin: 0 auto !important;
}

/* Force 3 columns for masonry layout on larger screens */
.wildapricot-flexible-cards-block.layout-masonry.columns-3 .flexible-cards-container {
  column-count: 2 !important;
  column-gap: 2rem !important;
  width: 100% !important;
  margin: 0 auto !important;
}

@media (min-width: 992px) {
  .wildapricot-flexible-cards-block.layout-masonry.columns-3 .flexible-cards-container {
    column-count: 3 !important;
  }
}

/* Fix card styles */
.wildapricot-flexible-cards-block.layout-masonry .flexible-card {
  break-inside: avoid !important;
  page-break-inside: avoid !important;
  -webkit-column-break-inside: avoid !important;
  margin-bottom: 2rem !important;
  display: inline-block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: none !important;
  overflow-y: visible !important;
}

/* Direct fix for the specific HTML structure */
.flexible-cards-wrapper-full.bg-primary .wildapricot-flexible-cards-block.layout-masonry.columns-2 .flexible-cards-container {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  grid-gap: 2rem !important;
}

/* ===== OLD STRUCTURE FIXES ===== */

/* Fix for old structure - full width wrapper */
.full-width-wrapper {
  width: 100% !important;
  position: relative !important;
  overflow-x: hidden !important;
  box-sizing: border-box !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Fix for old structure - masonry layout */
.flexible-cards-block.layout-masonry.columns-2 .flexible-cards-container {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  grid-gap: 2rem !important;
  width: 100% !important;
}

/* Fix for old structure - masonry layout with 3 columns */
.flexible-cards-block.layout-masonry.columns-3 .flexible-cards-container {
  column-count: 2 !important;
  column-gap: 2rem !important;
  width: 100% !important;
  margin: 0 auto !important;
}

@media (min-width: 992px) {
  .flexible-cards-block.layout-masonry.columns-3 .flexible-cards-container {
    column-count: 3 !important;
  }
}

/* Fix for old structure - card styles */
.flexible-cards-block.layout-masonry .flexible-card {
  break-inside: avoid !important;
  page-break-inside: avoid !important;
  -webkit-column-break-inside: avoid !important;
  margin-bottom: 2rem !important;
  display: inline-block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: none !important;
  overflow-y: visible !important;
}

/* ===== COMMON FIXES ===== */

/* Hide empty paragraphs in flexible cards container */
.flexible-cards-container > p:empty,
.flexible-cards-container > p:blank,
.flexible-cards-container > p:only-child:not(:first-child),
.flexible-cards-container > p:only-child:not(:last-child),
.flexible-cards-container > p {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
  width: 0 !important;
  line-height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
}

/* Fix for card content */
.flexible-card .flexible-card-content {
  padding: 1.5rem !important;
  flex-grow: 1 !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Fix for card media */
.flexible-card .flexible-card-media {
  width: 100% !important;
  overflow: hidden !important;
  padding: 15px !important;
}

.flexible-card .flexible-card-media img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  border-radius: 24px !important;
}

/* Force grid layout for all masonry layouts */
.layout-masonry .flexible-cards-container {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  grid-gap: 2rem !important;
}

/* Fix for WordPress columns wrapper */
.wp-block-columns .wp-block-column .full-width-wrapper {
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  left: auto !important;
  right: auto !important;
  position: relative !important;
}
