/* ============================================================
   CARDS — SM style: white glass, soft shadow, elegant hover
   ============================================================ */

.card {
  background: rgba(255, 255, 255, 0.85);
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: var(--radius-lg);
  padding: var(--space-8);
  box-shadow: var(--shadow-card);
  transition:
    transform    250ms var(--ease-out),
    box-shadow   250ms var(--ease-out),
    border-color 250ms var(--ease-out);

  /* glass effect where supported */
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}

.card--interactive:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-card-hover);
  border-color: rgba(255, 255, 255, 0.8);
}

/* Feature card */
.card--feature {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.card__icon {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-bg-overlay);
  border: 1px solid var(--color-border-default);
  border-radius: var(--radius-md);
  flex-shrink: 0;
  transition:
    background    var(--dur-normal) var(--ease-out),
    border-color  var(--dur-normal) var(--ease-out);
}

.card__icon svg {
  width: 22px;
  height: 22px;
  stroke: var(--color-text-muted);
  fill: none;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: stroke var(--dur-normal) var(--ease-out);
}

.card--interactive:hover .card__icon {
  background: #fff0f0;
  border-color: rgba(220, 38, 38, 0.20);
}

.card--interactive:hover .card__icon svg {
  stroke: var(--color-accent);
}

.card__title {
  font-size: var(--text-xl);
  font-weight: var(--weight-black);
  color: var(--color-text-primary);
  line-height: var(--leading-snug);
  text-transform: uppercase;
  letter-spacing: var(--tracking-tight);
}

.card__body {
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
  line-height: var(--leading-relaxed);
  font-style: italic;
  font-weight: var(--weight-regular);
  text-transform: none;
}

/* Step card */
.card--step {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  padding-top: var(--space-10);
}

.card__step-number {
  position: absolute;
  top: var(--space-6);
  right: var(--space-6);
  font-size: 4rem;
  font-weight: var(--weight-black);
  color: rgba(0, 0, 0, 0.06);  /* very light — decorative only */
  line-height: 1;
  user-select: none;
  pointer-events: none;
  letter-spacing: var(--tracking-tight);
}

/* Targeting parameter card */
.card--param {
  display: flex;
  align-items: center;
  gap: var(--space-4);
}

.card--param .card__icon {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
}

.card--param .card__icon svg {
  width: 18px;
  height: 18px;
}

.card__param-content { flex: 1; }

.card__param-label {
  font-size: var(--text-xs);
  font-weight: var(--weight-black);
  color: var(--color-accent);
  text-transform: uppercase;
  letter-spacing: var(--tracking-widest);
  margin-bottom: 4px;
}

.card__param-value {
  font-size: var(--text-sm);
  font-weight: var(--weight-medium);
  color: var(--color-text-secondary);
  font-style: italic;
  text-transform: none;
}
