.lt-video-item-link {
  display: block;
  border: 0;
  padding: 0;
  margin: 0;
  cursor: pointer;
  width: 100%;
  background-color: transparent;
  text-align: start;
  text-decoration: none;
}

.lt-video-item-link__image {
  position: relative;

  width: 100%;
  aspect-ratio: 16 / 9;

  margin: 0;
  padding: 0;

  overflow: hidden;

  border-radius: 18px;

  background: #000;

  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18);
}


/*
 * PLAY BUTTON
 */

.lt-video-item-link__image:before {
  position: absolute;

  top: 50%;
  left: 50%;

  z-index: 3;

  width: 0;
  height: 0;

  font-size: 0;

  content: "";

  border-color: transparent transparent transparent #fff;
  border-style: solid;
  border-width: 30px 0 30px 60px;

  transition: transform 0.6s ease;

  transform: translate(-50%, -50%);
}


/*
 * DARK VIDEO OVERLAY
 */

.lt-video-item-link__image:after {
  position: absolute;

  top: 0;
  right: 0;
  bottom: 0;
  left: 0;

  z-index: 2;

  content: "";

  background-color: rgba(0, 0, 0, 0.15);
}


/*
 * PLAY BUTTON HOVER
 */

.lt-video-item-link__image:active:before,
.lt-video-item-link__image:hover:before {
  transform: translate(-50%, -50%) scale(1.1);
}


/*
 * ============================================================
 * YOUTUBE / VIMEO / WISTIA THUMBNAIL
 * ============================================================
 *
 * Lotus receives YouTube thumbnail images that may be 4:3 even
 * though the video itself is 16:9.
 *
 * The original Lotus code only applied width: 100%, which caused
 * the 4:3 image to begin at the top of the 16:9 container.
 *
 * Result:
 *
 * - black letterbox remained across the top
 * - image was shifted downward visually
 * - bottom of thumbnail was chopped off
 *
 * Force the thumbnail to completely fill the 16:9 frame and
 * center-crop any excess vertical image area.
 * ============================================================
 */

.lt-video-item-link__image img {
  position: absolute;

  top: 0;
  left: 0;

  display: block;

  width: 100%;
  height: 100%;

  max-width: none;

  margin: 0;
  padding: 0;

  object-fit: cover;
  object-position: center center;

  border: 0;
}


/*
 * VIDEO TITLE
 */

.lt-video-item-link__title {
  display: block;

  width: 100%;

  margin-top: 16px;

  text-align: start;
}


/*
 * ============================================================
 * VIDEO MODAL
 * ============================================================
 */

.lt-modal {
  width: 100%;
  max-width: 980px;

  border: 0;

  padding: 0;

  background-color: transparent;
}


.lt-modal__ratio {
  position: relative;

  width: 100%;

  overflow: hidden;

  border-radius: 18px;

  background: #000;

  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18);
}


.lt-modal__ratio::before {
  display: block;

  padding-top: 56.25%;

  content: "";
}


.lt-modal__ratio > * {
  position: absolute;

  top: 0;
  left: 0;

  width: 100%;
  height: 100%;
}


.lt-modal iframe {
  display: block;

  width: 100%;
  height: 100%;

  margin: 0;
  padding: 0;

  border: 0;
}


/*
 * MODAL CONTROLS
 */

.lt-modal__actions {
  display: flex;

  justify-content: flex-end;
}


.lt-modal__close {
  display: block;

  padding: 0;

  color: #fff;

  cursor: pointer;

  background: 0 0;

  border: 0;

  box-shadow: none;

  touch-action: manipulation;

  font-size: 2rem;

  -webkit-appearance: none;
}


.lt-modal__icon line {
  stroke: #fff;

  stroke-width: 2px;
}


.lt-modal::backdrop {
  background: rgb(0 0 0 / 0.7);
}