/* Purpose: Foil call-to-action button, its wide and ghost variants, and the note line under it. */

.cta {
  position: relative;
  display: inline-block;
  width: 100%;
  isolation: isolate;
  overflow: hidden;
  background: var(--foil);
  color: var(--color-dark-ink);
  font-family: var(--font-body);
  font-weight: var(--weight-extra);
  letter-spacing: var(--tracking-cta);
  font-size: var(--fs-15-5);
  line-height: var(--leading-none);
  padding: var(--space-19) var(--space-22);
  border: 0;
  border-radius: var(--radius-full);
  cursor: pointer;
  text-decoration: none;
  text-align: center;
  box-shadow: var(--shadow-cta);
  transition:
    transform var(--duration-fast) var(--ease-smooth),
    box-shadow var(--duration-base) ease,
    filter var(--duration-fast) ease;
}

/* Light sheen that sweeps across on hover. */
.cta::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--sheen-cta);
  transform: translateX(-120%);
  transition: transform var(--duration-sheen) var(--ease-smooth);
}

.cta:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-cta-hover);
  filter: saturate(1.08);
}

.cta:hover::after {
  transform: translateX(120%);
}

.cta:active {
  transform: translateY(-1px);
}

.cta:focus-visible {
  outline: 2px solid var(--color-gold-200);
  outline-offset: 4px;
}

.cta--wide {
  display: block;
  width: 100%;
}

.cta--ghost {
  background: transparent;
  color: var(--color-gold-200);
  border: 1px solid var(--color-line-3);
  box-shadow: none;
  font-weight: var(--weight-bold);
}

.cta--ghost:hover {
  background: var(--color-gold-tint-10);
  box-shadow: none;
}

.cta-note {
  font-size: var(--fs-14-5);
  color: var(--color-ink-3);
  margin: var(--space-18) 0 0;
}

.cta-note b {
  color: var(--color-gold-200);
  font-weight: var(--weight-bold);
}

@media (min-width: 561px) {
  .cta {
    width: auto;
    padding: var(--space-21) var(--space-40);
    font-size: var(--fs-16-5);
  }

  .cta--wide {
    width: 100%;
  }
}
