/**
 * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
 */
:root, :host {
  --ck-content-color-image-caption-background: #f7f7f7;
  --ck-color-image-caption-highlighted-background: #fd0;
}

.ck.ck-editor__editable .image > figcaption.image__caption_highlighted {
  @media (forced-colors: none) {
    animation: .6s ease-out ck-image-caption-highlight;
  }

  @media (prefers-reduced-motion: reduce) {
    animation: none;
  }
}

@keyframes ck-image-caption-highlight {
  0% {
    background-color: var(--ck-color-image-caption-highlighted-background);
  }

  100% {
    background-color: var(--ck-content-color-image-caption-background);
  }
}

.ck.ck-editor__editable {
  & td, & th {
    & .image-inline.image_resized img {
      max-width: 100%;
    }
  }
}

[dir="ltr"] .ck.ck-button.ck-button_with-text.ck-resize-image-button .ck-button__icon {
  margin-right: var(--ck-spacing-standard, var(--ck-spacing-base));
}

[dir="rtl"] .ck.ck-button.ck-button_with-text.ck-resize-image-button .ck-button__icon {
  margin-left: var(--ck-spacing-standard, var(--ck-spacing-base));
}

.ck.ck-dropdown .ck-button.ck-resize-image-button .ck-button__label {
  width: 4em;
}

.ck.ck-editor__editable {
  & .image, & .image-inline {
    &.ck-appear {
      animation: .7s fadeIn;

      @media (prefers-reduced-motion: reduce) {
        opacity: 1;
        animation: none;
      }
    }

    position: relative;
  }

  & .image .ck-progress-bar, & .image-inline .ck-progress-bar {
    background: var(--ck-color-upload-bar-background);
    width: 0;
    height: 2px;
    transition: width .1s;
    position: absolute;
    top: 0;
    left: 0;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

:root, :host {
  --ck-color-image-upload-icon: var(--ck-color-base-background);
  --ck-color-image-upload-icon-background: var(--ck-color-base-success);
  --ck-image-upload-icon-size: 20;
  --ck-image-upload-icon-width: 2px;
  --ck-image-upload-icon-is-visible: clamp(0px, 100% - 50px, 1px);
}

.ck-image-upload-complete-icon {
  opacity: 0;
  background: var(--ck-color-image-upload-icon-background);
  font-size: calc(1px * var(--ck-image-upload-icon-size));
  width: calc(var(--ck-image-upload-icon-is-visible) * var(--ck-image-upload-icon-size));
  height: calc(var(--ck-image-upload-icon-is-visible) * var(--ck-image-upload-icon-size));
  top: min(var(--ck-spacing-medium, var(--ck-spacing-base)), 6%);
  right: min(var(--ck-spacing-medium, var(--ck-spacing-base)), 6%);
  border-radius: 50%;
  animation-name: ck-upload-complete-icon-show, ck-upload-complete-icon-hide;
  animation-duration: .5s, .5s;
  animation-delay: 0s, 3s;
  animation-fill-mode: forwards, forwards;
  display: block;
  position: absolute;
  overflow: hidden;

  &:after {
    opacity: 0;
    transform-origin: 0 0;
    border-top: var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);
    border-right: var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);
    box-sizing: border-box;
    content: "";
    width: 0;
    height: 0;
    animation-name: ck-upload-complete-icon-check;
    animation-duration: .5s;
    animation-delay: .5s;
    animation-fill-mode: forwards;
    position: absolute;
    top: 50%;
    left: 25%;
    transform: scaleX(-1) rotate(135deg);
  }

  @media (prefers-reduced-motion: reduce) {
    animation-duration: 0s;

    &:after {
      opacity: 1;
      width: .3em;
      height: .45em;
      animation: none;
    }
  }

  z-index: 1;
}

