/*
 * Typography styles and mixins.
 */
/* Headings */
/* Body Copy */
/* Anchor */
::slotted(button:active:enabled) {
  color: var(--gse-ui-links-active-foregroundColor);
  text-decoration: underline;
  background: none;
}

slot[name=start-align-buttons]::slotted(:not(button, gux-button-slot)) {
  display: flex;
  flex-direction: row;
  gap: var(--gse-ui-modal-buttonBar-gap);
  align-content: flex-start;
  align-items: center;
}

:host dialog {
  box-sizing: border-box;
  justify-content: space-between;
  padding: 0;
  overflow: hidden;
  background-color: var(--gse-ui-modal-backgroundColor);
  border: none;
  border-radius: var(--gse-ui-modal-borderRadius);
  box-shadow: var(--gse-ui-modal-boxShadow);
}
:host dialog::backdrop {
  background: var(--gse-ui-modal-shroudColor);
}
:host dialog .gux-modal-container {
  display: flex;
  flex-direction: column;
}
:host dialog .gux-modal-container.gux-small {
  inline-size: var(--gse-ui-modal-small-width);
  max-block-size: min(368px, 100vh - 2 * 24px);
}
:host dialog .gux-modal-container.gux-medium {
  inline-size: min(var(--gse-ui-modal-medium-width), 100vw - 48px);
  max-block-size: min(640px, 100vh - 2 * 24px);
}
:host dialog .gux-modal-container.gux-large {
  inline-size: min(var(--gse-ui-modal-large-width), 100vw - 48px);
  max-block-size: min(640px, 100vh - 2 * 24px);
}
:host dialog .gux-modal-container.gux-dynamic {
  max-inline-size: calc(100vw - 48px);
  max-block-size: calc(100vh - 48px);
}
:host dialog .gux-modal-container.gux-dynamic .gux-modal-content {
  max-block-size: none;
}
:host dialog .gux-modal-container .gux-modal-header {
  padding-block-start: var(--gse-ui-modal-padding);
  padding-inline: var(--gse-ui-modal-padding);
  margin: 0;
  font-family: var(--gse-ui-modal-heading-fontFamily);
  font-size: var(--gse-ui-modal-heading-fontSize);
  font-weight: var(--gse-ui-modal-heading-fontWeight);
  line-height: var(--gse-ui-modal-heading-lineHeight);
  color: var(--gse-ui-modal-headerColor);
}
:host dialog .gux-modal-container .gux-modal-content {
  max-block-size: 432px;
  padding-inline: var(--gse-ui-modal-padding);
  margin-block-start: var(--gse-ui-modal-gap);
  overflow-y: auto;
  color: var(--gse-semantic-foreground-container-highEmphasis);
}
:host dialog .gux-modal-container .gux-button-footer {
  display: flex;
  justify-content: space-between;
  padding-block-end: var(--gse-ui-modal-padding);
  padding-inline: var(--gse-ui-modal-padding);
  margin-block-start: var(--gse-ui-modal-gap);
}
:host dialog .gux-modal-container .gux-button-footer.gux-no-buttons {
  display: none;
}
:host dialog .gux-modal-container footer {
  padding-block-end: var(--gse-ui-modal-padding);
  padding-inline: var(--gse-ui-modal-padding);
  margin-block-start: var(--gse-ui-modal-gap);
}
@media (max-width: 416px) {
  :host dialog .gux-modal-container.gux-small, :host dialog .gux-modal-container.gux-medium, :host dialog .gux-modal-container.gux-large {
    inline-size: 100%;
    block-size: 100%;
  }
}