.card {
    --tpi-card-border-color: transparent;
    --tpi-card-spacer-y: 1.5rem;
    --tpi-card-spacer-x: 1.5rem;
    --tpi-card-cap-padding-y: 1.5rem;
    --tpi-card-cap-padding-x: 1.5rem;
    --tpi-card-cap-bg: var(--tpi-body-bg);
}


.card{
  &.card-video-feature {
    --aspect-ratio: 16 / 9;
    background-color:transparent;
    position: relative;
    aspect-ratio: var(--aspect-ratio);
    overflow: hidden;
    box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 4px 4px 0 rgba(0, 0, 0, .14), 0 1px 3px 2px rgba(0, 0, 0, .12);
    border-radius: 16px;
    border:none;
    & img.card-bg-image {
      height: 100%;
      width: 100%;
      position: absolute;
      object-fit: cover;
      transform: scale(1);
      transition: transform .6s, -webkit-transform .6s;
    }
    &:before {
      content: ' ';
      width: 100%;
      height: 100%;
      position: absolute;
      z-index: 1;
      background-color: rgba(0, 0, 0, 0);
      transition: background-color linear 0.25s;
    }
    &:hover img {
      transform: scale(1.05);
    }
    &:hover:before {
      background-color: rgba(0, 0, 0, 0.25);
    }
  }
}

.btn-icon {
    --tpi-btn-size: 60px;
    width: var(--tpi-btn-size);
    height: var(--tpi-btn-size);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    border-radius: 50%;
    border-color: transparent;
    background: rgba(0,0,0,.8);
    box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 4px 4px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 2px rgba(0, 0, 0, 0.12);
}
    .btn-icon:focus {
        outline-offset: 2px;
        outline: 5px auto rgba(0, 0, 0, 0.2);
    }


dialog::backdrop {
    background: rgba(0, 0, 0, 0.8);
}
dialog.video-dialog {
  border-radius: 1rem;
  padding: 1.5rem;
  background: #000;
  min-width: clamp(300px, 94%, 1200px);

    & header {
        position: relative;
        display: flex;
        justify-content: space-between;
        padding: 0 0 .5rem;
        color: rgba(255, 255, 255, 0.8);
        margin-bottom: .5rem;
    }
    & .overlay-close {
        border: 2px solid #9ba1a8;
    }
}

dialog {
  --duration: .3s;
  /* Exit Stage To */
  transform: translateY(-20px);

  &,
  &::backdrop {
    transition:
      display var(--duration) allow-discrete,
      overlay var(--duration) allow-discrete,
      opacity var(--duration) ease,
      transform var(--duration) ease;

    /* Exit Stage To */
    opacity: 0;
    /*transform: translateY(20px);*/
  }

  /* On Stage */
  &[open] {
    opacity: 1;
    transform: translateY(0px);

    &::backdrop {
      opacity: 1;
      transform: translateY(0px);
    }
  }

  html:has(&[open]) {
    overflow: hidden;
    scrollbar-gutter: stable;
  }

  /* Enter Stage From */
  @starting-style {
    &[open],
    &[open]::backdrop {
      opacity: 0;
    }

    &[open] {
      transform: translateY(10px);
    }
  }

  &::backdrop {
    background: rgba(0, 0, 0, 0.9);
  }
}
