/**
 * notice.css
 * Premium Minimal Notice & Alert Components
 */

/* ============================================
   기본 알림 박스 (Base Notice Box) — Minimal Border
   ============================================ */

.notice-box,
.notice {
  display: flex;
  align-items: flex-start;
  gap: var(--notice-gap);

  width: 100%;

  padding: var(--notice-padding);
  margin-top: var(--spacing-md);

  border: var(--notice-border-width) solid var(--color-border-light);
  border-radius: var(--notice-border-radius);
  background: transparent;

  font-size: var(--font-size-sm);
  line-height: var(--line-height-normal);
  color: var(--color-text-secondary);

  transition: all var(--transition-base) var(--ease-out);
}

.notice--small {
  padding: var(--spacing-sm) var(--spacing-md);
  font-size: var(--font-size-xs);
  margin-top: 0;
}


/* ============================================
   알림 아이콘
   ============================================ */

.notice__icon {
  font-size: 1.1em;
  flex-shrink: 0;
  margin-top: 2px;
}

.notice__content {
  flex: 1;
}

.notice__title {
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  display: block;
  margin-bottom: var(--spacing-xs);
}


/* ============================================
   알림 변형 — Semantic Accents
   ============================================ */

/* Info */
.notice--info {
  border-color: rgba(96, 165, 250, 0.2);
}

.notice--info .notice__icon {
  color: var(--color-info);
}

/* Success */
.notice--success {
  border-color: rgba(74, 222, 128, 0.2);
}

.notice--success .notice__icon {
  color: var(--color-success);
}

/* Warning */
.notice--warning {
  border-color: rgba(245, 158, 11, 0.2);
}

.notice--warning .notice__icon {
  color: var(--color-warning);
}

/* Danger */
.notice--danger {
  border-color: rgba(239, 68, 68, 0.2);
}

.notice--danger .notice__icon {
  color: var(--color-danger);
}

/* Privacy / Neutral */
.notice--privacy {
  border-color: var(--color-border-light);
}

.notice--privacy .notice__icon {
  color: var(--color-text-muted);
}


/* ============================================
   의료 경고 (Medical Warning) — Editorial Style
   ============================================ */

.notice--medical-warning {
  border-color: rgba(245, 158, 11, 0.3);
  padding: var(--spacing-lg);
  gap: var(--spacing-lg);
}

.notice--medical-warning .notice__icon {
  color: var(--color-warning);
  font-size: 1.3em;
}

.notice--medical-warning p {
  margin: 0;
  font-size: var(--font-size-sm);
  line-height: var(--line-height-normal);
}


/* ============================================
   진단 결과용 알림
   ============================================ */

.notice--diagnosis {
  padding: var(--spacing-md) var(--spacing-lg);
  margin-top: var(--spacing-md);
}

.notice--diagnosis.warning {
  border-color: rgba(239, 68, 68, 0.3);
  color: var(--color-danger);
}

.notice--diagnosis.warning i {
  color: var(--color-danger);
}

.notice--diagnosis.privacy {
  border-color: rgba(74, 222, 128, 0.3);
  color: var(--color-success);
}

.notice--diagnosis.privacy i {
  color: var(--color-success);
}


/* ============================================
   반응형
   ============================================ */

@media (max-width: 768px) {

  .notice-box,
  .notice {
    padding: var(--spacing-md);
    gap: var(--spacing-sm);
  }

  .notice--medical-warning {
    padding: var(--spacing-md);
    gap: var(--spacing-sm);
  }
}


/* ============================================
   프린트 스타일
   ============================================ */

@media print {

  .notice-box,
  .notice {
    border: 1px solid #ddd;
    background: #fafafa;
    color: #000;
  }
}