/**
 * Card Components
 *
 * Basic, elevated, and interactive card styles.
 */

/* ==========================================================================
   Base Card
   ========================================================================== */

.card {
  background-color: var(--color-bg-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.card-header {
  padding: var(--space-4);
  border-bottom: 1px solid var(--color-border);
}

.card-body {
  padding: var(--space-4);
}

.card-footer {
  padding: var(--space-4);
  border-top: 1px solid var(--color-border);
}

.card-title {
  margin: 0;
  font-size: var(--text-lg);
  font-weight: var(--font-semibold);
}

.card-subtitle {
  margin-top: var(--space-1);
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
}

/* ==========================================================================
   Elevated Card
   ========================================================================== */

.card-elevated {
  border-color: transparent;
  box-shadow: var(--shadow-md);
}

/* ==========================================================================
   Interactive Card
   ========================================================================== */

.card-interactive {
  cursor: pointer;
  transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}

.card-interactive:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-lg);
}

.card-interactive:active {
  transform: translateY(0);
}

/* ==========================================================================
   Card Padding Variants
   ========================================================================== */

.card-compact .card-header,
.card-compact .card-body,
.card-compact .card-footer {
  padding: var(--space-3);
}

.card-spacious .card-header,
.card-spacious .card-body,
.card-spacious .card-footer {
  padding: var(--space-6);
}

/* ==========================================================================
   Canoe Card Variant (wavy border)
   ========================================================================== */

.card-canoe {
  position: relative;
  border-top: none;
  padding-top: var(--pattern-wave-height);
}

.card-canoe::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: var(--pattern-wave-height);
  background-image: var(--pattern-wave);
  background-repeat: repeat-x;
  background-size: 40px var(--pattern-wave-height);
}

/* ==========================================================================
   Status Card Variants
   ========================================================================== */

.card-status-success {
  border-left: 4px solid var(--color-success);
}

.card-status-warning {
  border-left: 4px solid var(--color-warning);
}

.card-status-error {
  border-left: 4px solid var(--color-error);
}

.card-status-info {
  border-left: 4px solid var(--color-info);
}

/* Status cards with glow effect */
.card-status-success.card-glow {
  box-shadow: var(--glow-success);
}

.card-status-warning.card-glow {
  box-shadow: var(--glow-warning);
}

.card-status-error.card-glow {
  box-shadow: var(--glow-error);
}

.card-status-info.card-glow {
  box-shadow: var(--glow-accent);
}
