.watch {
  display: flex;
  padding-left: var(--space-medium);
  padding-right: var(--space-medium);
  position: relative;
  z-index: 1;
}

.watch__cards {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-neutral);
  justify-content: center;
  margin-inline: auto;
  width: min(100%, 40em);
}

.watch__card {
  overflow: hidden;
  width: min(100%, 16em);
}

.watch__button,
.watch__label {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.watch__button {
  cursor: pointer;
  z-index: 1;
}

.watch__figure {
  position: relative;
}

.watch__figure:before {
  background: linear-gradient(
    135deg,
    var(--color-blurple) 0,
    var(--color-salmon) 100%
  );
  bottom: 0;
  content: '';
  left: 0;
  opacity: 0.85;
  position: absolute;
  right: 0;
  top: 0;
}

.watch__label {
  align-items: center;
  display: flex;
  justify-content: center;
}

.watch__label div {
  align-items: center;
  background: url(/assets/images/general/play.svg) 0.85em center / 0.5em 0.5em no-repeat var(--color-white);
  border-radius: 1.7em;
  box-shadow:
    0 0.2em 0.4em -0.2em rgba(var(--rgb-black), 0.2),
    0 0.4em 0.8em -0.4em rgba(var(--rgb-black), 0.4),
    0 0.6em 1.2em -0.6em rgba(var(--rgb-black), 0.6)
  ;
  display: flex;
  height: 1.7em;
}

.watch__label div span {
  font-size: var(--font-size-xx-small);
  font-weight: 500;
  letter-spacing: -0.0125em;
  margin-bottom: -0.1em;
  padding-left: 2.5em;
  padding-right: 1.3em;
}

@media(hover: hover) {

  .watch__button:focus,
  .watch__button:hover {
    & ~ .watch__figure:before {
      opacity: 0.8;
    }

    & ~ .watch__label div {
      box-shadow:
        0 0.3em 0.4em -0.2em rgba(var(--rgb-black), 0.3),
        0 0.5em 0.8em -0.4em rgba(var(--rgb-black), 0.4),
        0 0.7em 1.2em -0.6em rgba(var(--rgb-black), 0.5)
      ;
      transform: scale(1.02);
    }
  }

  .watch__figure:before {
    transition: opacity var(--transition-slow);
  }

  .watch__label div {
    transition:
      box-shadow var(--transition),
      transform var(--transition)
    ;
    will-change: transform;
  }

}

@media(min-width: 64em) {

  .watch {
    padding-left: var(--space-neutral);
    padding-right: var(--space-neutral);
  }

  .watch__card {
    width: min(100%, 12em);
  }

}
