.video {
  display: grid;
  margin-left: var(--space-medium);
  margin-right: var(--space-medium);
  position: relative;
}

.video__container {
  border-radius: 0.2em;
  box-shadow:
    0 0 0 1px rgba(var(--rgb-black), 0.1),
    0 0 0.1em 0.02em rgba(var(--rgb-black), 0.05)
  ;
  display: grid;
  margin-inline: auto;
  overflow: hidden;
  position: relative;
  width: min(100%, 35em);
}

.video button {
  cursor: pointer;
  display: grid;
  inset: 0;
  place-items: center;
  position: absolute;
}

.video button:before,
.video button:after {
  content: '';
  pointer-events: none;
  position: absolute;
}

.video button:before {
  background: linear-gradient(180deg, rgba(var(--rgb-black), 0.6) 0, rgba(var(--rgb-black), 0.15) 80%);
  display: none;
  inset: 0;
  transition: opacity var(--transition-slow);
}

.video button:after {
  background: url('/assets/images/general/icon-video.svg') center center/0.8em auto no-repeat var(--color-white);
  border-radius: 100%;
  box-shadow:
    0 0.2em 0.8em -0.4em rgba(var(--rgb-black), 0.05),
    0 0.3em 0.9em -0.5em rgba(var(--rgb-black), 0.15),
    0 0.4em 1em -0.6em rgba(var(--rgb-black), 0.25),
    0 0.5em 1.1em -0.7em rgba(var(--rgb-black), 0.35),
    0 0.6em 1.2em -0.8em rgba(var(--rgb-black), 0.45)
  ;
  height: 2.2em;
  width: 2.2em;
}



.video--full-width {
  margin-left: 0;
  margin-right: 0;
}

.video--full-width .video__container {
  margin-inline: initial;
  width: 100%;
}

.video--overlay button:before {
  display: block;
}

.video--playing button {
  display: none;
}



@media(hover: hover) {

  .video button:before {
    transition: opacity var(--transition);
  }

  .video button:after {
    transition: transform var(--transition);
    will-change: transform;
  }

  .video button:hover:before {
    opacity: 0.9;
  }

  .video button:hover:after {
    transform: scale(1.03);
  }

}



@media(min-width: 64em) {

  .video {
    margin-left: var(--space-neutral);
    margin-right: var(--space-neutral);
  }

  .video--full-width {
    margin-left: 0;
    margin-right: 0;
  }

}
