//
// 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;
  // scss-docs-end alert-css-vars

  position: relative;
  min-height: 56px; // Modus Customized
  padding: var(--#{$prefix}alert-padding-y) var(--#{$prefix}alert-padding-x);
  margin-bottom: var(--#{$prefix}alert-margin-bottom);
  font-weight: 700; // Modus Customized
  color: var(--#{$prefix}body-color); // Modus Customized
  background-color: var(--#{$prefix}alert-bg);
  border: var(--#{$prefix}alert-border);
  border-left: 12px solid !important; // Modus Customized
  @include border-radius(var(--#{$prefix}alert-border-radius));
}

// Headings for larger alerts
.alert-heading {
  font-weight: 700; // Modus Customized
  // 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; // Modus Customized
  // color: var(--#{$prefix}alert-link-color); // Modus Customized
  text-decoration: underline; // Modus Customized
}


// 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-x; // Modus Customized
  }
}


// scss-docs-start alert-modifiers
// Generate contextual modifier classes for colorizing the alert
@each $state in map-keys($theme-colors) {
  .alert-#{$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);
    --#{$prefix}alert-link-color: var(--#{$prefix}#{$state}-text-emphasis);
  }
}
// scss-docs-end alert-modifiers

.alert-info,
.alert-primary {
  background-color: rgba(220, 237, 249, .5) !important;
  --bs-alert-border-color: #0063a3 !important;
  border-left-color: #0063a3 !important;

  svg[role="img"],
  i.modus-icons {
    color: var(--bs-primary);
  }
}

.alert-success {
  --bs-alert-border-color: var(--#{$prefix}success);
  background-color: rgba(224, 236, 207, .5) !important;
  border-left-color: var(--#{$prefix}success) !important;

  svg[role="img"],
  i.modus-icons {
    color: var(--#{$prefix}success);
  }
}

.alert-danger {
  --bs-alert-border-color: var(--#{$prefix}danger);
  background-color: rgba(251, 212, 215, .5) !important;
  border-left-color: var(--#{$prefix}danger) !important;

  svg[role="img"],
  i.modus-icons {
    color: var(--#{$prefix}danger);
  }
}

.alert-warning {
  --bs-alert-border-color: #e49325 !important;
  background-color: rgba(255, 245, 228, .5) !important;
  border-left-color: #e49325 !important;

  svg[role="img"],
  i.modus-icons {
    color: #e49325;
  }
}

@include color-mode(dark) {
  .alert svg[role="img"],
  .alert i.modus-icons {
    color: #fff !important;
  }

  .alert-info,
  .alert-primary {
    background-color: rgba(1, 154, 235, .5) !important;
    border-color: #019aeb !important;
  }

  .alert-success {
    background-color: rgba(30, 138, 68, .5) !important;
    border-color: #1e8a44 !important;
  }

  .alert-danger {
    background-color: #da212c80 !important;
    border-color: #da212c !important;
  }

  .alert-warning {
    background-color: #fbad2680 !important;
    border-color: #fbad26 !important;
  }
}
