/* =============================================================================
   BUTTONS — Modern button system
   ============================================================================= */

/* ---------------------------------------------------------------------------
   BASE BUTTON
--------------------------------------------------------------------------- */

.button,
.btn,
a.button,
input[type="submit"],
input[type="button"],
button[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  padding: var(--space-3) var(--space-6);
  border-radius: var(--radius-full);
  font-family: var(--font-sans);
  font-size: var(--text-sm);
  font-weight: var(--font-semibold);
  line-height: 1;
  cursor: pointer;
  text-decoration: none;
  border: 2px solid transparent;
  transition: all var(--transition-fast);
  white-space: nowrap;
  position: relative;
  overflow: hidden;
  letter-spacing: var(--tracking-wide);
}

/* Shimmer effect on hover */
.button::after,
.btn::after {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.15), transparent);
  transition: left var(--transition-slow);
}

.button:hover::after,
.btn:hover::after {
  left: 100%;
}

/* ---------------------------------------------------------------------------
   PRIMARY — Gradient brand
--------------------------------------------------------------------------- */

.button--primary,
.btn--primary,
input[type="submit"],
button[type="submit"] {
  background: var(--gradient-brand);
  color: var(--color-text-inverse);
  box-shadow: 0 4px 14px rgba(99, 102, 241, 0.35);
}

.button--primary:hover,
.btn--primary:hover,
input[type="submit"]:hover,
button[type="submit"]:hover {
  background: var(--gradient-brand-hover);
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(99, 102, 241, 0.45);
}

.button--primary:active,
.btn--primary:active {
  transform: translateY(0);
  box-shadow: 0 2px 8px rgba(99, 102, 241, 0.3);
}

/* ---------------------------------------------------------------------------
   SECONDARY — Outline
--------------------------------------------------------------------------- */

.button--secondary,
.btn--secondary {
  background: transparent;
  color: var(--color-brand-text);
  border-color: var(--color-border-brand);
}

.button--secondary:hover,
.btn--secondary:hover {
  background: var(--color-brand-subtle);
  border-color: var(--color-brand);
  transform: translateY(-1px);
  box-shadow: var(--shadow-md);
}

/* ---------------------------------------------------------------------------
   GHOST — Minimal
--------------------------------------------------------------------------- */

.button--ghost,
.btn--ghost {
  background: transparent;
  color: var(--color-text-secondary);
  border-color: var(--color-border);
}

.button--ghost:hover,
.btn--ghost:hover {
  background: var(--color-bg-secondary);
  border-color: var(--color-border-strong);
  color: var(--color-text);
}

/* ---------------------------------------------------------------------------
   ACCENT — Cyan
--------------------------------------------------------------------------- */

.button--accent,
.btn--accent {
  background: linear-gradient(135deg, var(--color-accent-500), var(--color-primary-500));
  color: var(--color-text-inverse);
  box-shadow: var(--shadow-accent);
}

.button--accent:hover,
.btn--accent:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 30px rgba(6, 182, 212, 0.35);
}

/* ---------------------------------------------------------------------------
   SIZES
--------------------------------------------------------------------------- */

.button--sm,
.btn--sm {
  padding: var(--space-2) var(--space-4);
  font-size: var(--text-xs);
}

.button--lg,
.btn--lg {
  padding: var(--space-4) var(--space-8);
  font-size: var(--text-base);
}

/* ---------------------------------------------------------------------------
   ICON BUTTON
--------------------------------------------------------------------------- */

.button--icon,
.btn--icon {
  width: 40px;
  height: 40px;
  padding: 0;
  border-radius: var(--radius-full);
}

/* ---------------------------------------------------------------------------
   READ MORE / CTA LINK
--------------------------------------------------------------------------- */

.read-more,
.more-link a {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  color: var(--color-brand-text);
  font-size: var(--text-sm);
  font-weight: var(--font-semibold);
  /* text-decoration: none; */
  padding: var(--space-2) 0;
  border-bottom: 2px solid var(--color-primary-200);
  transition: all var(--transition-fast);
}

.read-more:hover,
.more-link a:hover {
  gap: var(--space-3);
  border-bottom-color: var(--color-brand);
  color: var(--color-brand-hover);
}
