.media-copy {
  padding-bottom: 10px
}

.media-card-footer {
  padding: 0 22px 16px;
  margin-top: auto
}

.media-card-footer .text-link {
  color: var(--violet);
  border-color: var(--violet);
  font-size: 11px;
  margin: 0;
  min-height: 44px;
  display: inline-flex;
  align-items: center
}

.media-card-footer a:focus-visible {
  outline: 3px solid var(--violet);
  outline-offset: 3px
}

/* Link no rodapé do vídeo, sobre a imagem; área de toque separada. */
.media-preview {
  cursor: default
}

.media-play-area {
  position: absolute;
  inset: 0;
  display: block;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  width: 100%;
  height: 100%
}

.media-play-area:focus-visible {
  outline: 3px solid var(--cream);
  outline-offset: -5px
}

.media-preview .media-card-footer {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 2;
  margin: 0;
  padding: 0 14px;
  background: #39214fdd;
  display: flex;
  justify-content: flex-end
}

.media-preview .media-card-footer .text-link {
  color: var(--cream);
  border: 0;
  font-size: 10px;
  min-height: 34px;
  padding: 4px 0
}

.media-preview .media-card-footer a:focus-visible {
  outline-color: var(--cream)
}

.media-copy {
  padding-bottom: 20px
}

/* A televisão abre dentro da página e usa a identidade aprovada. */
.tv-dialog {
  width: min(930px, calc(100% - 32px));
  padding: 24px;
  background: var(--cream);
  border: 1px solid var(--brand-blue);
  border-radius: 28px;
  max-height: calc(100dvh - 32px);
  overflow: auto
}

.tv-dialog .dialog-top {
  color: var(--violet)
}

.tv-dialog h2 {
  color: var(--violet);
  font-size: clamp(20px, 3vw, 28px);
  margin: 10px 0 20px
}

.tv-set {
  background: var(--violet);
  padding: 16px 16px 0;
  border-radius: 24px;
  box-shadow: 0 8px 0 var(--brand-blue);
  border: 2px solid var(--violet)
}

.tv-set .video-player {
  background: #141019;
  border-radius: 12px;
  aspect-ratio: 16/9;
  width: 100%
}

.tv-chin {
  height: 43px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--cream);
  font-family: var(--display);
  font-size: 13px;
  padding: 0 10px
}

.tv-led {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--brand-green)
}

.tv-speaker {
  width: 40px;
  height: 13px;
  background: repeating-linear-gradient(90deg, transparent 0 3px, #fff6e750 3px 4px)
}

.tv-bottom {
  display: flex;
  gap: 20px;
  justify-content: space-between;
  align-items: center;
  margin-top: 24px;
  color: var(--violet)
}

.tv-bottom .form-note {
  margin: 0;
  font-size: 11px;
  flex: 1
}

.tv-bottom .text-link {
  white-space: nowrap;
  font-size: 12px
}
