//
// Base styles
//

.alert {
  // scss-docs-start alert-css-vars
  --#{$prefix}alert-bg: transparent;
  --#{$prefix}alert-padding-x: #{$alert-padding-x};
  --#{$prefix}alert-padding-y: #{$alert-padding-y};
  --#{$prefix}alert-margin-bottom: #{$alert-margin-bottom};
  --#{$prefix}alert-color: inherit;
  --#{$prefix}alert-border-color: transparent;
  --#{$prefix}alert-border: #{$alert-border-width} solid var(--#{$prefix}alert-border-color);
  --#{$prefix}alert-border-radius: #{$alert-border-radius};
  --#{$prefix}alert-link-color: inherit; // new

  // scss-docs-end alert-css-vars

  position: relative;
  padding: var(--#{$prefix}alert-padding-y) var(--#{$prefix}alert-padding-x);
  margin-bottom: var(--#{$prefix}alert-margin-bottom);
  color: var(--#{$prefix}alert-color);
  background-color: var(--#{$prefix}alert-bg);
  border: var(--#{$prefix}alert-border);
  @include border-radius(var(--#{$prefix}alert-border-radius)); // new update

}

// Headings for larger alerts
.alert-heading {
  // Specified to prevent conflicts of changing $headings-color
  color: inherit;
}

// Provide class for links that match alerts
.alert-link {
  font-weight: $alert-link-font-weight;
  color: var(--#{$prefix}alert-link-color); // new
}

// Dismissible alerts
// Expand the right padding and account for the close button's positioning.
.alert-dismissible {
  padding-right: $alert-dismissible-padding-r;

  // Adjust close link position
  .btn-close {
    position: absolute;
    top: 0;
    right: 0;
    z-index: $stretched-link-z-index + 1;
    padding: $alert-padding-y * 1.25 $alert-padding-x;
  }
}

// scss-docs-start alert-subtle-modifiers

@each $state in map-keys($theme-colors) {
  .alert-subtle-#{$state} {
    --#{$prefix}alert-color: var(--#{$prefix}#{$state}-text-emphasis);
    --#{$prefix}alert-bg: var(--#{$prefix}#{$state}-bg-subtle);
    --#{$prefix}alert-border-color: var(--#{$prefix}#{$state}-border-subtle);
    --#{$prefix}alert-link-color: var(--#{$prefix}#{$state}-text-emphasis);
  }
}
// scss-docs-end alert-subtle-modifiers

// scss-docs-start alert-outline-modifiers
@each $state in map-keys($theme-colors) {
  .alert-outline-#{$state} {
    --#{$prefix}alert-color: var(--#{$prefix}#{$state});
    --#{$prefix}alert-bg: transparent;
    --#{$prefix}alert-border-color: var(--#{$prefix}#{$state});
    --#{$prefix}alert-link-color: var(--#{$prefix}#{$state}-text-emphasis);

    @if $state == 'secondary' {
      html[data-bs-theme="dark"] & {
        --#{$prefix}alert-color: var(--#{$prefix}secondary-text-emphasis);
        --#{$prefix}alert-border-color: var(--#{$prefix}secondary-text-emphasis);
        --#{$prefix}alert-bg: transparent;
        --#{$prefix}alert-link-color: var(--#{$prefix}body-color);
      }
    }
  }
}
// scss-docs-end alert-outline-modifiers

// scss-docs-start alert-phoenix-modifiers
@each $state in map-keys($theme-colors) {
  .alert-phoenix-#{$state} {
    --#{$prefix}alert-color: var(--#{$prefix}#{$state});
    --#{$prefix}alert-bg: transparent;
    --#{$prefix}alert-border-color: var(--#{$prefix}border-color);
    --#{$prefix}alert-link-color: var(--#{$prefix}#{$state}-text-emphasis);

    @if $state == 'secondary' {
      html[data-bs-theme="dark"] & {
        --#{$prefix}alert-color: var(--#{$prefix}#{$state}-text-emphasis);
        --#{$prefix}alert-border-color: var(--#{$prefix}border-color);
        --#{$prefix}alert-bg: transparent;
        --#{$prefix}alert-link-color: var(--#{$prefix}body-color);
      }
    }
  }
  
}
// scss-docs-end alert-phoenix-modifiers

// scss-docs-start alert-solid-modifiers
@each $state in map-keys($theme-colors) {
  .alert-#{$state} {
    --#{$prefix}alert-color: #{$white};
    --#{$prefix}alert-bg: var(--#{$prefix}#{$state});
    --#{$prefix}alert-border-color: var(--#{$prefix}#{$state});
    --#{$prefix}alert-link-color: var(--#{$prefix}#{$state}-text-emphasis);
    
    @if $state == 'secondary' {
      html[data-bs-theme="dark"] & {
        --#{$prefix}alert-color: #{$white};
        --#{$prefix}alert-bg: var(--#{$prefix}#{$state});
        --#{$prefix}alert-border-color: var(--#{$prefix}#{$state});
        --#{$prefix}alert-link-color: #{$white};
      }
    }
  }
}
// scss-docs-end alert-solid-modifiers