@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&display=swap');

:root {
  /* COLORS */

  --white: #fff;
  --black: #000;

  /* Blue */
  --blue-950: #0d192c;
  --blue-900: #15263f;
  --blue-800: #2e405a;
  --blue-500: #8bacd9;

  /* Cyan */
  --cyan-400: #00fff8;

  /* SPACING */
  --spacing-0: 0rem;
  --spacing-100: 0.8rem;
  --spacing-200: 1.6rem;
  --spacing-300: 2.4rem;
}

html {
  font-size: 10px;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  width: 100dvw;
  height: 100dvh;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: var(--blue-950);
}

.card {
  background-color: var(--blue-900);
  width: 35rem;
  height: 59.6rem;
  padding: var(--spacing-300);
  border-radius: 1.5rem;
  box-shadow: 0px 25px 50px rgba(0, 0, 0, 0.0953);
}

.card-content {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-300);
  width: 30.2rem;
  height: 54.8rem;
}

.card-content .image-equilibrium {
  border-radius: var(--spacing-100);
}

.card-details {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-300);
}

.text-container {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-300);
}

.title-and-description {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-200);
}

.title-and-description h1 {
  font-family: "Outfit", sans-serif;
  font-weight: 600;
  color: var(--white);
  font-size: 2.2rem;
  line-height: 125%;
  letter-spacing: 0px
}

.title-and-description h2 {
  font-family: "Outfit", sans-serif;
  font-weight: 300;
  color: var(--blue-500);
  font-size: 1.8rem;
  line-height: 145%;
  letter-spacing: 0px;
}

.info-container {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}

.price-info {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: var(--spacing-100);
}

.price-info p {
  font-family: "Outfit", sans-serif;
  font-weight: 600;
  font-size: 1.6rem;
  color: var(--cyan-400);
  line-height: 125%;
  letter-spacing: 0px;
}

.time-info {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: var(--spacing-100);
}

.time-info p {
  font-family: "Outfit", sans-serif;
  font-weight: 400;
  font-size: 1.6rem;
  color: var(--blue-500);
  line-height: 125%;
  letter-spacing: 0px;
}

.divisor {
  background-color: var(--blue-800);
  height: 0.1rem;
}

.creator-info {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: var(--spacing-200);
}

.creator-info img {
  border: 1px solid var(--white);
  border-radius: 99px;
}

.creator-text {
  display: flex;
  flex-direction: row;
  gap: var(--spacing-100);
}

.creator-text .text-1 {
  font-family: "Outfit", sans-serif;
  font-weight: 300;
  font-size: 1.6rem;
  color: var(--blue-500);
  line-height: 125%;
  letter-spacing: 0px;
}

.creator-text .text-2 {
  font-family: "Outfit", sans-serif;
  font-weight: 300;
  font-size: 1.6rem;
  color: var(--white);
  line-height: 125%;
  letter-spacing: 0px;
}

.overlay {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 30.2rem;
  cursor: pointer;
}

.view {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  visibility: hidden;
  z-index: 1;
}

.overlay:hover .view {
  visibility: visible;
}

.overlay:hover .bg {
  position: absolute;
  left: 0;
  top: 0;
  background-color: var(--cyan-400);
  opacity: 50%;
  height: 30.2rem;
  width: 30.2rem;
  z-index: 1;
  border-radius: var(--spacing-100);
}

.card-content:has(.overlay:hover) .title-and-description h1 {
  color: var(--cyan-400);
}

.card-content:has(.overlay:hover) .creator-text .text-2 {
  color: var(--cyan-400);
}