$space-200: var(--wds-space-200, calc(var(--wds-space-100, 6px) * 2));
$content-color: var(
  --wds-top-banner-content-color,
  var(--wds-color-text-standard-primary-light, var(--wsr-color-D80, #ffffff))
);

.top-banner {
  width: 100%;
  min-height: 48px;
  box-sizing: border-box;
  background-color: var(
    --wds-top-banner-fill,
    var(--wds-color-purple-200, var(--wsr-color-P20, #c161f0))
  );
  border-radius: var(
    --wds-top-banner-border-radius,
    var(--wds-border-radius-0, 0)
  );
  box-shadow:
    inset 0 0 0 1px
      var(
        --wds-top-banner-border-color,
        var(--wds-color-white-transparent-0, transparent)
      ),
    var(--wds-top-banner-shadow, 0 0 0 transparent);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--wds-top-banner-dismiss-gap, #{$space-200});
  padding-top: var(
    --wds-top-banner-padding-vertical,
    var(--wds-space-150, 9px)
  );
  padding-bottom: var(
    --wds-top-banner-padding-vertical,
    var(--wds-space-150, 9px)
  );
  padding-inline-start: var(
    --wds-top-banner-padding-horizontal-start,
    #{$space-200}
  );
  padding-inline-end: var(
    --wds-top-banner-padding-horizontal-end,
    #{$space-200}
  );

  &--position-sticky {
    position: sticky;
    top: 0;
    right: 0;
  }

  &__content-container {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--wds-top-banner-content-gap, #{$space-200});
  }

  &#{&} #{&}__content {
    color: $content-color;
  }

  &__action {
    display: flex;
    align-items: center;
  }

  &#{&}#{&} #{&}__dismiss-button,
  &#{&}#{&} #{&}__dismiss-button:active {
    color: $content-color;
  }

  @media (hover: hover) {
    &#{&}#{&} #{&}__dismiss-button:hover {
      color: $content-color;
    }
  }
}

.top-banner.top-banner--mobile {
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
  padding: 9px 12px;

  .top-banner__content-container {
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
  }

  .top-banner__content {
    flex: 1;
    text-align: start;
  }

  .top-banner__action {
    width: 100%;
  }

  .top-banner__dismiss-button {
    position: relative;
    flex-shrink: 0;
  }

  .top-banner__dismiss-button::after {
    content: '';
    position: absolute;
    inset: -10px;
  }
}
