/* =========================
Cards
========================= */
@use "../kit-deps" as *;
.card {
display: flex;
flex-direction: column;
width: 100%;
background-color: $neutral-0;
border: 1px solid $neutral-200;
border-radius: $radius-xl;
overflow: hidden;
transition:
box-shadow $motion-base $motion-ease,
border-color $motion-base $motion-ease;
&:hover {
border-color: $neutral-300;
}
.card-title {
padding: $space-4 $space-5;
font-size: 18px;
font-weight: $font-weight-bold;
color: $neutral-900;
border-bottom: 1px solid $neutral-100;
}
.card-content {
flex: 1;
padding: $space-5;
color: $neutral-800;
font-size: 15px;
line-height: 1.5;
}
.card-footer {
display: flex;
align-items: center;
gap: $space-3;
padding: $space-3 $space-5;
border-top: 1px solid $neutral-100;
background-color: $neutral-50;
}
// Variants
&.card-filled {
background-color: $neutral-50;
border-color: $neutral-100;
}
&.card-outlined {
background-color: transparent;
border-color: $neutral-400;
}
&.card-primary {
border-color: $neutral-900;
background-color: $neutral-900;
color: $neutral-25;
.card-title,
.card-content { color: $neutral-25; }
}
&.card-secondary {
border-color: $mint-300;
background-color: $mint-300;
}
&.card-elevated {
box-shadow: 0 4px 24px rgba($neutral-900, 0.08);
border-color: transparent;
}
// Sizes
&.card-sm {
border-radius: $radius-md;
.card-title { padding: $space-3 $space-4; font-size: 16px; }
.card-content { padding: $space-4; }
.card-footer { padding: $space-2 $space-4; }
}
&.card-lg {
border-radius: $radius-xl;
.card-title { padding: $space-5 $space-6; font-size: 20px; }
.card-content { padding: $space-6; }
.card-footer { padding: $space-4 $space-6; }
}
// Action card layout
&.action-card {
.action-card-kicker {
display: block;
margin-bottom: $space-2;
font-size: 12px;
font-weight: $font-weight-semibold;
text-transform: uppercase;
letter-spacing: 0.05em;
color: $neutral-500;
}
.action-card-title {
margin: 0 0 $space-2;
font-size: 20px;
font-weight: $font-weight-bold;
color: $neutral-900;
}
.action-card-text {
margin: 0 0 $space-4;
color: $neutral-700;
font-size: 15px;
line-height: 1.5;
}
.action-card-actions {
display: flex;
align-items: center;
gap: $space-3;
}
}
}