.webform-message .messages.messages--webform .messages-list,
.messages-list {
  display: grid !important;
  padding-block: 0 !important;
  padding-inline-start: 0 !important;
  padding-inline-end: 0 !important;
  list-style: none !important;
}

.webform-message .messages.messages--webform,
.messages {
  min-height: calc(2 * var(--solo-px32)) !important;
  padding: var(--solo-px16) !important;
  margin: var(--solo-px16) 0 !important;
  color: var(--solo-white) !important;
  outline: solid 1px transparent !important;
  background-color: var(--solo-dark-gray) !important;
  border: var(--solo-px1) solid var(--solo-black) !important;
}

.webform-message .messages.messages--webform *,
.messages * {
  color: inherit !important;
}

/* Additional specificity to override contrib modules. */
.webform-message .messages.messages--webform .messages.messages-list__item {
  background-image: none;
}

.webform-message--close a.webform-message__link,
.webform-message .messages.messages--webform .messages__button {
  display: none!important;
}

.messages__list {
  margin-block: 0;
  margin-inline-start: 0;
  margin-inline-end: 0;
  padding-block: 0;
  padding-inline-start: 0;
  padding-inline-end: 0;
  list-style: none;
}

.messages:not(.hidden) ~ .messages {
  margin-block-start: var(--solo-px16) !important;
}

.messages__item + .messages__item {
  margin-block-start: var(--solo-px16) !important;
}

.messages__container {
  display: flex;
}

.messages__header {
  flex-shrink: 0;
}

.messages__header.no-icon {
  margin-inline-end: 0;
}

.messages__content {
  overflow: auto; /* Ensure large code blocks can be scrolled to. */
  flex: 1;
  padding: 0 var(--solo-px16) !important;
}

.messages__button {
  flex-shrink: 0;
}

.messages__close {
  position: relative;
  width: calc(2 * var(--solo-px24)) !important;
  height: calc(2 * var(--solo-px24)) !important;
  cursor: pointer;
  vertical-align: top;
  border: 0;
  background: none;
  -webkit-appearance: none;
  appearance: none;
  border: 1px dashed var(--solo-gray) !important;
  border-radius: 50%;
}

.messages__close::before,
.messages__close::after {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: calc(2 * var(--solo-px20)) !important;
  height: 0;
  content: "";
  border-top: dashed 2px var(--solo-gray) !important;
}

.messages__close::before {
  transform: translate(-50%, -50%) rotate(45deg) !important;
}

.messages__close::after {
  transform: translate(-50%, -50%) rotate(-45deg) !important;
}

.messages__close:hover::before,
.messages__close:hover::after {
  border-color: var(--solo-white) !important;
}

/*.messages__close:focus {
  outline: 2px solid var(--solo-gray);
  outline-offset: 2px;
}
*/
.messages__icon svg {
  vertical-align: top;
  width: calc(2 * var(--solo-px20)) !important;
  height: calc(2 * var(--solo-px20)) !important;
  border-style: dashed;
  border-radius: 50%;
}

.messages--error .messages__icon svg {
  fill: var(--solo-red) !important;
  border-color: var(--solo-red) !important;
}

.messages--warning .messages__icon svg {
  fill: var(--solo-yellow) !important;
  border-color: var(--solo-yellow) !important;
}

.messages--status .messages__icon svg {
  fill: var(--solo-green) !important;
  border-color: var(--solo-green) !important;
}

.messages--info .messages__icon svg {
  fill: var(--solo-blue) !important;
  border-color: var(--solo-blue) !important;
}

.messages a {
  color: var(--solo-white) !important;
}

.messages pre {
  margin: 0;
}

.js-form-managed-file .messages {
  margin-block-end: var(--solo-px16) !important;
  border-inline-start: solid 0.375rem var(--solo-red) !important;
}

.messages.messages--error {
  background: linear-gradient(135deg, #c42d37 0%, #090909 3%, #000 100%);
  box-shadow: rgba(244, 67, 54, 0.3) 0px 2px 8px 0px;
}

.messages.messages--warning {
  background: linear-gradient(135deg, #ffcd3a 0%, #090909 3%, #000 100%);
  box-shadow: rgba(255, 205, 58, 0.3) 0px 2px 8px 0px;
}

.messages.messages--status {
  background: linear-gradient(135deg, #4caf50 0%, #090909 3%, #000 100%);
  box-shadow: rgba(76, 175, 80, 0.3) 0px 2px 8px 0px;
}

.messages.messages--info {
  background: linear-gradient(135deg, #2196f3 0%, #090909 3%, #000 100%);
  box-shadow: rgba(33, 150, 243, 0.3) 0px 2px 8px 0px;
}

.messages.messages--error .messages__close,
.messages.messages--error .messages__close:hover::before,
.messages.messages--error .messages__close:hover::after {
  border-color: var(--solo-red) !important;
  box-shadow: rgba(244, 67, 54, 0.3) 0px 2px 8px 0px;
}

.messages.messages--warning .messages__close,
.messages.messages--warning .messages__close:hover::before,
.messages.messages--warning .messages__close:hover::after {
  border-color: var(--solo-yellow) !important;
  box-shadow: rgba(255, 205, 58, 0.3) 0px 2px 8px 0px;
}

.messages.messages--status .messages__close,
.messages.messages--status .messages__close:hover::before,
.messages.messages--status .messages__close:hover::after {
  border-color: var(--solo-green) !important;
  box-shadow: rgba(76, 175, 80, 0.3) 0px 2px 8px 0px;
}

.messages.messages--info .messages__close,
.messages.messages--info .messages__close:hover::before,
.messages.messages--info .messages__close:hover::after {
  border-color: var(--solo-blue) !important;
  box-shadow: rgba(33, 150, 243, 0.3) 0px 2px 8px 0px;
}

#system-messages .messages__content,
#system-messages .messages__content>* {
  --r-bg: transparent;
  background-color: var(--r-bg) !important;
}
