/* ── marina-inline-alert — Light DOM styles ────────────────────── */
.marina-internal-alert {
  display: contents;
}

.marina-inline-alert {
  display: flex;
  align-items: flex-start;
  gap: var(--spacing-sm1);
  padding: var(--spacing-sm2);
  border-radius: var(--cds-radius-base);
  border: var(--cds-border-xs) solid transparent;
  background-color: var(--cds-color-neutral-white);
  box-sizing: border-box;
}

/* ── Alert types ──────────────────────────────────────────────── */

/* Informational — no confirmed neutral-600 token; use neutral-500 as closest verified dark neutral */
.marina-inline-alert--informational {
  border-color: var(--cds-color-neutral-500);
  color: var(--cds-color-neutral-black);
}

.marina-inline-alert--informational .marina-inline-alert__icon {
  color: var(--cds-color-neutral-black);
}

.marina-inline-alert--error {
  border-color: var(--cds-color-utility-error-shade);
  color: var(--cds-color-neutral-black);
}

.marina-inline-alert--error .marina-inline-alert__icon {
  color: var(--cds-color-utility-error-shade);
}

.marina-inline-alert--success {
  border-color: var(--cds-color-utility-success-shade);
  color: var(--cds-color-neutral-black);
}

.marina-inline-alert--success .marina-inline-alert__icon {
  color: var(--cds-color-utility-success-shade);
}

.marina-inline-alert--caution {
  border-color: var(--cds-color-utility-caution-shade);
  color: var(--cds-color-neutral-black);
}

.marina-inline-alert--caution .marina-inline-alert__icon {
  color: var(--cds-color-utility-caution-shade);
}

/* ── Icon wrapper ─────────────────────────────────────────────── */
.marina-inline-alert__icon-wrapper {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  padding-top: 0;
}

.marina-inline-alert__icon {
  display: block;
  flex-shrink: 0;
  fill: currentColor;
}

/* ── Body ─────────────────────────────────────────────────────── */
.marina-inline-alert__body {
  flex: 1;
  min-width: 0;
}

.marina-inline-alert__summary {
  display: inline;
  font-family: var(--cds-typography-font-family-body-bold-base);
  font-size: var(--cds-typography-font-size-body-bold-base);
  font-weight: var(--cds-typography-font-weight-body-bold-base);
  line-height: var(--cds-typography-line-height-body-bold-base);
  color: var(--cds-color-neutral-black);
}

.marina-inline-alert__message {
  display: inline;
  font-family: var(--cds-typography-font-family-body-regular-base);
  font-size: var(--cds-typography-font-size-body-regular-base);
  font-weight: var(--cds-typography-font-weight-body-regular-base);
  line-height: var(--cds-typography-line-height-body-regular-base);
  color: var(--cds-color-neutral-black);
}

.marina-inline-alert__summary + .marina-inline-alert__message {
  margin-inline-start: 0.25em;
}

/* Children content (e.g., <ul>, <p>) should appear below summary/message */
.marina-inline-alert__body
  > :not(.marina-inline-alert__summary):not(.marina-inline-alert__message) {
  display: block;
  margin-top: var(--spacing-sm1);
}

/* ── Close button ─────────────────────────────────────────────── */
.marina-inline-alert__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 1.5rem;
  height: 1.5rem;
  padding: 0;
  border: none;
  background: none;
  cursor: pointer;
  color: var(--cds-color-neutral-black);
  border-radius: var(--cds-radius-small);
  margin-inline-start: auto;
}

.marina-inline-alert__close svg {
  fill: currentColor;
}

.marina-inline-alert__close:hover {
  background-color: var(--cds-color-utility-hover-white);
}

.marina-inline-alert__close:hover {
  color: var(--cds-color-neutral-500);
}

.marina-inline-alert__close:focus-visible {
  outline: var(--cds-border-sm) solid var(--cds-color-utility-wcag-focus-state);
  outline-offset: var(--cds-border-sm);
}

/* ── Dark mode ─────────────────────────────────────────────────── */

:is([data-mode='dark']) .marina-inline-alert {
  background-color: var(--cds-color-neutral-black);
}

:is([data-mode='dark']) .marina-inline-alert--informational {
  border-color: var(--cds-color-neutral-300);
  color: var(--cds-color-neutral-white);
}

:is([data-mode='dark'])
  .marina-inline-alert--informational
  .marina-inline-alert__icon {
  color: var(--cds-color-neutral-white);
}

:is([data-mode='dark']) .marina-inline-alert--error,
:is([data-mode='dark']) .marina-inline-alert--success,
:is([data-mode='dark']) .marina-inline-alert--caution {
  color: var(--cds-color-neutral-white);
}

:is([data-mode='dark']) .marina-inline-alert__summary,
:is([data-mode='dark']) .marina-inline-alert__message {
  color: var(--cds-color-neutral-white);
}

:is([data-mode='dark']) .marina-inline-alert__close {
  color: var(--cds-color-neutral-white);
}

:is([data-mode='dark']) .marina-inline-alert__close:hover {
  background-color: var(--cds-color-utility-hover-white);
}
