/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

.codeBlockContainer {
  margin-bottom: var(--ifm-leading);
  border-radius: var(--ifm-global-radius);
  box-shadow: var(--ifm-global-shadow-lw);
}

.codeBlockContent {
  position: relative;
  /* rtl:ignore */
  direction: ltr;
}

.codeBlockTitle {
  border-bottom: 1px solid var(--ifm-color-emphasis-300);
  font-size: var(--ifm-code-font-size);
  font-weight: 500;
  padding: 0.75rem var(--ifm-pre-padding);
  border-top-left-radius: var(--ifm-global-radius);
  border-top-right-radius: var(--ifm-global-radius);
}

.codeBlock {
  margin: 0;
  padding: 0;
  border-radius: var(--ifm-global-radius);
  --ifm-pre-background: var(--prism-background-color);
}

.codeBlockTitle + .codeBlockContent .codeBlock {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.codeBlockStandalone {
  padding: 0;
  border-radius: var(--ifm-global-radius);
}

.copyButton {
  background: rgb(0 0 0 / 30%);
  border-radius: var(--ifm-global-radius);
  color: var(--ifm-color-white);
  opacity: 0;
  user-select: none;
  padding: 0.4rem 0.5rem;
  /* position: absolute; */
  right: calc(var(--ifm-pre-padding) / 2);
  top: calc(var(--ifm-pre-padding) / 2);
  transition: opacity 200ms ease-in-out;
}

.defaultCopyButton {
  position: absolute;
}

.copyButton {
  /* patch style conflict */
  color: black !important;
}

.copyButton:focus,
.codeBlockContent:hover > .copyButton,
.codeBlockTitle:hover + .codeBlockContent .copyButton {
  opacity: 1;
}

.codeBlockLines {
  font: inherit;
  /* rtl:ignore */
  float: left;
  min-width: 100%;
  padding: var(--ifm-pre-padding);
}

@media print {
  .codeBlockLines {
    white-space: pre-wrap;
  }
}

.buttonGroup {
  display: flex;
  column-gap: 0.2rem;
  align-items: center;
  position: absolute;
  right: calc(var(--ifm-pre-padding) / 2);
  top: calc(var(--ifm-pre-padding) / 2);
  padding: 0.2rem 0.3rem;
  background-color: var(--ifm-color-secondary-light);
  border-radius: var(--ifm-global-radius);
  transition: opacity 200ms ease-in-out;
  opacity: 0;
}

.buttonGroup button {
  display: flex;
  align-items: center;
  background: inherit;
  /* width: inherit;
  height: inherit; */
  color: var(--prism-color);
  border: 0;
  line-height: 0;
  transition: opacity 200ms ease-in-out;
  opacity: 0;
}

.buttonGroup button:focus-visible,
.buttonGroup button:hover {
  opacity: 1 !important;
}

.run-button {
  width: 40px;
  height: 40px;
}

/* .copyIcon {
  width: 20px;
  height: 20px;
} */

button {
  cursor: pointer;
}

pre {
  margin: 0;
}

:global(.theme-code-block:hover) .buttonGroup button {
  opacity: 0.4;
}

:global(.theme-code-block:hover) .buttonGroup {
  opacity: 1 !important;
}

.immutableCodeBlock {
  position: relative;
}
