.icon {
    width: 24px;
    height: 24px;
    stroke: currentColor;
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.icon-large {
    width: 48px;
    height: 48px;
}

.icon-small {
    width: 16px;
    height: 16px;
}

.logo-icon {
    width: 33px;
    height: 40px;
    color: var(--primary-color);
}

.logo-icon svg {
    width: 100%;
    height: 100%;
}

.icon-pulse {
    animation: pulse 2s ease-in-out infinite;
}

.icon-bounce {
    animation: bounce 2s ease-in-out infinite;
}

@keyframes pulse {
    0%, 100% {
        opacity: 1;
        transform: scale(1);
    }
    50% {
        opacity: 0.7;
        transform: scale(1.1);
    }
}

@keyframes bounce {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-10px);
    }
}

