/* stylelint-disable selector-pseudo-element-no-unknown */
.dx-variant-block dx-button {
    --dx-c-button-primary-color: var(--dx-g-gray-50);
    --dx-c-button-primary-color-hover: var(--dx-g-gray-50);
    --dx-c-button-secondary-color-hover: var(--dx-g-gray-95);
    --dx-c-button-inline-color-hover: var(--dx-g-gray-50);
}

.dx-theme-dark.dx-variant-card dx-button {
    --dx-c-button-primary-color: var(--dx-g-hot-orange-vibrant-95);
    --dx-c-button-primary-color-hover: var(--dx-g-hot-orange-vibrant-95);
    --dx-c-button-secondary-color-hover: var(--dx-g-blue-vibrant-10);
    --dx-c-button-inline-color-hover: var(--dx-g-hot-orange-vibrant-95);
}

.dx-theme-light.dx-variant-card dx-button {
    --dx-c-button-primary-color: var(--dx-g-blue-vibrant-20);
    --dx-c-button-primary-color-hover: var(--dx-g-blue-vibrant-20);
    --dx-c-button-secondary-color-hover: var(--dx-g-hot-orange-vibrant-95);
    --dx-c-button-inline-color-hover: var(--dx-g-hot-orange-vibrant-95);
}

pre[class*="shiki"],
code[class*="shiki"] {
    font-size: 14px;
    text-shadow: none;
    font-family: var(--dx-g-font-mono);
    direction: ltr;
    text-align: left;
    white-space: pre;
    word-spacing: normal;
    word-break: normal;
    line-height: 20px;
    tab-size: 4;
    hyphens: none;
}

pre[class*="shiki"]::selection,
code[class*="shiki"]::selection,
pre[class*="shiki"]::mozselection,
code[class*="shiki"]::mozselection {
    text-shadow: none;
}

.dx-theme-dark code[class*="shiki"] {
    color: rgb(255 255 255);
}

.dx-theme-light code[class*="shiki"] {
    color: var(--dx-g-gray-10);
}

.dx-theme-dark code[class*="shiki"]::mozselection {
    background: rgb(255 255 255);
}

.dx-theme-light code[class*="shiki"]::mozselection {
    background: var(--dx-g-gray-95);
}

.dx-variant-card pre[class*="shiki"] {
    padding: 1em;
    border-radius: 0 0 0.3em 0.3em;
    overflow: auto;
    word-wrap: normal;
    white-space: pre;
}

.dx-variant-card :not(pre) > code[class*="shiki"] {
    padding: 0.1em 0.3em;
    border-radius: 0.3em;
}

.dx-variant-block pre[class*="shiki"] {
    padding: 1em;
    border-radius: 0.3em;
    overflow: auto;
    word-wrap: normal;
    white-space: pre;
    width: 94%;
}

.dx-variant-block :not(pre) > code[class*="shiki"] {
    padding: 0.1em 0.3em;
    border-radius: 0.3em;
}

.dx-theme-dark pre[class*="shiki"] {
    color: rgb(255 255 255);
    background: var(--dx-g-blue-vibrant-10);
}

.dx-theme-dark :not(pre) > code[class*="shiki"] {
    color: rgb(255 255 255);
    background: var(--dx-g-blue-vibrant-10);
}

.dx-theme-light pre[class*="shiki"] {
    color: var(--dx-g-gray-10);
    background: var(--dx-g-gray-95);
}

.dx-theme-light :not(pre) > code[class*="shiki"] {
    color: var(--dx-g-gray-10);
    background: var(--dx-g-gray-95);
}

/*********************************************************
* Tokens
*/
.namespace {
    opacity: 0.7;
}

.token.important,
.token.bold {
    font-weight: bold;
}

.token.italic {
    font-style: italic;
}

.token.entity {
    cursor: help;
}

/*********************************************************
* Line highlighting
*/
pre[data-line] {
    position: relative;
}

pre[class*="shiki"] > code[class*="shiki"] {
    position: relative;
    display: block;
    z-index: 1;
}

.dx-variant-block.code-toolbar {
    display: flex;
}

/* for card variant */
div.code-toolbar.dx-variant-card {
    display: flex;
    flex-direction: column-reverse;
}

div.code-toolbar:hover > .toolbar {
    opacity: 1;
}

div.code-toolbar:focus-within > .toolbar {
    opacity: 1;
}

div.code-toolbar.dx-variant-card > .toolbar {
    border-radius: 0.3em 0.3em 0 0;
    opacity: 1; /* card for base set to 0 */
    display: flex;
    align-items: center;
}

div.code-toolbar.dx-variant-block > .toolbar {
    transition: opacity 0.3s ease-in-out;
    opacity: 0; /* card for base set to 0 */
}

div.code-toolbar.dx-theme-dark.dx-variant-card > .toolbar {
    background-color: var(--dx-g-blue-natural-20);
}

div.code-toolbar.dx-theme-light.dx-variant-card > .toolbar {
    background-color: var(--dx-g-gray-90);
}

.dx-variant-block .toolbar-item {
    padding-left: 4px;
}

.dx-variant-card .toolbar-item:first-child {
    flex-basis: 95%;
}

.dx-variant-card .dx-code-block-heading {
    transform: translateY(3px);
    padding-left: 20px;
}

.dx-variant-card.dx-theme-dark .dx-code-block-heading {
    color: white !important;
}

.dx-variant-card.dx-theme-light .dx-code-block-heading {
    color: var(--dx-g-blue-vibrant-20);
}

/* Separate line b/c rules are thrown out if selector is invalid.
   IE11 and old Edge versions don't support :focus-within. */

div.code-toolbar > .toolbar .toolbar-item {
    display: inline-block;
}

div.code-toolbar > .toolbar a {
    cursor: pointer;
}

div.code-toolbar > .toolbar a,
div.code-toolbar > .toolbar button,
div.code-toolbar > .toolbar a:hover,
div.code-toolbar > .toolbar a:focus,
div.code-toolbar > .toolbar button:hover,
div.code-toolbar > .toolbar button:focus,
div.code-toolbar > .toolbar span:hover,
div.code-toolbar > .toolbar span:focus {
    color: inherit;
    text-decoration: none;
}
