/* ==========================================================================
   Legal / Support Pages (FAQ, Feedback, Terms, Privacy)
   Settings 하위 페이지 — 앱 디자인 시스템 기반 스타일링
   ========================================================================== */

.legal-page {
  padding-bottom: var(--spacing-section-gap);
}

/* ---------------------------------------------------------------------------
   Content Sections
   --------------------------------------------------------------------------- */
.legal-content {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-list-sm);
}

.legal-updated {
  font-size: var(--font-size-sm);
  color: var(--color-text-muted);
  letter-spacing: var(--letter-spacing-tight);
  padding: 0 var(--spacing-2);
  margin-bottom: var(--spacing-2);
}

/* ---------------------------------------------------------------------------
   Legal Section Card (Terms, Privacy — numbered sections)
   --------------------------------------------------------------------------- */
.legal-section {
  background: var(--color-card-fill);
  border-radius: var(--radius-lg);
  padding: var(--spacing-section);
  display: flex;
  flex-direction: column;
  gap: var(--spacing-2);
}

.legal-heading {
  font-size: var(--font-size-md);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  letter-spacing: var(--letter-spacing-tight);
  line-height: var(--line-height-snug);
}

.legal-text {
  font-size: var(--font-size-md);
  font-weight: var(--font-weight-normal);
  color: var(--color-text-secondary);
  letter-spacing: var(--letter-spacing-tight);
  line-height: var(--line-height-relaxed, 1.6);
}

.legal-text a {
  color: var(--color-text-primary);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.legal-text strong {
  font-weight: var(--font-weight-medium);
  color: var(--color-text-primary);
}

/* ==========================================================================
   FAQ Page
   ========================================================================== */

.faq-item {
  background: var(--color-card-fill);
  border-radius: var(--radius-lg);
  padding: var(--spacing-section);
  display: flex;
  flex-direction: column;
  gap: var(--spacing-2);
}

/* ==========================================================================
   Feedback Page
   ========================================================================== */

.feedback-page {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-section);
}

.feedback-description {
  padding: 0 var(--spacing-2);
}

.feedback-email-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--spacing-3);
  padding: var(--spacing-8) var(--spacing-section);
  background: var(--color-card-fill);
  border-radius: var(--radius-lg);
  text-align: center;
}

.feedback-email-label {
  font-size: var(--font-size-sm);
  color: var(--color-text-muted);
  letter-spacing: var(--letter-spacing-tight);
}

.feedback-email-address {
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  letter-spacing: var(--letter-spacing-tight);
}

.feedback-copy-btn {
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-1);
  padding: var(--spacing-2) var(--spacing-4);
  font-family: var(--font-family-primary);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  color: var(--color-text-primary);
  background: var(--color-bg-primary);
  border: 1px solid var(--color-border-soft);
  border-radius: var(--radius-full);
  cursor: pointer;
  transition: opacity var(--transition-fast);
}

.feedback-copy-btn svg {
  width: var(--icon-size-sm);
  height: var(--icon-size-sm);
}

.feedback-copy-btn:active {
  opacity: var(--opacity-pressed);
}