@keyframes ck-upload-complete-icon-show {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes ck-upload-complete-icon-hide {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

@keyframes ck-upload-complete-icon-check {
  0% {
    opacity: 1;
    width: 0;
    height: 0;
  }

  33% {
    width: .3em;
    height: 0;
  }

  100% {
    opacity: 1;
    width: .3em;
    height: .45em;
  }
}

:root, :host {
  --ck-color-upload-placeholder-loader: #b3b3b3;
  --ck-upload-placeholder-loader-size: 32px;
  --ck-upload-placeholder-image-aspect-ratio: 2.8;
}

.ck .ck-image-upload-placeholder {
  width: 100%;
  margin: 0;

  &.image-inline {
    width: calc(2 * var(--ck-upload-placeholder-loader-size) * var(--ck-upload-placeholder-image-aspect-ratio));
  }

  & img {
    aspect-ratio: var(--ck-upload-placeholder-image-aspect-ratio);
  }
}

.ck .ck-upload-placeholder-loader {
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
  position: absolute;
  top: 0;

  &:before {
    width: var(--ck-upload-placeholder-loader-size);
    height: var(--ck-upload-placeholder-loader-size);
    border-top: 3px solid var(--ck-color-upload-placeholder-loader);
    content: "";
    border-right: 2px solid #0000;
    border-radius: 50%;
    animation: 1s linear infinite ck-upload-placeholder-loader;
    position: relative;
  }

  left: 0;
}

@keyframes ck-upload-placeholder-loader {
  to {
    transform: rotate(360deg);
  }
}

.ck.ck-editor__editable {
  & .image > figcaption.ck-placeholder:before {
    padding-left: inherit;
    padding-right: inherit;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
  }

  & .image {
    z-index: 1;

    &.ck-widget_selected {
      z-index: 2;
    }
  }

  & .image-inline {
    z-index: 1;

    &.ck-widget_selected {
      z-index: 2;

      & ::selection {
        display: none;
      }
    }
  }

  & .image-inline img {
    height: auto;
  }

  & td, & th {
    & .image-inline img {
      max-width: none;
    }
  }
}

.ck.ck-editor__editable {
  & img.image_placeholder {
    background-size: 100% 100%;
  }
}

:root, :host {
  --ck-image-insert-insert-by-url-width: var(--ck-width-md);
  --ck-image-insert-form-padding: var(--ck-spacing-padding);
  --ck-image-insert-form-button-gap: var(--ck-spacing-gap-tight);
}

.ck.ck-image-insert-url {
  --ck-input-width: 100%;
  width: 400px;

  & .ck-image-insert-url__action-row {
    grid-column-gap: var(--ck-spacing-large, var(--ck-spacing-lg));
    margin-top: var(--ck-spacing-large, var(--ck-spacing-lg));
    display: grid;

    &:empty {
      margin-top: 0;
    }

    & .ck-button-save, & .ck-button-cancel {
      justify-content: center;
      min-width: auto;
    }

    & .ck-button .ck-button__label {
      color: var(--ck-color-text);
    }

    grid-template-columns: repeat(2, 1fr);
  }

  padding: var(--ck-dialog-content-padding);
}

.ck.ck-image-insert-form {
  padding: var(--ck-image-insert-form-padding);

  & > .ck.ck-button {
    width: 100%;
    display: block;

    [dir="ltr"] & {
      text-align: left;
    }

    [dir="rtl"] & {
      text-align: right;
    }

    &:not(:last-child) {
      margin-bottom: var(--ck-image-insert-form-button-gap);
    }
  }

  & > .ck.ck-collapsible {
    &:not(:first-child) {
      border-top: 1px solid var(--ck-color-base-border);
    }

    &:not(:last-child) {
      border-bottom: 1px solid var(--ck-color-base-border);
    }

    min-width: var(--ck-image-insert-insert-by-url-width);
  }

  &:focus {
    outline: none;
  }
}

:root, :host {
  --ck-image-custom-resize-form-width: var(--ck-width-balloon-form);
}

.ck.ck-image-custom-resize-form {
  &.ck-responsive-form {
    width: var(--ck-image-custom-resize-form-width);
  }
}

:root, :host {
  --ck-text-alternative-form-width: var(--ck-width-balloon-form);
}

.ck.ck-text-alternative-form {
  &.ck-responsive-form {
    width: var(--ck-text-alternative-form-width);
  }
}

:root, :host {
  --ck-content-color-image-caption-background: #f7f7f7;
  --ck-content-color-image-caption-text: #333;
  --ck-content-image-style-spacing: 1.5em;
  --ck-content-inline-image-style-spacing: calc(var(--ck-content-image-style-spacing) / 2);
}

.ck-content .image > figcaption {
  caption-side: bottom;
  word-break: normal;
  overflow-wrap: anywhere;
  break-before: avoid;
  color: var(--ck-content-color-image-caption-text);
  background-color: var(--ck-content-color-image-caption-background);
  outline-offset: -1px;
  padding: .6em;
  font-size: .75em;
  display: table-caption;

  @media (forced-colors: active) {
    background-color: unset;
    color: unset;
  }
}

.ck-content img.image_resized {
  height: auto;
}

.ck-content .image.image_resized {
  box-sizing: border-box;
  max-width: 100%;
  display: block;

  & img {
    width: 100%;
  }

  & > figcaption {
    display: block;
  }
}

.ck-content {
  & .image {
    &.image-style-block-align-left, &.image-style-block-align-right {
      max-width: calc(100% - var(--ck-content-image-style-spacing));
    }

    &.image-style-align-left, &.image-style-align-right {
      clear: none;
    }

    &.image-style-side {
      float: right;
      margin-left: var(--ck-content-image-style-spacing);
      max-width: 50%;
    }

    &.image-style-align-left {
      float: left;
      margin-right: var(--ck-content-image-style-spacing);
    }

    &.image-style-align-right {
      float: right;
      margin-left: var(--ck-content-image-style-spacing);
    }

    &.image-style-block-align-right {
      margin-left: auto;
      margin-right: 0;
    }

    &.image-style-block-align-left {
      margin-left: 0;
      margin-right: auto;
    }
  }

  & .image-style-align-center {
    margin-left: auto;
    margin-right: auto;
  }

  & .image-style-align-left {
    float: left;
    margin-right: var(--ck-content-image-style-spacing);
  }

  & .image-style-align-right {
    float: right;
    margin-left: var(--ck-content-image-style-spacing);
  }

  & p + .image.image-style-align-left, & p + .image.image-style-align-right, & p + .image.image-style-side {
    margin-top: 0;
  }

  & .image-inline {
    &.image-style-align-left, &.image-style-align-right {
      margin-top: var(--ck-content-inline-image-style-spacing);
      margin-bottom: var(--ck-content-inline-image-style-spacing);
    }

    &.image-style-align-left {
      margin-right: var(--ck-content-inline-image-style-spacing);
    }

    &.image-style-align-right {
      margin-left: var(--ck-content-inline-image-style-spacing);
    }
  }
}

.ck-content {
  & .image {
    clear: both;
    text-align: center;
    min-width: 50px;
    margin: .9em auto;
    display: table;

    & img {
      min-width: 100%;
      max-width: 100%;
      height: auto;
      margin: 0 auto;
      display: block;
    }
  }

  & .image-inline {
    align-items: flex-start;
    max-width: 100%;
    display: inline-flex;

    & picture {
      display: flex;
    }

    & picture, & img {
      flex-grow: 1;
      flex-shrink: 1;
      max-width: 100%;
    }
  }
}

/*# sourceMappingURL=index.css.map */