body {
  --ck-color-base-border: var(--border-color);
  --ck-color-toolbar-border: var(--border-color);
  --ck-color-panel-border: var(--border-color);
  --ck-color-input-border: var(--border-color);
  --ck-color-dropdown-panel-border: var(--border-color);

  --ck-color-base-background: var(--primary-bg-color);
  --ck-color-toolbar-background: var(--primary-bg-color);
  --ck-color-panel-background: var(--primary-bg-color);
  --ck-color-input-background: var(--primary-bg-color);
  --ck-color-labeled-field-label-background: var(--primary-bg-color);
  --ck-color-dropdown-panel-background: var(--primary-bg-color);

  --ck-color-text: var(--primary-text-color);

  --ck-color-button-default-hover-background: var(--primary-color);
  --ck-color-button-default-active-background: var(--primary-color-active);
  --ck-color-button-on-background: var(--primary-color);
  --ck-color-button-on-hover-background: var(--primary-color-hover);
  --ck-color-button-on-active-background: var(--primary-color-active);
  --ck-color-button-on-color: var(--white-color);
  --ck-color-split-button-hover-background: var(--primary-color-hover);
  --ck-color-button-default-background: var(--secondary-bg-color);

  --ck-color-list-background: var(--primary-bg-color);
  --ck-color-list-button-on-background: var(--secondary-bg-color);
  --ck-color-list-button-on-background-focus: var(--secondary-bg-color);
  --ck-color-list-button-hover-background: var(--secondary-bg-color);
  --ck-color-list-button-on-text: var(--primary-text-color);

  --ck-border-radius: var(--border-radius-small);
  --ck-focus-ring: var(--border-width) solid var(--primary-color);
  --ck-inner-shadow: transparent;
  --ck-color-link-default: var(--link-color);
  --ck-disabled-opacity: 1;
}

[dir] .ck.ck-editor__editable_inline,
[dir] .ck.ck-toolbar {
  border-width: var(--border-width);
}

[dir] .ck.ck-button,
[dir] .ck.ck-button:active,
[dir] .ck.ck-button:focus,
[dir] a.ck.ck-button,
[dir] a.ck.ck-button:active,
[dir] a.ck.ck-button:focus {
  border: none;
}

[dir] .ck.ck-content p,
[dir] .ck.ck-content h1,
[dir] .ck.ck-content h2,
[dir] .ck.ck-content h3,
[dir] .ck.ck-content h4,
[dir] .ck.ck-content a,
[dir] .ck.ck-content ol,
[dir] .ck.ck-content ul {
  color: var(--primary-text-color) !important;
}

[dir] .ck.ck-list__item .ck-button.ck-on:focus:not(.ck-switchbutton):not(.ck-disabled),
[dir] .ck.ck-list__item .ck-button:hover:not(.ck-disabled) {
  color: var(--primary-text-color);
}

[dir] .ck.ck-dropdown .ck-dropdown__arrow path,
[dir] .ck.ck-splitbutton > .ck-splitbutton__arrow svg path,
[dir] .ck-link-form .ck.ck-icon.ck-icon_inherit-color :not([fill]),
[dir] .ck-link-actions .ck.ck-icon.ck-icon_inherit-color :not([fill]) {
  fill: var(--primary-text-color);
}

[dir] .ck.ck-button:not(.ck-disabled):hover .ck.ck-icon.ck-icon_inherit-color,
[dir] .ck.ck-button:not(.ck-disabled):hover .ck.ck-icon.ck-icon_inherit-color *,
[dir] .ck.ck-button:not(.ck-disabled):hover,
[dir] a.ck.ck-button:not(.ck-disabled):hover,
[dir] .ck.ck-splitbutton.ck-splitbutton_open > .ck-button:not(.ck-on):not(.ck-disabled):not(:hover),
[dir] .ck.ck-splitbutton:hover > .ck-button:not(.ck-on):not(.ck-disabled):not(:hover) {
  color: var(--white-color);
}

[dir] a.ck.ck-button:not(.ck-disabled):hover path:not([fill]),
[dir] .ck.ck-button:not(.ck-disabled):hover,
[dir] .ck.ck-button:not(.ck-disabled):hover .ck-dropdown__arrow *,
[dir] .ck.ck-button:not(.ck-disabled):hover .ck-splitbutton__arrow *,
[dir] .ck.ck-button.ck-on.ck-splitbutton__arrow svg *,
[dir] .ck.ck-button.ck-on.ck-dropdown__button svg *,
[dir] .ck.ck-splitbutton:hover > .ck-splitbutton__arrow svg path,
[dir] .ck.ck-splitbutton > .ck-splitbutton__arrow:hover svg path,
[dir] .ck-link-form .ck.ck-button:not(.ck-disabled):hover :not([fill]),
[dir] .ck-link-actions .ck.ck-button:not(.ck-disabled):hover :not([fill]) {
  fill: var(--white-color);
}

[dir] .ck.ck-list__item .ck-button {
  background-color: transparent;
  border-radius: 0;
}

[dir] .ck-content blockquote {
  border-color: var(--border-color);
}

[dir] .ck-content p code {
  display: inline-block;
  padding: 0 0.25em;
  border: 1px solid var(--border-color);
  background-color: var(--secondary-bg-color);
  color: var(--primary-text-color);
}

[dir] .ck.ck-editor__editable .ck-code_selected {
  background-color: var(--secondary-bg-color-hover);
}

[dir] .ck .ck-content pre {
  background-color: var(--secondary-bg-color) !important;
  border-color: var(--border-color);
  color: var(--primary-text-color);
}

[dir] .ck.ck-editor__editable pre[data-language]:after {
  background-color: var(--primary-color);
  color: var(--white-color);
}

[dir] .ck .ck-content p {
  padding: 0;
}

/* Theming */
[dir] .ck.ck-toolbar {
  padding: 2px;
}

[dir] .ck.ck-toolbar > .ck-toolbar__items {
  background: var(--secondary-bg-color);
  border-radius: calc(var(--border-radius-small) - 3px) calc(var(--border-radius-small) - 3px) 0 0;
  padding: 0 4px;
}

[dir] .ck.ck-button:focus-visible,
[dir] .ck.ck-content.ck-editor__editable.ck-editor__editable_inline.ck-focused,
[dir] .ck.ck-content.ck-editor__editable.ck-focused,
[dir] .ck.ck-toolbar:focus-visible {
  box-shadow: none;
}
