:root {
  --game-preview-img: 40vw;
}
#game-preview {
  padding: 2vw 5%;
  display: grid;
  grid-template-columns: var(--game-preview-img) auto;
  gap: 2vw;
}
#game-preview .btn {
  margin-top: 2vw;
}
/* portrait-friendly main image (overrides the landscape castle gallery box) */
#gallery-img-container {
  height: calc(var(--game-preview-img) * 1.33);
  width: var(--game-preview-img);
  object-fit: cover;
}
#game-info {
  height: calc(var(--game-preview-img) * 1.33);
  background: var(--theme-gradient);
  border-radius: var(--preview-border-radius);
  overflow: hidden;
  color: white;
  display: flex;
  flex-direction: column;
}
#game-info h2 {
  padding-top: 2vw;
  font-size: 2.6vw;
  font-weight: 600;
  color: white;
}
#game-info h3 {
  font-size: 1.8vw;
  font-weight: 400;
  text-align: center;
  color: white;
  padding-bottom: 1.5vw;
}
#game-description {
  background-color: hsla(0, 0%, 0%, 0.35);
  border-top: 2px solid white;
  flex: 1;
  padding: 2vw;
  font-size: 1.3vw;
  line-height: 1.6;
  text-align: left;
  overflow-y: auto;
}

@media only screen and (max-width: 980px) {
  :root {
    --game-preview-img: 90vw;
  }
  #game-preview {
    grid-template-columns: 1fr;
    gap: 5vw;
    padding: 2vw 0;
  }
  #gallery-img-container {
    width: 100%;
    height: calc(90vw * 1.1);
  }
  #game-info {
    height: auto;
    border-radius: unset;
  }
  #game-info h2 {
    padding-top: 3vw;
    font-size: 7vw;
  }
  #game-info h3 {
    font-size: 4vw;
    padding-bottom: 3vw;
  }
  #game-description {
    font-size: 4vw;
    padding: 5vw;
  }
  #game-preview .btn {
    margin-top: 9vw;
  }
}
