.deferred-media__poster {
  background-color: transparent;
  border: none;
  cursor: pointer;
  margin: 0;
  padding: 0;
  height: 100%;
  width: 100%;
  overflow: hidden;
  border-radius: calc(var(--border-radius) - var(--border-width));
}

.media > .deferred-media__poster {
  display: flex;
  align-items: center;
  justify-content: center;
}

.deferred-media__poster .placeholder,
.deferred-media__poster img {
  width: auto;
  max-width: 100%;
  height: 100%;
  z-index: 1;
  transition: opacity 0.2s, visibility 0.2s;
}

.deferred-media__poster-button--standard {
  z-index: 1;
  transition: opacity 0.3s, visibility 0.3s;
}

.deferred-media {
  overflow: hidden;
}

.deferred-media:not([loaded]) template {
  z-index: -1;
}

.deferred-media[data-state='loaded'] > .deferred-media__poster img,
.deferred-media[data-state='loaded'] > .deferred-media__poster .placeholder,
.deferred-media[data-state='loaded'] .deferred-media__poster-button--standard,
.deferred-media[data-state='loaded']:not([data-state="ended"]) .deferred-media__poster-button--standard,

.deferred-media__poster-button--active > .deferred-media__poster img,
.deferred-media__poster-button--active > .deferred-media__poster .placeholder,
.deferred-media__poster-button--active .deferred-media__poster-button--standard {
  opacity: 0;
  visibility: hidden;
}

media-gallery .deferred-media[loaded] > .deferred-media__poster {
  display: none;
}

.tab-active .deferred-media__poster:focus,
.tab-active .deferred-media__poster:focus-visible {
  outline: none;
  box-shadow: 0 0 0 var(--media-border-width) rgba(var(--color-foreground), var(--media-border-opacity)),
    0 0 0 calc(var(--media-border-width) + 0.3rem) rgb(var(--color-background)),
    0 0 0 calc(var(--media-border-width) + 0.5rem) rgba(var(--color-foreground), 0.5);
  border-radius: calc(var(--media-radius) - var(--media-border-width));
}

.global-media-settings--full-width .deferred-media__poster,
.global-media-settings--full-width .deferred-media__poster:is(:focus, :focus-visible) {
  border-radius: 0;
}

/* outline styling for Windows High Contrast Mode */
@media (forced-colors: active) {
  .deferred-media__poster:focus {
    outline: transparent solid 1px;
  }
}
.deferred-media__poster:focus:not(:focus-visible) {
  outline: 0;
  box-shadow: none;
}

.deferred-media__poster-button {
  --button-edge-proximity: 1.4rem;
  height: 32px;
  width: 32px;
  position: absolute;
  z-index: 1;
}

.deferred-media__poster-button .icon {
  width: 1.4rem;
  height: 1.4rem;
}

@media only screen and (min-width: 750px) {
  .deferred-media__poster-button {
    --button-edge-proximity: 2.4rem;
    height: 5.4rem;
    width: 5.4rem;
  }

  full-width-animate .deferred-media__poster-button {
    --button-edge-proximity: 6.4rem;
  }

  .deferred-media__poster-button .icon {
    width: 2rem;
    height: 2rem;
  }
}

.deferred-media__poster-button--center {
  inset-inline-start: 50%;
  top: 50%;
  transform: translate(calc(-50% * var(--direction-multiplier)), -50%);
}

.deferred-media__poster-button--bottom_right {
  inset-inline-end: var(--button-edge-proximity);
  bottom: var(--button-edge-proximity);
}

.deferred-media__poster-button--bottom_left {
  inset-inline-start: var(--button-edge-proximity);
  bottom: var(--button-edge-proximity);
}

.deferred-media__poster-button .icon-play {
  margin-inline-start: calc(0.2rem * var(--direction-multiplier));
}

.deferred-media__poster-button .icon-pause { display: none; }
.deferred-media__poster-button .icon-refresh { display: none; }
.deferred-media__poster-button[data-state='playing'] .icon-play  { display: none; }
.deferred-media__poster-button[data-state='playing'] .icon-pause { display: block; }
.deferred-media__poster-button[data-state='ended'] .icon-play  { display: none; }
.deferred-media__poster-button[data-state='ended'] .icon-refresh { display: block; }