.cb-card-icon {
    padding: var(--cb-card-icon-padding, 1.5rem);
    transition: transform var(--cb-card-icon-transition-duration, 300ms) ease,
                box-shadow var(--cb-card-icon-transition-duration, 300ms) ease;
}

@media (prefers-reduced-motion: no-preference) {
    .cb-card-icon:hover {
        transform: scale(var(--cb-card-icon-hover-scale, 1.02));
        box-shadow: var(--cb-card-icon-hover-shadow, 0 8px 24px rgba(0, 0, 0, 0.15));
    }
}

.cb-card-icon-header {
    margin-bottom: var(--cb-card-icon-header-margin-bottom, 1rem);
}

.cb-card-icon-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--cb-card-icon-badge-size, 48px);
    height: var(--cb-card-icon-badge-size, 48px);
    border-radius: var(--cb-card-icon-badge-radius, var(--bs-border-radius));
    background-color: var(--cb-card-icon-badge-bg, rgba(var(--bs-primary-rgb), 0.12));
    color: var(--cb-card-icon-badge-color, var(--bs-primary));
    margin-bottom: var(--cb-card-icon-badge-margin-bottom, 1rem);
}

.cb-card-icon-title {
    font-size: var(--cb-card-icon-title-font-size, 1.25rem);
    font-weight: var(--cb-card-icon-title-font-weight, 600);
    color: var(--cb-card-icon-title-color, var(--bs-body-color));
    margin-bottom: 0;
}

.cb-card-icon-body {
    color: var(--cb-card-icon-body-color, var(--bs-secondary-color));
    font-size: var(--cb-card-icon-body-font-size, 1rem);
}

.cb-card-icon-body p:last-child {
    margin-bottom: 0;
}