/* Buttons */
.btn {
  --btn-bg: var(--color-accent);
  --btn-fg: var(--white);
  --btn-border: var(--btn-bg);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.6em;
  min-height: 48px;
  padding: 0.7em 1.5em;
  border: 2px solid var(--btn-border);
  border-radius: var(--radius-sm);
  background: var(--btn-bg);
  color: var(--btn-fg);
  font-family: var(--font-display);
  font-size: 1.0625rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  line-height: 1;
  white-space: nowrap;
  transition: background var(--dur) var(--ease), color var(--dur) var(--ease),
    border-color var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.btn:hover { --btn-bg: var(--color-accent-hover); }
.btn:active { transform: translateY(1px); }

.btn svg { width: 1.1em; height: 1.1em; flex: none; transition: transform var(--dur) var(--ease); }
.btn:hover svg.icon-arrow { transform: translateX(3px); }

.btn--dark { --btn-bg: var(--ink-900); }
.btn--dark:hover { --btn-bg: var(--ink-700); }

.btn--outline {
  --btn-bg: transparent;
  --btn-fg: var(--ink-900);
  --btn-border: var(--ink-900);
}
.btn--outline:hover { --btn-bg: var(--ink-900); --btn-fg: var(--white); --btn-border: var(--ink-900); }

.btn--ghost-light {
  --btn-bg: transparent;
  --btn-fg: var(--white);
  --btn-border: rgba(255, 255, 255, 0.55);
}
.btn--ghost-light:hover { --btn-bg: var(--white); --btn-fg: var(--ink-900); --btn-border: var(--white); }

.btn--sm { min-height: 40px; padding: 0.55em 1.1em; font-size: 0.9375rem; }
.btn--block { width: 100%; }

/* Text link with arrow */
.link-arrow {
  display: inline-flex;
  align-items: center;
  gap: 0.45em;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1.0625rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--color-accent);
}
.link-arrow svg { width: 1em; height: 1em; transition: transform var(--dur) var(--ease); }
.link-arrow:hover svg { transform: translateX(4px); }
