:root {
  --ui-dialog-titlebar-height: 4rem;
  --ui-dialog-icon-size: 1.5rem;
}

.ui-widget-overlay {
  position: fixed;
  z-index: 1000;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--color-black-o-25);
}

.ui-dialog {
  z-index: 1001;
  display: flex;
  overflow: hidden;
  flex-direction: column;
  max-width: calc(100% - var(--spacing-md));
  height: 100% !important;
  max-height: calc(100% - var(--spacing-md));
  border-radius: var(--radius-xs);
  background: var(--color-white);
  box-shadow: var(--shadow-md);

  @media screen and (min-width: 768px) {
    height: auto !important;
    max-height: calc(100% - var(--spacing-md) * 2);
  }
}

.ui-dialog--fullscreen {
  width: 100% !important;
  height: 100% !important;
}

.ui-dialog-titlebar {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  height: var(--ui-dialog-titlebar-height);
  padding: 0 var(--spacing-md);
  border-bottom: 1px solid var(--color-border-light);
}

.ui-dialog-title {
  margin-right: var(--spacing-sm);
  font: var(--typography-title-small);
}

.ui-dialog-titlebar-close {
  width: var(--ui-dialog-icon-size);
  height: var(--ui-dialog-icon-size);
  margin-left: auto;
  cursor: pointer;
  text-indent: -999999px;
  opacity: 0.6;
  border: unset;
  background: transparent url('../../../icons/111111/close.svg') center no-repeat;
  background-size: var(--ui-dialog-icon-size);
}

.ui-dialog-titlebar-close:hover {
  opacity: 1;
}

.ui-dialog-content {
  position: relative;
  overflow-y: auto;
  max-height: unset !important;
  padding: var(--spacing-sm) var(--spacing-md);
  max-width: 100%;
}

.ui-dialog--no-content-padding .ui-dialog-content {
  padding: unset;
}

.ui-dialog-buttonpane {
  padding: var(--spacing-sm) var(--spacing-md);
  padding-top: 0;
}

.ui-dialog .is-ajax-loading {
  position: initial;
}

.ui-dialog--catalog-filter .collapsible-filter {
  padding: var(--spacing-md) 0;
}

.category-filter-wrapper .form-actions {
  position: sticky;
  bottom: calc(var(--spacing-sm)  * -1);
  background: var(--color-white);
  padding: var(--spacing-sm) 0;
}