/* =========================
Campaign Card
Figma: Card - Campaign / Card - Campaign Type.
Summary card with icon header, title and a 2x2 metadata grid.
========================= */
@use "../kit-deps" as *;
.campaign-card {
display: flex;
flex-direction: column;
width: 100%;
max-width: 560px;
padding: $space-6;
border: $border-width-base $border-style-base $neutral-200;
border-radius: $radius-xl;
background-color: $neutral-0;
color: $neutral-900;
&__header {
display: flex;
align-items: center;
gap: $space-4;
margin-bottom: $space-6;
}
&__icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 56px;
height: 56px;
flex-shrink: 0;
border-radius: $radius-full;
background-color: $lavender-50;
color: $lavender-700;
.vmk-icon,
.ph {
width: 28px;
height: 28px;
font-size: 28px;
}
}
&__title {
display: flex;
align-items: center;
min-height: 56px;
margin: -0.2em 0;
padding: 0;
font-size: $font-size-xl;
font-weight: $font-weight-bold;
line-height: 1;
color: $neutral-900;
}
&__meta {
display: grid;
grid-template-columns: 1fr 1fr;
gap: $space-5 $space-4;
}
&__meta-item {
display: flex;
flex-direction: column;
gap: $space-2;
}
&__meta-label {
color: $neutral-500;
font-size: $font-size-md;
font-weight: $font-weight-regular;
line-height: $line-height-tight;
}
&__meta-value {
color: $neutral-900;
font-size: $font-size-lg;
font-weight: $font-weight-semibold;
line-height: $line-height-tight;
}
&__action {
display: flex;
align-items: center;
justify-content: center;
margin-top: $space-6;
padding: $space-4 $space-5;
border: $border-width-base $border-style-base $neutral-200;
border-radius: $radius-full;
background-color: $neutral-0;
color: $neutral-900;
font-size: $font-size-lg;
font-weight: $font-weight-semibold;
text-decoration: none;
cursor: pointer;
transition:
background-color $motion-base $motion-ease,
border-color $motion-base $motion-ease;
&:hover {
background-color: $neutral-50;
border-color: $neutral-300;
}
}
&--type {
.campaign-card__icon {
border-radius: $radius-lg;
border: $border-width-base $border-style-base $lavender-100;
background-color: $lavender-50;
color: $lavender-700;
}
.campaign-card__meta {
grid-template-columns: 1fr;
gap: $space-3;
}
.campaign-card__text {
margin: 0 0 $space-4;
color: $neutral-500;
font-size: $font-size-md;
line-height: $line-height-normal;
}
.campaign-card__action {
border-radius: $radius-xl;
}
}
}