/* ============================================
   BUTTONS — all CTA variants. Pill-shaped, soft.
   Primary uses Hampton Blue accent.
   ============================================ */

.btn {
  font-family: var(--font-heading);
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 14px 40px;
  border-radius: var(--r-pill);
  cursor: pointer;
  display: inline-block;
  border: 2px solid transparent;
  transition: background var(--t-fast) var(--ease-soft),
              transform var(--t-base) var(--ease-calm),
              box-shadow var(--t-base) var(--ease-calm),
              color var(--t-base) var(--ease-soft),
              border-color var(--t-base) var(--ease-soft);
}

.btn-primary {
  background: var(--accent);
  color: var(--white);
  border-color: var(--accent);
  /* Rest shadow signals "this is the primary action" */
  box-shadow: 0 4px 14px rgba(44,74,110,0.22), 0 1px 3px rgba(44,74,110,0.10);
}

.btn-primary:hover {
  background: var(--accent-hover);
  border-color: var(--accent-hover);
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(44,74,110,0.32), 0 3px 8px rgba(44,74,110,0.18);
}

.btn-primary:active {
  transform: translateY(0);
  box-shadow: 0 2px 6px rgba(44,74,110,0.22);
  transition-duration: var(--t-fast);
}

.btn-outline {
  background: transparent;
  color: var(--white);
  border-color: rgba(255,255,255,0.55);
}

.btn-outline:hover {
  border-color: var(--white);
  background: rgba(255,255,255,0.08);
  transform: translateY(-1px);
}

.btn-white {
  background: var(--white);
  color: var(--accent);
  border-color: var(--white);
}

.btn-white:hover {
  background: transparent;
  color: var(--white);
  transform: translateY(-1px);
}

/* CTA-section override: inverts the primary so it pops against a dark gradient */
.cta .btn-primary,
.section-dark .btn-primary {
  background: var(--white);
  color: var(--accent);
  border-color: var(--white);
}

.cta .btn-primary:hover,
.section-dark .btn-primary:hover {
  background: transparent;
  color: var(--white);
  border-color: var(--white);
}
