/* ===========================================
   BUTTONS
   =========================================== */
.btn {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-family: var(--font-body);
  font-weight: 600;
  font-size: .92rem;
  padding: .85rem 2rem;
  border-radius: var(--r-pill);
  border: none;
  cursor: pointer;
  transition: all var(--t-fast);
  text-decoration: none;
  line-height: 1;
}

.btn--primary {
  background: var(--forest);
  color: white;
  box-shadow: 0 2px 12px rgba(45, 80, 22, .15);
}

.btn--primary:hover {
  background: var(--teal);
  color: white;
  transform: translateY(-2px);
  box-shadow: 0 6px 24px rgba(90, 158, 159, .2);
}

.btn--secondary {
  background: transparent;
  color: var(--forest-deep);
  border: 1.5px solid rgba(45, 80, 22, .45);
  box-shadow: none;
}

.btn--secondary:hover {
  background: var(--forest-deep);
  color: white;
  border-color: var(--forest-deep);
  transform: translateY(-2px);
  box-shadow: 0 6px 22px rgba(45, 80, 22, .16);
}

.section--dark .btn--secondary,
.hero .btn--secondary {
  color: var(--cream);
  border-color: rgba(245, 242, 237, .45);
  background: rgba(255, 255, 255, .06);
}

.section--dark .btn--secondary:hover,
.hero .btn--secondary:hover {
  background: var(--cream);
  color: var(--forest-deep);
  border-color: var(--cream);
}

.btn--soft {
  background: var(--cream-warm);
  color: var(--forest-deep);
  border: 1px solid var(--border-soft);
}

.btn--soft:hover {
  background: var(--sand);
  border-color: var(--bark);
  transform: translateY(-2px);
  color: var(--forest-deep);
}

.btn--outline {
  background: transparent;
  color: var(--forest);
  border: 1.5px solid rgba(61, 107, 53, .45);
}

.btn--outline:hover {
  background: var(--forest);
  color: white;
  border-color: var(--forest);
  transform: translateY(-2px);
}

.btn--ghost {
  background: rgba(255, 255, 255, .1);
  color: var(--cream);
  border: 1px solid rgba(255, 255, 255, .2);
}

.btn--ghost:hover {
  background: rgba(255, 255, 255, .18);
  border-color: rgba(255, 255, 255, .35);
  color: white;
  transform: translateY(-2px);
}

.btn-row {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  align-items: center;
}

.text-center .btn-row {
  justify-content: center;
}