/* Equal card layout */
.game-card-equal {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

/* Fixed image height */
.game-card-img {
  height: 180px;
  width: 100%;
  object-fit: cover;
}

/* Clamp game description (top text) */
.game-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: clamp(20px, 1.667vw, 64px);
  border-radius: clamp(10px, 1.042vw, 32px);
  background: linear-gradient(180deg, #07080d 0%, #1d1f2c 100%);
  border: 1px solid #45474f;
}

/* Fixed visual height across 100%, 125%, 150% */
.game-card-desc {
  min-height: clamp(260px, 12vw, 280px);
  max-height: clamp(260px, 12vw, 280px);

  overflow: hidden;

  display: -webkit-box;
  -webkit-line-clamp: 8;
  -webkit-box-orient: vertical;

  line-height: 1.5;
}

/* How card */
.game-card-how {
  min-height: clamp(250px, 10vw, 280px);
  max-height: clamp(250px, 10vw, 280px);

  overflow: hidden;

  display: -webkit-box;
  -webkit-line-clamp: 7;
  -webkit-box-orient: vertical;

  line-height: 1.5;
}

/* Button always same position */
.view-more-btn {
  margin-top: auto;
  flex-shrink: 0;
  cursor: pointer;
  transition: transform 0.2s ease;
}

/* 1368 and below */
@media (max-width: 1368px) {
  .game-card-desc {
    height: 220px;
    min-height: 220px;
    max-height: 220px;
    -webkit-line-clamp: 10;
    line-height: 1.4;
  }

  .game-card-how {
    height: 220px;
    min-height: 220px;
    max-height: 220px;
    -webkit-line-clamp: 9;
    line-height: 1.4;
  }
}

/* Tablet */
@media (max-width: 768px) {
  .game-card-desc,
  .game-card-how {
    height: calc(1.45em * 10);
    min-height: calc(1.45em * 10);
    max-height: calc(1.45em * 10);
    -webkit-line-clamp: 10;
    font-size: 14px;
    line-height: 1.45;
  }
}


/* Mobile */
@media (max-width: 490px) {
  .game-card-desc,
  .game-card-how {
    height: auto;
    min-height: calc(1.5em * 6);
    max-height: none;

    font-size: 14px;
    line-height: 1.5;

    -webkit-line-clamp: unset;
    overflow: visible;
    display: block;
  }

  .game-card-img {
    height: 150px;
  }

  .game-card {
    padding: 16px;
  }
}

/* 1600x900 / 150% scale */
@media (min-width: 1369px) and (max-width: 1600px) {
  .game-card-desc {
    height: 300px;
    min-height: 300px;
    max-height: 300px;
    -webkit-line-clamp: 9;
    line-height: 1.45;
  }

  .game-card-how {
    height: 285px;
    min-height: 285px;
    max-height: 285px;
    -webkit-line-clamp: 8;
    line-height: 1.45;
  }
}
/* 1366x768 laptops + 125%/150% browser scaling */
@media (min-width: 1024px) and (max-width: 1368px) {
  .game-card-desc {
    height: 320px;
    min-height: 320px;
    max-height: 320px;

    -webkit-line-clamp: 12;
    line-height: 1.45;

    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
  }

  .game-card-how {
    height: 300px;
    min-height: 300px;
    max-height: 300px;

    -webkit-line-clamp: 11;
    line-height: 1.45;

    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
  }

  /* Reduce image slightly to balance overall card height */
  .game-card-img {
    height: 150px;
  }

  /* Slightly compact padding */
  .game-card {
    padding: 18px;
  }
}
/* 1920x1200 and large desktop scaling */
@media (min-width: 1900px) {
  .game-card-desc {
    height: 340px;
    min-height: 340px;
    max-height: 340px;

    -webkit-line-clamp: 12;
    line-height: 1.5;

    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
  }

  .game-card-how {
    height: 320px;
    min-height: 320px;
    max-height: 320px;

    -webkit-line-clamp: 11;
    line-height: 1.5;

    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
  }
}

/* Push button to bottom */
.game-card-btn {
  margin-top: auto;
}

.view-more-btn:hover {
  transform: scale(1.05);
}