.card { position: relative; display: flex; flex-direction: column; border-radius: 10px; background: var(--color-primary); aspect-ratio: 2 / 3; width: 280px; max-height: 380px; padding: 10px; } .card-title-long { font-size: 20px !important; } .card .card-content { flex-basis: 0.0001%; } .card .card-image { flex-basis: 99.9999%; } .card:hover .card-content { flex-basis: 60%; padding-top: 10px; } .card:hover .card-image { flex-basis: 40%; } .card-content { overflow: hidden; display: flex; flex-direction: column; gap: 10px; justify-content: space-between; transition: flex-basis 250ms ease-out; } .card-image { transition: flex-basis 250ms ease-out; flex-grow: 1; flex-basis: 100%; object-fit: cover; display: flex; overflow: hidden; border-radius: 8px; }