/* ========================================
   BIVA V2 — PREMIUM CARD SYSTEM
======================================== */

.ui-card {
  position: relative;

  border:
    1px solid var(--biva-line);

  border-radius:
    var(--biva-radius-lg);

  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.98),
      rgba(248, 252, 250, 0.96)
    );

  box-shadow:
    var(--biva-shadow-md),
    inset 0 1px 0
    rgba(255, 255, 255, 0.8);

  overflow: hidden;
}

.ui-card::before {
  content: "";

  position: absolute;
  inset: 0 0 auto 0;

  height: 3px;

  background:
    linear-gradient(
      90deg,
      var(--biva-green-400),
      var(--biva-green-700),
      transparent 90%
    );

  opacity: 0.75;
}

.ui-card-soft {
  background:
    radial-gradient(
      circle at top right,
      rgba(32, 214, 154, 0.12),
      transparent 36%
    ),
    linear-gradient(
      180deg,
      var(--biva-white),
      var(--biva-mint-50)
    );
}

.ui-card-dark {
  color: #ffffff;

  background:
    linear-gradient(
      145deg,
      var(--biva-green-950),
      var(--biva-green-700)
    );

  border-color:
    rgba(255, 255, 255, 0.08);

  box-shadow:
    var(--biva-shadow-lg);
}

.ui-card-interactive {
  transition:
    transform 190ms ease,
    box-shadow 190ms ease,
    border-color 190ms ease;
}

.ui-card-interactive:hover {
  transform: translateY(-5px);

  border-color:
    rgba(0, 184, 124, 0.28);

  box-shadow:
    0 28px 70px
    rgba(3, 44, 35, 0.15);
}

.ui-card-header {
  margin-bottom: 24px;
}

.ui-card-kicker {
  display: block;
  margin-bottom: 8px;

  color:
    var(--biva-green-700);

  font-size: 0.74rem;
  font-weight: 850;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.ui-card-title {
  margin: 0;

  color:
    var(--biva-ink);

  font-size: 1.5rem;
  font-weight: 800;
  line-height: 1.18;
  letter-spacing: -0.025em;
}

.ui-card-description {
  margin: 10px 0 0;

  color:
    var(--biva-muted);

  line-height: 1.68;
}

.ui-card-section {
  padding: 24px;
}

@media (prefers-reduced-motion: reduce) {
  .ui-card-interactive {
    transition: none;
  }
}