/**
 * @file
 * Presentational styles for Drupal dialogs.
 */

.ui-dialog {
  --dialog-max-width: 92%;
  --dialog-padding: 1rem;
  --dialog-titlebar-padding: 1rem;
  --dialog-titlebar-bg: #fff;
  --dialog-buttonpane-bg: #fff;
  --dialog-color: #212529;
  --dialog-bg: var(#fff);
  --dialog-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  --dialog-border-color: rgba(0, 0, 0, 0.175);
  --dialog-border-width: 1px;
  --dialog-border-radius: 0.5rem;
  --dialog-title-line-height: 1.5;
}

.ui-dialog {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  color: var(--dialog-color);
  pointer-events: auto;
  background-color: var(--dialog-bg);
  background-clip: padding-box;
  border: var(--dialog-border-width) solid var(--dialog-border-color);
  border-radius: var(--dialog-border-radius);
  box-shadow: var(--dialog-box-shadow);
  outline: 0;
}

@media all and (max-width: 48em) {
  /* 768px */
  .ui-dialog {
    width: var(--dialog-max-width) !important;
  }
}

.ui-dialog .ui-dialog-titlebar {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  padding: var(--dialog-titlebar-padding);
  border-bottom: var(--dialog-border-width) solid #dee2e6;
  border-top-left-radius: calc(0.5rem - (1px));
  border-top-right-radius: calc(0.5rem - (1px));
  background: var(--dialog-titlebar-bg);
}

.ui-dialog .ui-dialog-title {
  flex: 1;
  margin-bottom: 0;
  line-height: var(--dialog-title-line-height);
  font-size: 1.25rem;
}

.ui-dialog .ui-dialog-titlebar-close {
  border: 0;
  background: none;

  box-sizing: content-box;
  width: 1em;
  height: 1em;
  padding: 0.25em;
  color: var(--bs-btn-close-color);
  opacity: var(--bs-btn-close-opacity);
}
.ui-dialog .ui-dialog-titlebar-close,
.ui-dialog .ui-dialog-titlebar-close .ui-icon-closethick {
  background: transparent var(--bs-btn-close-bg) center / 1em auto no-repeat;
}


.ui-dialog .ui-dialog-content {
  position: relative;
  flex: 1 1 auto;
  padding: .5rem var(--dialog-padding);
  overflow: auto;
}
.ui-dialog:not(:has(.ui-dialog-buttonpane)) .ui-dialog-content {
  border-bottom-right-radius: calc(0.5rem - (1px));
  border-bottom-left-radius: calc(0.5rem - (1px));
}

.ui-dialog .ui-dialog-buttonpane {
  display: flex;
  flex-shrink: 0;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  padding: calc(var(--dialog-padding) - 0.5rem * .5);
  background-color: var(--dialog-buttonpane-bg);
  border-top: var(--dialog-border-width) solid var(--dialog-border-color);
  border-bottom-right-radius: calc(0.5rem - (1px));
  border-bottom-left-radius: calc(0.5rem - (1px));
}
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
  margin: 0;
  padding: 0;
}
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset .button--primary {
  color: #fff;
  border: 1px solid transparent;
  border-radius: 0.3rem;
  background: rgba(0, 121, 184, 1);
  cursor: pointer;
  user-select: none;
  line-height: 1.5;
}
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset .button--primary:hover {
  color: rgba(255, 255, 255, 1);
  background: rgba(0, 97, 154,1);
  transition: all 0.15s ease-in-out;
}
.ui-dialog .ui-dialog-buttonpane .ui-button-text-only .ui-button-text {
  padding: 0;
}

/* Form action buttons are moved in dialogs. Remove empty space. */
.ui-dialog .ui-dialog-content .form-actions {
  margin: 0;
  padding: 0;
}
.ui-dialog .ajax-progress-throbber .throbber,
.ui-dialog .ajax-progress-throbber .message {
  display: none;
}

/* === WEBFORM ===*/
.ui-dialog.webform-confirmation-modal {
  --dialog-bg: var(#fff);
  color: var(--dialog-color);
  pointer-events: auto;
  background-color: var(--dialog-bg);
  background-clip: padding-box;
}
.ui-dialog.webform-confirmation-modal .ui-dialog-content {
  border: 0;
}

.ui-dialog.website-feedback-dialog {
  position: fixed;
  top: calc(100vh - 72.8%);
  left: initial;
  right: 1%;
}
