/*
Copyright 2022-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE in the repository root for full details.
*/

.tile {
  --media-view-border-radius: var(--cpd-space-4x);
  --hover-space-margin: var(--cpd-space-1x);
  transition: outline-color ease 0.15s;
  outline: var(--cpd-border-width-2) solid rgb(0 0 0 / 0);
}

/* Use a pseudo-element to create the expressive speaking border, since CSS
borders don't support gradients */
.tile::before {
  content: "";
  position: absolute;
  z-index: -1; /* Put it below the outline */
  opacity: 0; /* Hidden unless speaking */
  transition: opacity ease 0.15s;
  inset: calc(-1 * var(--cpd-border-width-4));
  border-radius: var(--cpd-space-5x);
  background-blend-mode: overlay, normal;
}

.tile.speaking {
  /* !important because speaking border should take priority over hover */
  outline: var(--cpd-border-width-1) solid var(--cpd-color-bg-canvas-default) !important;
}

.tile.speaking::before {
  background:
    linear-gradient(
      119deg,
      rgba(13, 92, 189, 0.7) 0%,
      rgba(13, 189, 168, 0.7) 100%
    ),
    linear-gradient(
      180deg,
      rgba(13, 92, 189, 0.9) 0%,
      rgba(13, 189, 168, 0.9) 100%
    );
  opacity: 1;
}

.tile.handRaised {
  /* !important because hand raised border should take priority over hover */
  outline: var(--cpd-border-width-2) solid var(--cpd-color-bg-canvas-default) !important;
}

.tile.handRaised::before {
  background:
    linear-gradient(
      119deg,
      var(--cpd-color-yellow-1200) 0%,
      var(--cpd-color-yellow-900) 100%
    ),
    linear-gradient(
      180deg,
      var(--cpd-color-yellow-1200) 0%,
      var(--cpd-color-yellow-900) 100%
    );
  opacity: 1;
}

@media (hover: hover) {
  .tile:hover {
    outline: var(--cpd-border-width-2) solid
      var(--cpd-color-border-interactive-hovered);
  }
}

.muteIcon[data-muted="true"] {
  color: var(--cpd-color-icon-secondary);
}

.muteIcon[data-muted="false"] {
  color: var(--cpd-color-icon-primary);
}

.volumeSlider {
  width: 100%;
}

.tile .switchCamera {
  opacity: 1;
  background: var(--cpd-color-bg-action-secondary-rest);
  border: 1px solid var(--cpd-color-border-interactive-secondary);
}

.tile .switchCamera > svg {
  color: var(--cpd-color-icon-primary);
}

@media (hover) {
  .tile .switchCamera:hover {
    background: var(--cpd-color-bg-subtle-secondary);
    border-color: var(--cpd-color-border-interactive-hovered);
  }
}

.tile .switchCamera:active {
  background: var(--cpd-color-bg-subtle-primary);
  border-color: var(--cpd-color-border-interactive-hovered);
}
