.features {
  display: grid;
  position: relative;
}

.features__container {
  align-items: start;
  display: flex;
  gap: var(--space-medium);
  margin-bottom: calc(-1 * var(--space-medium));
  margin-top: calc(-1 * var(--space-medium));
  overflow-x: scroll;
  overscroll-behavior-x: contain;
  padding: var(--space-medium);
  user-select: none;
  -ms-user-select: none;
  -webkit-user-select: none;
  white-space: nowrap;
}

.features__container::-webkit-scrollbar {
  height: 0;
}

.features__item {
  align-content: start;
  display: grid;
  min-width: calc(100vw - var(--space-medium) * 3);
}

.features__item.modal-trigger {
  text-decoration: none;
}

.features__item figure {
  border-radius: 0.2em;
  display: grid;
  place-items: center;
  position: relative;
  user-select: none;
  -ms-user-select: none;
  -webkit-user-select: none;
}

.features__item figure img {
  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)
  ;
  overflow: hidden;
}

.features__item figure span {
  background: var(--color-yellow);
  color: var(--color-black);
  font-family: 'Sharpie', Sans-Serif;
  font-size: var(--font-size-xx-small);
  font-variant-ligatures: none;
  font-weight: 400;
  left: 0;
  letter-spacing: 0.04em;
  line-height: 1;
  padding: 0.3em 0.5em 0.4em 0.5em;
  position: absolute;
  text-align: center;
  text-transform: uppercase;
  top: 0;
  transform: rotate(-2deg) translate(-0.7625em, -0.875em);
  white-space: nowrap;
}

.features__item figure:before {
  background: url('/assets/images/general/icon-play.svg') center center/0.8em auto no-repeat var(--color-black);
  border-radius: 100%;
  content: '';
  height: 1.8em;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  transform: scale(0.85);
  width: 1.8em;
  will-change: transform;
  z-index: 1;
}

.features__controls {
  bottom: calc(100% + var(--space-neutral));
  right: var(--space-neutral);
}



@media(hover: hover) {

  .features__item figure {
    outline: 0.1em solid transparent;
    outline-offset: 0.24em;
    transition:
      outline-color var(--transition-slow),
      outline-offset var(--transition-slow)
    ;
  }

  .features__item figure:before {
    transition:
      opacity var(--transition-slow),
      transform var(--transition-slow)
    ;
  }

  .features__item:focus figure,
  .features__item:hover figure {
    outline-color: var(--color-black);
    outline-offset: 0.12em;
  }

  .features__item:focus figure:before,
  .features__item:hover figure:before {
    opacity: 1;
    transform: scale(1);
  }

}



@media(min-width: 48em) {

  .features__item {
    min-width: 20em;
  }

}



@media(min-width: 64em) {

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

  .features__item {
    min-width: 15em;
  }

}
