/* =============================
================================
		CARD STYLES
================================
============================== */

.card-wrapper {
  color: var(--white);
  text-align: left;
  padding-inline: 4.3vw;
  margin-inline: 0;

  & article:first-of-type {
    margin-top: 0.1em;
  }

  hr.card-divider {
    height: 0.5px;
    border-color: var(--white);
    border-inline: none;
    border-bottom: none;
    opacity: 0.25;

    &:last-of-type {
      display: none;
    }
  }
}

/* TODO: convert to grid using media objects guidelines
  https://developer.mozilla.org/en-US/docs/Web/CSS/How_to/Layout_cookbook/Media_objects */
article.movie-card {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 0.95em;
  padding-block: 0.65rem;
  margin-block: 1.2rem;
}

div.movie-details {
  flex: 1 1;
  display: flex;
  flex-direction: column;
  font-size: clamp(0.8rem, 0.78rem + 0.5vw, 1rem);
  margin-top: 0.1em;

  > .title-watchlist {
    display: flex;
    justify-content: space-between;
    gap: 0.85em;
    align-items: center;
  }

  & h2 {
    font-size: clamp(1rem, 0.62rem + 1.5vw, 1.15rem);
    font-weight: 500;
    text-wrap: wrap;
  }

  & .runtime-year-genre-rating {
    display: flex;
    gap: 0.05em;
    justify-content: space-between;
    margin-top: 0.4em;

    > .runtime-year-genre {
      display: flex;
      gap: 0.14em;
      flex-direction: column;
      flex: 1 1;

      > p:first-of-type {
        font-size: 0.92em;
      }

      > p:last-of-type {
        font-size: 0.85em;
      }
    }

    > #rating {
      align-self: center;
      font-size: 0.9em;
      font-weight: 350;
    }
  }

  & p.plot,
  & p.year {
    flex: 4 1;
    margin-top: 0.7em;
    font-size: 0.95em;
    line-height: 1.45;
  }

  & p.year {
    margin-top: 0;
  }
}

.more-details {
  margin-top: 0.2em;

  > .details-summary,
  .less-details {
    list-style: none;
    font-size: 0.95em;
    color: var(--ice-blue-links);
    margin-top: 0.2em;

    &:hover {
      font-style: italic;
    }
  }

  > div.details-div {
    font-size: 1em;

    .less-details {
      background-color: #00000000;
      border-width: 0;
      padding-left: 0;
      margin-top: 0.5em;
    }

    .no-details-error {
      color: hsl(349, 87%, 75%) !important;
      font-size: 0.925em;
      margin-top: 0.75em;
    }
  }
}

article.movie-card.fuzzy-results {
  gap: 0.65em;

}

/* =============================
		ICONS & IMAGES
	============================== */

.thumbnail {
  width: min(120px, 25%);
  font-size: .8rem;
  object-fit: contain;
  margin-top: 0.3rem;
  background: var(--medium-gray);
}

.fa-circle-plus,
.fa-circle-check {
  font-size: 1.45em;

  &:hover {
    transform: scale(1.12);
  }
}

.fuzzy-details .fa-circle-plus,
.fuzzy-details .fa-circle-check {
  font-size: 1.6em;
}

.fa-circle-check {
  color: var(--light-ice-blue);
  /* padding-top: 0.28em; */
}

.fa-star {
  font-size: .8em;
  margin-right: 0.3em;
  color: var(--yellow);
}

/* =============================
		MEDIA QUERIES
	============================== */

@media (width > 580px) {
  article.movie-card {
    gap: 1.3em;
  }

  article.movie-card.fuzzy-results {
    gap: 1.05em;
  }
}