/* q-alert — 공지/콜아웃 박스 컴포넌트 (q-platform) */

.q-alert {
  display: flex;
  align-items: flex-start;
  gap: var(--q-space-3);
  padding: var(--q-space-4);
  border: 1px solid var(--q-border);
  border-radius: var(--q-radius-md);
  background: var(--q-surface-muted);
  color: var(--q-text);
  font-family: var(--q-font-sans);
}

.q-alert__icon {
  flex: none;
}

.q-alert__content {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: var(--q-space-2);
  min-width: 0;
}

.q-alert__dismiss {
  flex: none;
  align-self: flex-start;
  padding: var(--q-space-1);
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
}

.q-alert__title {
  color: inherit;
  font-size: 15px;
  font-weight: 750;
  line-height: 1.4;
}

.q-alert__body {
  color: var(--q-text-muted);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
}

/* 상태 변형 (Success, Warning, Danger) */
.q-alert--success {
  background: var(--q-success-bg);
  border-color: transparent;
  color: var(--q-success-text);
}

.q-alert--success .q-alert__body {
  color: var(--q-success-text);
  opacity: 0.85;
}

.q-alert--warning {
  background: var(--q-warning-bg);
  border-color: transparent;
  color: var(--q-warning-text);
}

.q-alert--warning .q-alert__body {
  color: var(--q-warning-text);
  opacity: 0.85;
}

.q-alert--danger {
  background: var(--q-danger-bg);
  border-color: transparent;
  color: var(--q-danger-text);
}

.q-alert--danger .q-alert__body {
  color: var(--q-danger-text);
  opacity: 0.85;
}
