/* ==========================================================================
   FTS: Content Card
   --------------------------------------------------------------------------
   Flexible content card pattern.
   Uses existing design-system tokens only.
========================================================================== */


/* Card shell ------------------------------------------------------------- */

.fts-content-card {
  --fts-content-card-accent: var(--color-accent);

  display: flex;
  flex-direction: column;

  background: var(--color-surface);
  color: var(--color-text);

  padding: var(--fts-gutter-sm);

  box-shadow: var(--shadow-1);

  transition:
    box-shadow var(--fts-btn-transition) ease;
}

.fts-content-card--bg-white {
  background: var(--white, #fff);
}

.fts-content-card--bg-soft-white {
  background: var(--soft-white, var(--color-surface));
}

.fts-content-card--shadow-yes {
  box-shadow: var(--shadow-1);
}

.fts-content-card--shadow-no {
  box-shadow: none;
}


/* Card title ------------------------------------------------------------- */

.fts-content-card-title {
  margin-top: 0;
  margin-bottom: 0.625rem !important;
  line-height: var(--line-height-heading);
}


/* Card body -------------------------------------------------------------- */

.fts-content-card-body {
  flex: 1 1 auto;
  margin-left: 0.125rem;

  color: var(--color-text);
  font-family: var(--font-family-body);
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
  letter-spacing: 0.015em;
}

/* Normalize content spacing inside card body. */
.fts-content-card-body > * {
  margin-top: 0;
}

/* Paragraph spacing. */
.fts-content-card-body p {
  margin-top: 0;
  margin-bottom: 0.75rem;
}

/* Remove extra space after the final body element. */
.fts-content-card-body > :last-child {
  margin-bottom: 0;
}

/* Keep lists aligned with paragraph rhythm. */
.fts-content-card-body ul,
.fts-content-card-body ol {
  margin-top: 0;
  margin-bottom: 0.75rem;
  padding-left: 1.5rem;
}

.fts-content-card-body li {
  margin-bottom: 0.375rem;
}

.fts-content-card-body li:last-child {
  margin-bottom: 0;
}


/* Card action ------------------------------------------------------------ */

.fts-content-card-button {
  margin-top: var(--fts-stack-sm);
  text-align: left;
}

.fts-content-card-button a {
  position: relative;

  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.4em;

  margin: 0 !important;
  padding: 0 !important;

  color: var(--color-text) !important;
  background: transparent !important;

  font-family: var(--font-family-body);
  font-size: 0.8125rem !important;
  font-weight: var(--weight-bold);
  line-height: 1.2;
  letter-spacing: 0.075em;
  text-transform: uppercase;
  text-decoration: none;
  white-space: normal;

  cursor: pointer;

  transition:
    color var(--fts-btn-transition) ease,
    transform var(--fts-btn-transition) ease;
}

.fts-content-card-button a::after {
  content: "→";
  display: inline-block;
  transform: translateY(-0.02em);
  transition: transform var(--fts-btn-transition) ease;
}

/* When the whole card is hovered/focused, make CTA match the menu landing behavior. */
/* .fts-content-card:hover .fts-content-card-button a,
.fts-content-card:focus-within .fts-content-card-button a {
  color: var(--fts-content-card-accent) !important;
  text-decoration: none;
} */

/* Keep direct link hover/focus consistent with menu landing page cards. */
.fts-content-card-button a:hover,
.fts-content-card-button a:focus-visible {
  color: var(--fts-content-card-accent) !important;
  text-decoration: none;
  transform: translateX(2px);
}

.fts-content-card-button a:hover::after,
.fts-content-card-button a:focus-visible::after{
  transform: translate(0.15rem, -0.02em);
}

.fts-content-card-button a:focus-visible {
  outline: var(--fts-focus-width) solid currentColor;
  outline-offset: var(--fts-focus-offset);
}


/* Reduced motion --------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
  .fts-content-card,
  .fts-content-card-button a,
  .fts-content-card-button a::after {
    transition: none;
  }

  .fts-content-card-button a:hover,
  .fts-content-card-button a:focus-visible {
    transform: none;
  }

  .fts-content-card-button a:hover::after,
  .fts-content-card-button a:focus-visible::after{
    transform: translateY(-0.02em);
  }
}