/* ===========================================
   BUTTON COMPONENT
   CTA and action buttons
   =========================================== */

.block-button {
  margin: 40px 0;
}

.block-button.btn-align-left { text-align: left; }
.block-button.btn-align-center { text-align: center; }
.block-button.btn-align-right { text-align: right; }

.block-button a,
.block-button button {
  display: inline-block;
  padding: 14px 32px;
  border-radius: 4px;
  text-decoration: none;
  font-weight: 500;
  font-size: 0.95rem;
  letter-spacing: 0.02em;
  transition: all 0.3s ease;
  border: none;
  cursor: pointer;
}

/* Primary - solid dark */
.btn-primary {
  background: #1a1a1a;
  color: #fff;
}

.btn-primary:hover {
  background: #333;
  opacity: 1;
}

/* Secondary - solid grey */
.btn-secondary {
  background: #64748b;
  color: #fff;
}

.btn-secondary:hover {
  background: #475569;
  opacity: 1;
}

/* Outline - bordered */
.btn-outline {
  background: transparent;
  color: #1a1a1a;
  border: 2px solid #1a1a1a;
  padding: 12px 30px;
}

.btn-outline:hover {
  background: #1a1a1a;
  color: #fff;
  opacity: 1;
}

/* Ghost - minimal */
.btn-ghost {
  background: transparent;
  color: #555;
  padding: 12px 24px;
}

.btn-ghost:hover {
  color: #1a1a1a;
  opacity: 1;
}

/* Light - for dark backgrounds */
.btn-light {
  background: #fff;
  color: #1a1a1a;
}

.btn-light:hover {
  background: #f5f5f5;
  opacity: 1;
}

/* Size variants */
.btn-sm {
  padding: 10px 20px;
  font-size: 0.85rem;
}

.btn-lg {
  padding: 18px 40px;
  font-size: 1.05rem;
}

/* Full width */
.btn-full {
  display: block;
  width: 100%;
  text-align: center;
}

/* Responsive */
@media (max-width: 768px) {
  .block-button a,
  .block-button button {
    padding: 12px 24px;
    font-size: 0.9rem;
  }
}
