/* ============================================================
   NEXORA · Components / Buttons — Apple Minimal
   No gradients, no glass, no glows. Solid monochrome.
   ============================================================ */

.btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  padding: 0.85rem 1.55rem;
  font-family: var(--font-display);
  font-size: 0.95rem;
  font-weight: 500;
  letter-spacing: -0.01em;
  line-height: 1;
  border-radius: var(--radius-full);
  border: none;
  cursor: pointer;
  white-space: nowrap;
  user-select: none;
  box-shadow: none;
  backdrop-filter: none;
  transition:
    transform var(--dur-fast) var(--ease-out),
    background var(--dur) var(--ease-out),
    color var(--dur) var(--ease-out),
    opacity var(--dur) var(--ease-out);
}

.btn .icon { transition: transform var(--dur) var(--ease-spring); }
.btn:hover .icon-arrow { transform: translateX(3px); }
.btn:active { transform: scale(0.97); }

/* Primary — Apple solid: black on white, white on black */
.btn-primary {
  background: #1d1d1f;
  color: #ffffff;
  box-shadow: none;
  overflow: hidden;
}

[data-theme="dark"] .btn-primary {
  background: #ffffff;
  color: #000000;
}

[data-theme="light"] .btn-primary { background: #1d1d1f; color: #fff; }

.btn-primary::after,
.btn-primary::before { content: none; display: none; }

.btn-primary:hover {
  transform: translateY(-1px);
  box-shadow: none;
  opacity: 0.9;
}

/* Secondary — flat, no border, subtle gray */
.btn-secondary {
  background: #f5f5f7;
  color: var(--text-1);
  border: none;
  backdrop-filter: none;
  box-shadow: none;
}

[data-theme="dark"] .btn-secondary { background: #1c1c1e; color: #f5f5f7; }
[data-theme="light"] .btn-secondary { background: #f5f5f7; color: #1d1d1f; }

.btn-secondary:hover {
  background: #e8e8ed;
  border-color: transparent;
  transform: translateY(-1px);
  box-shadow: none;
}

[data-theme="dark"] .btn-secondary:hover { background: #2c2c2e; }

/* Ghost — quiet text button */
.btn-ghost {
  color: var(--text-2);
  padding-inline: 0.9rem;
  background: transparent;
  border: none;
  box-shadow: none;
}

.btn-ghost:hover {
  color: var(--text-1);
  background: transparent;
  box-shadow: none;
}

/* Sizes */
.btn-lg { padding: 1.05rem 2rem; font-size: 1.02rem; border-radius: var(--radius-full); }
.btn-sm { padding: 0.55rem 1rem; font-size: 0.85rem; border-radius: var(--radius-full); }
.btn-block { width: 100%; }

/* Link with animated arrow */
.link-arrow {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-weight: 500;
  font-size: 0.95rem;
  color: var(--text-1);
  transition: gap var(--dur) var(--ease-spring), opacity var(--dur) var(--ease-out);
}

.link-arrow:hover { gap: 0.8rem; color: var(--text-1); opacity: 0.7; }
