/* Biome Grid Layout Component */
.biome-grid {
  width: 100%;
}

.biome-grid-container {
  display: grid;
  grid-template-columns: 1fr 0.5fr 0.5fr;
  gap: 1.5rem;
  height: 32rem; /* Fixed height for consistent layout */
}

.biome-grid-master {
  grid-row: 1 / -1; /* Spans full height */
}

.biome-grid-column {
  display: grid;
  grid-template-rows: 1fr 1fr;
  gap: 1.5rem;
}

.biome-grid-item {
  min-height: 0; /* Allow flex items to shrink */
}

/* Card Variants */
.biome-card-master {
  min-height: 100%;
  border-radius: 1.5rem;
}

.biome-card-small {
  min-height: 100%;
  border-radius: 1.25rem;
}

/* Responsive Design */
@media (max-width: 991.98px) {
  .biome-grid-container {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    height: auto;
    gap: 1.25rem;
  }

  .biome-grid-master {
    grid-row: auto;
  }

  .biome-grid-column {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
    gap: 1.25rem;
  }

  .biome-card-master {
    min-height: 20rem;
  }

  .biome-card-small {
    min-height: 16rem;
  }
}

@media (max-width: 575.98px) {
  .biome-grid-container {
    gap: 1rem;
  }

  .biome-grid-column {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .biome-card-master {
    min-height: 18rem;
  }

  .biome-card-small {
    min-height: 14rem;
  }
}

/* Typography adjustments for grid layout */
.biome-card-master .biome-title {
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  line-height: 1.2;
}

.biome-card-small .biome-title {
  font-size: clamp(1.1rem, 2.5vw, 1.25rem);
  line-height: 1.3;
}

.biome-card-master .biome-count,
.biome-card-small .biome-count {
  font-size: 0.75rem;
  letter-spacing: 0.5px;
}
