/**
 * FTPM shared icon-button component and legacy adapters.
 *
 * 0.55.50 adds scoped inverse, compact-notice and WP-2FA provider variants
 * while preserving the optically centred two-line X introduced in 0.55.49.
 * Existing markup, data attributes and JavaScript contracts stay unchanged.
 */

:is(
  button.ftpm-icon-button,
  button.ftpm-mailbox-modal-close,
  button.ftpm-birds-modal__close,
  button.ftpm-bird-editor-close,
  button.ftpm-admin-entry-modal__close,
  button.ftpm-member-help-modal__close,
  button.ftpm-member-payment-modal__close,
  button.ftpm-stock-cancel-modal__close,
  button.ftpm-facility-preview-close
) {
  --ftpm-icon-button-size: 44px;
  --ftpm-icon-button-border: #c6d4ca;
  --ftpm-icon-button-background: #ffffff;
  --ftpm-icon-button-color: var(--ast-global-color-0, #174f2b);
  --ftpm-icon-button-hover-border: #97b39f;
  --ftpm-icon-button-hover-background: #edf7ef;
  --ftpm-icon-button-hover-color: #123d24;
  --ftpm-icon-button-focus: rgba(23, 79, 43, .28);

  appearance: none !important;
  box-sizing: border-box !important;
  display: inline-grid !important;
  place-items: center !important;
  grid-template: minmax(0, 1fr) / minmax(0, 1fr) !important;
  flex: 0 0 var(--ftpm-icon-button-size) !important;
  width: var(--ftpm-icon-button-size) !important;
  min-width: var(--ftpm-icon-button-size) !important;
  max-width: var(--ftpm-icon-button-size) !important;
  height: var(--ftpm-icon-button-size) !important;
  min-height: var(--ftpm-icon-button-size) !important;
  max-height: var(--ftpm-icon-button-size) !important;
  padding: 0 !important;
  border: 1px solid var(--ftpm-icon-button-border) !important;
  border-radius: 999px !important;
  background: var(--ftpm-icon-button-background) !important;
  color: var(--ftpm-icon-button-color) !important;
  box-shadow: none !important;
  font: inherit;
  line-height: 1 !important;
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.wp-admin :is(
  button.ftpm-icon-button,
  button.ftpm-mailbox-modal-close,
  button.ftpm-birds-modal__close,
  button.ftpm-bird-editor-close,
  button.ftpm-admin-entry-modal__close,
  button.ftpm-member-help-modal__close,
  button.ftpm-member-payment-modal__close,
  button.ftpm-stock-cancel-modal__close,
  button.ftpm-facility-preview-close
) {
  --ftpm-icon-button-border: #cbd5e1;
  --ftpm-icon-button-color: #3155d9;
  --ftpm-icon-button-hover-border: #9aa9ea;
  --ftpm-icon-button-hover-background: #eef2ff;
  --ftpm-icon-button-hover-color: #233fb0;
  --ftpm-icon-button-focus: rgba(49, 85, 217, .30);
}

:is(
  button.ftpm-icon-button,
  button.ftpm-mailbox-modal-close,
  button.ftpm-birds-modal__close,
  button.ftpm-bird-editor-close,
  button.ftpm-admin-entry-modal__close,
  button.ftpm-member-help-modal__close,
  button.ftpm-member-payment-modal__close,
  button.ftpm-stock-cancel-modal__close,
  button.ftpm-facility-preview-close
):hover {
  border-color: var(--ftpm-icon-button-hover-border) !important;
  background: var(--ftpm-icon-button-hover-background) !important;
  color: var(--ftpm-icon-button-hover-color) !important;
  box-shadow: 0 5px 12px rgba(15, 23, 42, .10) !important;
}

:is(
  button.ftpm-icon-button,
  button.ftpm-mailbox-modal-close,
  button.ftpm-birds-modal__close,
  button.ftpm-bird-editor-close,
  button.ftpm-admin-entry-modal__close,
  button.ftpm-member-help-modal__close,
  button.ftpm-member-payment-modal__close,
  button.ftpm-stock-cancel-modal__close,
  button.ftpm-facility-preview-close
):focus {
  outline: none;
}

:is(
  button.ftpm-icon-button,
  button.ftpm-mailbox-modal-close,
  button.ftpm-birds-modal__close,
  button.ftpm-bird-editor-close,
  button.ftpm-admin-entry-modal__close,
  button.ftpm-member-help-modal__close,
  button.ftpm-member-payment-modal__close,
  button.ftpm-stock-cancel-modal__close,
  button.ftpm-facility-preview-close
):focus-visible {
  border-color: var(--ftpm-icon-button-hover-border) !important;
  background: var(--ftpm-icon-button-hover-background) !important;
  color: var(--ftpm-icon-button-hover-color) !important;
  outline: 3px solid var(--ftpm-icon-button-focus) !important;
  outline-offset: 2px !important;
  box-shadow: none !important;
}

:is(
  button.ftpm-icon-button,
  button.ftpm-mailbox-modal-close,
  button.ftpm-birds-modal__close,
  button.ftpm-bird-editor-close,
  button.ftpm-admin-entry-modal__close,
  button.ftpm-member-help-modal__close,
  button.ftpm-member-payment-modal__close,
  button.ftpm-stock-cancel-modal__close,
  button.ftpm-facility-preview-close
):active:not(:disabled):not([aria-disabled="true"]) {
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, .14) !important;
}

:is(
  button.ftpm-icon-button,
  button.ftpm-mailbox-modal-close,
  button.ftpm-birds-modal__close,
  button.ftpm-bird-editor-close,
  button.ftpm-admin-entry-modal__close,
  button.ftpm-member-help-modal__close,
  button.ftpm-member-payment-modal__close,
  button.ftpm-stock-cancel-modal__close,
  button.ftpm-facility-preview-close
):disabled,
:is(
  button.ftpm-icon-button,
  button.ftpm-mailbox-modal-close,
  button.ftpm-birds-modal__close,
  button.ftpm-bird-editor-close,
  button.ftpm-admin-entry-modal__close,
  button.ftpm-member-help-modal__close,
  button.ftpm-member-payment-modal__close,
  button.ftpm-stock-cancel-modal__close,
  button.ftpm-facility-preview-close
)[aria-disabled="true"] {
  opacity: .52 !important;
  cursor: not-allowed !important;
  box-shadow: none !important;
}

:is(
  button.ftpm-icon-button--close,
  button.ftpm-mailbox-modal-close,
  button.ftpm-birds-modal__close,
  button.ftpm-bird-editor-close,
  button.ftpm-admin-entry-modal__close,
  button.ftpm-member-help-modal__close,
  button.ftpm-member-payment-modal__close,
  button.ftpm-stock-cancel-modal__close,
  button.ftpm-facility-preview-close
) {
  overflow: hidden;
  font-size: 0 !important;
  line-height: 0 !important;
}

:is(
  button.ftpm-icon-button--close,
  button.ftpm-mailbox-modal-close,
  button.ftpm-birds-modal__close,
  button.ftpm-bird-editor-close,
  button.ftpm-admin-entry-modal__close,
  button.ftpm-member-help-modal__close,
  button.ftpm-member-payment-modal__close,
  button.ftpm-stock-cancel-modal__close,
  button.ftpm-facility-preview-close
) > * {
  display: none !important;
}

/*
 * The X uses two independent grid items in the same cell. Explicitly reset
 * position/inset/margins because Astra, WordPress or historical module styles
 * may otherwise move pseudo-elements even when the button itself is centred.
 */
:is(
  button.ftpm-icon-button--close,
  button.ftpm-mailbox-modal-close,
  button.ftpm-birds-modal__close,
  button.ftpm-bird-editor-close,
  button.ftpm-admin-entry-modal__close,
  button.ftpm-member-help-modal__close,
  button.ftpm-member-payment-modal__close,
  button.ftpm-stock-cancel-modal__close,
  button.ftpm-facility-preview-close
)::before,
:is(
  button.ftpm-icon-button--close,
  button.ftpm-mailbox-modal-close,
  button.ftpm-birds-modal__close,
  button.ftpm-bird-editor-close,
  button.ftpm-admin-entry-modal__close,
  button.ftpm-member-help-modal__close,
  button.ftpm-member-payment-modal__close,
  button.ftpm-stock-cancel-modal__close,
  button.ftpm-facility-preview-close
)::after {
  content: "" !important;
  position: static !important;
  inset: auto !important;
  grid-area: 1 / 1 !important;
  place-self: center !important;
  display: block !important;
  box-sizing: border-box !important;
  width: 18px !important;
  min-width: 18px !important;
  max-width: 18px !important;
  height: 2px !important;
  min-height: 2px !important;
  max-height: 2px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: currentColor !important;
  background-image: none !important;
  box-shadow: none !important;
  opacity: 1 !important;
  pointer-events: none !important;
  transform-origin: center !important;
}

:is(
  button.ftpm-icon-button--close,
  button.ftpm-mailbox-modal-close,
  button.ftpm-birds-modal__close,
  button.ftpm-bird-editor-close,
  button.ftpm-admin-entry-modal__close,
  button.ftpm-member-help-modal__close,
  button.ftpm-member-payment-modal__close,
  button.ftpm-stock-cancel-modal__close,
  button.ftpm-facility-preview-close
)::before {
  transform: rotate(45deg) !important;
}

:is(
  button.ftpm-icon-button--close,
  button.ftpm-mailbox-modal-close,
  button.ftpm-birds-modal__close,
  button.ftpm-bird-editor-close,
  button.ftpm-admin-entry-modal__close,
  button.ftpm-member-help-modal__close,
  button.ftpm-member-payment-modal__close,
  button.ftpm-stock-cancel-modal__close,
  button.ftpm-facility-preview-close
)::after {
  transform: rotate(-45deg) !important;
}

/* Legacy mailbox contracts use high-specificity !important declarations. */
body.ftpm-virtual-system-active .ftpm-system-page-rendered .ftpm-frontend-mailbox-shell button.ftpm-mailbox-modal-close,
.ftpm-frontend-mailbox-shell button.ftpm-mailbox-modal-close {
  flex-basis: var(--ftpm-icon-button-size) !important;
  width: var(--ftpm-icon-button-size) !important;
  min-width: var(--ftpm-icon-button-size) !important;
  max-width: var(--ftpm-icon-button-size) !important;
  height: var(--ftpm-icon-button-size) !important;
  min-height: var(--ftpm-icon-button-size) !important;
  max-height: var(--ftpm-icon-button-size) !important;
}

@media (prefers-reduced-motion: reduce) {
  :is(
    button.ftpm-icon-button,
    button.ftpm-mailbox-modal-close,
    button.ftpm-birds-modal__close,
    button.ftpm-bird-editor-close,
    button.ftpm-admin-entry-modal__close,
    button.ftpm-member-help-modal__close,
    button.ftpm-member-payment-modal__close,
    button.ftpm-stock-cancel-modal__close,
    button.ftpm-facility-preview-close
  ) {
    transition: none !important;
  }
}

/* -------------------------------------------------------------------------
 * 0.55.50 – specialist variants
 * -------------------------------------------------------------------------
 * These adapters are deliberately scoped to FTPM-owned overlays, notices and
 * the already adapted WP-2FA modal. They do not target generic Astra buttons,
 * generic WordPress notices or third-party modals outside the FTPM context.
 */

/* Dark image overlays: bright, high-contrast surface with the shared X. */
:is(
  button.ftpm-icon-button--inverse,
  button.ftpm-lightbox-close,
  .ftpm-facility-lightbox > button.ftpm-facility-lightbox-close
) {
  --ftpm-special-icon-size: 44px;
  --ftpm-special-icon-line: 18px;
  --ftpm-special-icon-thickness: 2px;
  --ftpm-special-icon-border: rgba(255, 255, 255, .78);
  --ftpm-special-icon-background: rgba(255, 255, 255, .96);
  --ftpm-special-icon-color: var(--ast-global-color-0, #123b24);
  --ftpm-special-icon-hover-border: #ffffff;
  --ftpm-special-icon-hover-background: #ffffff;
  --ftpm-special-icon-hover-color: #0b2f1d;
  --ftpm-special-icon-focus: rgba(229, 199, 95, .52);

  appearance: none !important;
  box-sizing: border-box !important;
  display: inline-grid !important;
  place-items: center !important;
  grid-template: minmax(0, 1fr) / minmax(0, 1fr) !important;
  flex: 0 0 var(--ftpm-special-icon-size) !important;
  width: var(--ftpm-special-icon-size) !important;
  min-width: var(--ftpm-special-icon-size) !important;
  max-width: var(--ftpm-special-icon-size) !important;
  height: var(--ftpm-special-icon-size) !important;
  min-height: var(--ftpm-special-icon-size) !important;
  max-height: var(--ftpm-special-icon-size) !important;
  padding: 0 !important;
  border: 1px solid var(--ftpm-special-icon-border) !important;
  border-radius: 999px !important;
  background: var(--ftpm-special-icon-background) !important;
  color: var(--ftpm-special-icon-color) !important;
  box-shadow: 0 12px 34px rgba(0, 0, 0, .28) !important;
  font-size: 0 !important;
  line-height: 0 !important;
  text-align: center !important;
  cursor: pointer;
  overflow: hidden;
  -webkit-tap-highlight-color: transparent;
}

:is(
  button.ftpm-icon-button--inverse,
  button.ftpm-lightbox-close,
  .ftpm-facility-lightbox > button.ftpm-facility-lightbox-close
):hover {
  border-color: var(--ftpm-special-icon-hover-border) !important;
  background: var(--ftpm-special-icon-hover-background) !important;
  color: var(--ftpm-special-icon-hover-color) !important;
  box-shadow: 0 14px 38px rgba(0, 0, 0, .34) !important;
}

:is(
  button.ftpm-icon-button--inverse,
  button.ftpm-lightbox-close,
  .ftpm-facility-lightbox > button.ftpm-facility-lightbox-close
):focus {
  outline: none;
}

:is(
  button.ftpm-icon-button--inverse,
  button.ftpm-lightbox-close,
  .ftpm-facility-lightbox > button.ftpm-facility-lightbox-close
):focus-visible {
  border-color: var(--ftpm-special-icon-hover-border) !important;
  background: var(--ftpm-special-icon-hover-background) !important;
  color: var(--ftpm-special-icon-hover-color) !important;
  outline: 3px solid var(--ftpm-special-icon-focus) !important;
  outline-offset: 3px !important;
  box-shadow: 0 14px 38px rgba(0, 0, 0, .34) !important;
}

/*
 * WP-2FA is a provider-owned modal. The adapter is intentionally limited to
 * the close button which the existing FTPM integration already marks with
 * `.ftpm-2fa-modal-close`; no generic `.modal__close` selector is used.
 */
:is(
  button.ftpm-icon-button--provider,
  .wp2fa-modal button.modal__close.ftpm-2fa-modal-close.ftpm-facility-lightbox-close
) {
  --ftpm-special-icon-size: 44px;
  --ftpm-special-icon-line: 18px;
  --ftpm-special-icon-thickness: 2px;
  --ftpm-special-icon-border: #0b3d27;
  --ftpm-special-icon-background: #0b3d27;
  --ftpm-special-icon-color: #ffffff;
  --ftpm-special-icon-hover-border: #123d2a;
  --ftpm-special-icon-hover-background: #123d2a;
  --ftpm-special-icon-hover-color: #ffffff;
  --ftpm-special-icon-focus: rgba(23, 79, 43, .32);

  appearance: none !important;
  box-sizing: border-box !important;
  position: absolute !important;
  top: 16px !important;
  right: 16px !important;
  left: auto !important;
  bottom: auto !important;
  z-index: 20 !important;
  display: inline-grid !important;
  place-items: center !important;
  grid-template: minmax(0, 1fr) / minmax(0, 1fr) !important;
  width: var(--ftpm-special-icon-size) !important;
  min-width: var(--ftpm-special-icon-size) !important;
  max-width: var(--ftpm-special-icon-size) !important;
  height: var(--ftpm-special-icon-size) !important;
  min-height: var(--ftpm-special-icon-size) !important;
  max-height: var(--ftpm-special-icon-size) !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--ftpm-special-icon-border) !important;
  border-radius: 999px !important;
  background: var(--ftpm-special-icon-background) !important;
  color: var(--ftpm-special-icon-color) !important;
  box-shadow: 0 12px 34px rgba(0, 0, 0, .18) !important;
  font-size: 0 !important;
  line-height: 0 !important;
  text-indent: 0 !important;
  transform: none !important;
  cursor: pointer;
  overflow: hidden;
  -webkit-tap-highlight-color: transparent;
}

:is(
  button.ftpm-icon-button--provider,
  .wp2fa-modal button.modal__close.ftpm-2fa-modal-close.ftpm-facility-lightbox-close
):hover {
  border-color: var(--ftpm-special-icon-hover-border) !important;
  background: var(--ftpm-special-icon-hover-background) !important;
  color: var(--ftpm-special-icon-hover-color) !important;
  box-shadow: 0 14px 36px rgba(0, 0, 0, .24) !important;
}

:is(
  button.ftpm-icon-button--provider,
  .wp2fa-modal button.modal__close.ftpm-2fa-modal-close.ftpm-facility-lightbox-close
):focus {
  outline: none;
}

:is(
  button.ftpm-icon-button--provider,
  .wp2fa-modal button.modal__close.ftpm-2fa-modal-close.ftpm-facility-lightbox-close
):focus-visible {
  border-color: var(--ftpm-special-icon-hover-border) !important;
  background: var(--ftpm-special-icon-hover-background) !important;
  color: var(--ftpm-special-icon-hover-color) !important;
  outline: 3px solid var(--ftpm-special-icon-focus) !important;
  outline-offset: 2px !important;
  box-shadow: none !important;
}

/*
 * Compact notice controls keep a full 44px hit target. Only the visible X and
 * hover surface are visually restrained, so the control remains comfortable
 * for touch and keyboard users.
 */
:is(
  button.ftpm-icon-button--compact,
  button.ftpm-notice__dismiss,
  .ftpm-admin-notice-stack .ftpm-admin-toast button.notice-dismiss,
  .ftpm-admin-notice-stack .ftpm-admin-toast button.ftpm-admin-toast__dismiss
) {
  --ftpm-special-icon-size: 44px;
  --ftpm-special-icon-line: 14px;
  --ftpm-special-icon-thickness: 2px;
  --ftpm-special-icon-hover-background: rgba(15, 23, 42, .09);
  --ftpm-special-icon-focus: rgba(49, 85, 217, .28);

  appearance: none !important;
  box-sizing: border-box !important;
  display: inline-grid !important;
  place-items: center !important;
  grid-template: minmax(0, 1fr) / minmax(0, 1fr) !important;
  flex: 0 0 var(--ftpm-special-icon-size) !important;
  width: var(--ftpm-special-icon-size) !important;
  min-width: var(--ftpm-special-icon-size) !important;
  max-width: var(--ftpm-special-icon-size) !important;
  height: var(--ftpm-special-icon-size) !important;
  min-height: var(--ftpm-special-icon-size) !important;
  max-height: var(--ftpm-special-icon-size) !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: inherit !important;
  box-shadow: none !important;
  font-size: 0 !important;
  line-height: 0 !important;
  text-align: center !important;
  cursor: pointer;
  overflow: hidden;
  -webkit-tap-highlight-color: transparent;
}

button.ftpm-notice__dismiss {
  margin: -6px -6px -6px 0 !important;
}

.ftpm-admin-notice-stack .ftpm-admin-toast button.notice-dismiss,
.ftpm-admin-notice-stack .ftpm-admin-toast button.ftpm-admin-toast__dismiss {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  left: auto !important;
  bottom: auto !important;
  margin: 0 !important;
}

:is(
  button.ftpm-icon-button--compact,
  button.ftpm-notice__dismiss,
  .ftpm-admin-notice-stack .ftpm-admin-toast button.notice-dismiss,
  .ftpm-admin-notice-stack .ftpm-admin-toast button.ftpm-admin-toast__dismiss
):hover {
  background: var(--ftpm-special-icon-hover-background) !important;
  color: #0f172a !important;
  box-shadow: none !important;
}

:is(
  button.ftpm-icon-button--compact,
  button.ftpm-notice__dismiss,
  .ftpm-admin-notice-stack .ftpm-admin-toast button.notice-dismiss,
  .ftpm-admin-notice-stack .ftpm-admin-toast button.ftpm-admin-toast__dismiss
):focus {
  outline: none;
}

:is(
  button.ftpm-icon-button--compact,
  button.ftpm-notice__dismiss,
  .ftpm-admin-notice-stack .ftpm-admin-toast button.notice-dismiss,
  .ftpm-admin-notice-stack .ftpm-admin-toast button.ftpm-admin-toast__dismiss
):focus-visible {
  background: var(--ftpm-special-icon-hover-background) !important;
  color: #0f172a !important;
  outline: 3px solid var(--ftpm-special-icon-focus) !important;
  outline-offset: 1px !important;
  box-shadow: none !important;
}


:is(
  button.ftpm-icon-button--inverse,
  button.ftpm-lightbox-close,
  .ftpm-facility-lightbox > button.ftpm-facility-lightbox-close,
  button.ftpm-icon-button--provider,
  .wp2fa-modal button.modal__close.ftpm-2fa-modal-close.ftpm-facility-lightbox-close,
  button.ftpm-icon-button--compact,
  button.ftpm-notice__dismiss,
  .ftpm-admin-notice-stack .ftpm-admin-toast button.notice-dismiss,
  .ftpm-admin-notice-stack .ftpm-admin-toast button.ftpm-admin-toast__dismiss
):disabled,
:is(
  button.ftpm-icon-button--inverse,
  button.ftpm-lightbox-close,
  .ftpm-facility-lightbox > button.ftpm-facility-lightbox-close,
  button.ftpm-icon-button--provider,
  .wp2fa-modal button.modal__close.ftpm-2fa-modal-close.ftpm-facility-lightbox-close,
  button.ftpm-icon-button--compact,
  button.ftpm-notice__dismiss,
  .ftpm-admin-notice-stack .ftpm-admin-toast button.notice-dismiss,
  .ftpm-admin-notice-stack .ftpm-admin-toast button.ftpm-admin-toast__dismiss
)[aria-disabled="true"] {
  opacity: .52 !important;
  cursor: not-allowed !important;
  box-shadow: none !important;
}

/* Hide legacy glyph children while retaining accessible button labels. */
:is(
  button.ftpm-icon-button--inverse,
  button.ftpm-lightbox-close,
  .ftpm-facility-lightbox > button.ftpm-facility-lightbox-close,
  button.ftpm-icon-button--provider,
  .wp2fa-modal button.modal__close.ftpm-2fa-modal-close.ftpm-facility-lightbox-close,
  button.ftpm-icon-button--compact,
  button.ftpm-notice__dismiss,
  .ftpm-admin-notice-stack .ftpm-admin-toast button.notice-dismiss,
  .ftpm-admin-notice-stack .ftpm-admin-toast button.ftpm-admin-toast__dismiss
) > * {
  display: none !important;
}

/* Shared two-line X for every 0.55.50 specialist variant. */
:is(
  button.ftpm-icon-button--inverse,
  button.ftpm-lightbox-close,
  .ftpm-facility-lightbox > button.ftpm-facility-lightbox-close,
  button.ftpm-icon-button--provider,
  .wp2fa-modal button.modal__close.ftpm-2fa-modal-close.ftpm-facility-lightbox-close,
  button.ftpm-icon-button--compact,
  button.ftpm-notice__dismiss,
  .ftpm-admin-notice-stack .ftpm-admin-toast button.notice-dismiss,
  .ftpm-admin-notice-stack .ftpm-admin-toast button.ftpm-admin-toast__dismiss
)::before,
:is(
  button.ftpm-icon-button--inverse,
  button.ftpm-lightbox-close,
  .ftpm-facility-lightbox > button.ftpm-facility-lightbox-close,
  button.ftpm-icon-button--provider,
  .wp2fa-modal button.modal__close.ftpm-2fa-modal-close.ftpm-facility-lightbox-close,
  button.ftpm-icon-button--compact,
  button.ftpm-notice__dismiss,
  .ftpm-admin-notice-stack .ftpm-admin-toast button.notice-dismiss,
  .ftpm-admin-notice-stack .ftpm-admin-toast button.ftpm-admin-toast__dismiss
)::after {
  content: "" !important;
  position: static !important;
  inset: auto !important;
  grid-area: 1 / 1 !important;
  place-self: center !important;
  display: block !important;
  box-sizing: border-box !important;
  width: var(--ftpm-special-icon-line) !important;
  min-width: var(--ftpm-special-icon-line) !important;
  max-width: var(--ftpm-special-icon-line) !important;
  height: var(--ftpm-special-icon-thickness) !important;
  min-height: var(--ftpm-special-icon-thickness) !important;
  max-height: var(--ftpm-special-icon-thickness) !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: currentColor !important;
  background-image: none !important;
  box-shadow: none !important;
  opacity: 1 !important;
  pointer-events: none !important;
  transform-origin: center !important;
  font: inherit !important;
  speak: never;
}

:is(
  button.ftpm-icon-button--inverse,
  button.ftpm-lightbox-close,
  .ftpm-facility-lightbox > button.ftpm-facility-lightbox-close,
  button.ftpm-icon-button--provider,
  .wp2fa-modal button.modal__close.ftpm-2fa-modal-close.ftpm-facility-lightbox-close,
  button.ftpm-icon-button--compact,
  button.ftpm-notice__dismiss,
  .ftpm-admin-notice-stack .ftpm-admin-toast button.notice-dismiss,
  .ftpm-admin-notice-stack .ftpm-admin-toast button.ftpm-admin-toast__dismiss
)::before {
  transform: rotate(45deg) !important;
}

:is(
  button.ftpm-icon-button--inverse,
  button.ftpm-lightbox-close,
  .ftpm-facility-lightbox > button.ftpm-facility-lightbox-close,
  button.ftpm-icon-button--provider,
  .wp2fa-modal button.modal__close.ftpm-2fa-modal-close.ftpm-facility-lightbox-close,
  button.ftpm-icon-button--compact,
  button.ftpm-notice__dismiss,
  .ftpm-admin-notice-stack .ftpm-admin-toast button.notice-dismiss,
  .ftpm-admin-notice-stack .ftpm-admin-toast button.ftpm-admin-toast__dismiss
)::after {
  transform: rotate(-45deg) !important;
}

@media (prefers-reduced-motion: reduce) {
  :is(
    button.ftpm-icon-button--inverse,
    button.ftpm-lightbox-close,
    .ftpm-facility-lightbox > button.ftpm-facility-lightbox-close,
    button.ftpm-icon-button--provider,
    .wp2fa-modal button.modal__close.ftpm-2fa-modal-close.ftpm-facility-lightbox-close,
    button.ftpm-icon-button--compact,
    button.ftpm-notice__dismiss,
    .ftpm-admin-notice-stack .ftpm-admin-toast button.notice-dismiss,
    .ftpm-admin-notice-stack .ftpm-admin-toast button.ftpm-admin-toast__dismiss
  ) {
    transition: none !important;
  }
}

