/* Badges Container */
.spl-wrapper {
    display: flex;
    gap: 8px;
    z-index: 10;
    pointer-events: none;
}

/* Position Overrides */
.spl-pos-top-left .spl-wrapper,
.spl-pos-top-right .spl-wrapper,
.spl-pos-bottom-left .spl-wrapper,
.spl-pos-bottom-right .spl-wrapper {
    position: absolute;
    margin: 10px;
}
.spl-pos-top-left .spl-wrapper { top: 0; left: 0; }
.spl-pos-top-right .spl-wrapper { top: 0; right: 0; }
.spl-pos-bottom-left .spl-wrapper { bottom: 0; left: 0; }
.spl-pos-bottom-right .spl-wrapper { bottom: 0; right: 0; }

/* Layouts */
.spl-wrapper.layout-horizontal { flex-direction: row; flex-wrap: wrap; }
.spl-wrapper.layout-vertical { flex-direction: column; align-items: flex-start; }
.spl-wrapper.layout-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }

/* Badge Default Styles */
.spl-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    color: #fff;
    background-color: #333;
    line-height: 1.2;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    transition: all 0.3s ease;
    gap: 5px; /* Default gap between icon and text */
}

/* Icon Positions */
.spl-icon-pos-left .spl-badge { flex-direction: row; }
.spl-icon-pos-right .spl-badge { flex-direction: row-reverse; }
.spl-icon-pos-top .spl-badge { flex-direction: column; text-align: center; }
.spl-icon-pos-bottom .spl-badge { flex-direction: column-reverse; text-align: center; }

/* Icon Visibility */
.spl-visibility-icon_only .spl-text { display: none; }
.spl-visibility-text_only .spl-icon { display: none; }

/* Icon Styling */
.spl-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

/* Icon Animations */
@keyframes splPulse { 0% { transform: scale(1); } 50% { transform: scale(1.1); } 100% { transform: scale(1); } }
@keyframes splBounce { 0%, 20%, 50%, 80%, 100% { transform: translateY(0); } 40% { transform: translateY(-5px); } 60% { transform: translateY(-3px); } }
@keyframes splFloat { 0% { transform: translateY(0px); } 50% { transform: translateY(-4px); } 100% { transform: translateY(0px); } }
@keyframes splShake { 0%, 100% { transform: translateX(0); } 10%, 30%, 50%, 70%, 90% { transform: translateX(-2px); } 20%, 40%, 60%, 80% { transform: translateX(2px); } }
@keyframes splSpin { 100% { transform: rotate(360deg); } }

.spl-anim-pulse .spl-icon { animation: splPulse 2s infinite; }
.spl-anim-bounce .spl-icon { animation: splBounce 2s infinite; }
.spl-anim-float .spl-icon { animation: splFloat 3s ease-in-out infinite; }
.spl-anim-shake .spl-icon:hover { animation: splShake 0.8s cubic-bezier(.36,.07,.19,.97) both; }
.spl-anim-spin .spl-icon { animation: splSpin 2s linear infinite; }

/* Specific Default Colors */
.spl-badge.sale { background-color: #ff3366; }
.spl-badge.out-of-stock { background-color: #888888; }
.spl-badge.low-stock { background-color: #ff9900; }
.spl-badge.new { background-color: #00cc66; }
.spl-badge.featured { background-color: #9933cc; }

/* Editor compatibility */
.elementor-widget-smart_product_labels_711d2772 {
    position: static;
}
