/**
 * Icon Box & List Image Uploader - Frontend Styles
 * 
 * Additional styling to ensure image uploads display correctly
 * and match the original Elementor widgets
 */

/* Icon List (Image Upload) - Image Styling */
.elementor-widget-icon-list-image .elementor-icon-list-icon img {
    display: block;
    width: 35px !important;
    height: 35px !important;
    object-fit: contain;
    transition: all 0.3s ease;
}

/* Ensure images are centered in the icon container */
.elementor-widget-icon-list-image .elementor-icon-list-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

/* Match the original icon list styling */
.elementor-widget-icon-list-image .elementor-icon-list-items {
    list-style: none;
    margin: 0;
    padding: 0;
}

.elementor-widget-icon-list-image .elementor-icon-list-item {
    display: flex;
    align-items: center;
    padding-bottom: 5px;
}

.elementor-widget-icon-list-image .elementor-icon-list-text {
    flex: 1;
    transition: all 0.3s ease;
}

/* Icon Box (Image Upload) - Image Styling */
.elementor-widget-icon-box-image .elementor-icon-box-svg img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* Icon Box (Image Upload) - Center Alignment */
.elementor-widget-icon-box-image.elementor-position-top .elementor-icon-box-wrapper {
    text-align: center !important;
    display: block !important;
}

.elementor-widget-icon-box-image.elementor-position-top .elementor-icon-box-svg {
    margin-left: auto !important;
    margin-right: auto !important;
    display: inline-block !important;
}

.elementor-widget-icon-box-image.elementor-position-top .elementor-icon-box-content {
    text-align: center !important;
    width: 100% !important;
}

.elementor-widget-icon-box-image.elementor-position-top .elementor-icon-box-title {
    text-align: center !important;
}

.elementor-widget-icon-box-image.elementor-position-top .elementor-icon-box-description {
    text-align: center !important;
}

/* Override any flex positioning for top position */
.elementor-widget-icon-box-image.elementor-position-top .elementor-icon-box-wrapper {
    justify-content: center !important;
    align-items: center !important;
}

/* Ensure icon box wrapper is centered */
.elementor-widget-icon-box-image .elementor-icon-box-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.elementor-widget-icon-box-image.elementor-position-left .elementor-icon-box-wrapper,
.elementor-widget-icon-box-image.elementor-position-right .elementor-icon-box-wrapper {
    flex-direction: row;
    align-items: flex-start;
}

/* Specific styling for element 90c9899 */
.elementor-50 .elementor-element.elementor-element-90c9899 .elementor-icon-list-text {
    padding-left: 18px !important;
    font-size: 17px !important;
}
.elementor-widget-icon-box-image .elementor-icon-box-wrapper { 
    display: flex;
    justify-content: center !important;
    align-items: center !important;
}

/* Icon Box (Image Upload) - Hover Animation Support */
.elementor-widget-icon-box-image .elementor-icon-box-svg {
    transition: all 0.3s ease;
}

.elementor-widget-icon-box-image .elementor-icon-box-svg img {
    transition: all 0.3s ease;
}

/* Ensure animations work on image containers */
.elementor-widget-icon-box-image .elementor-icon-box-svg[class*="elementor-animation-"] {
    display: inline-block;
}

/* Common hover animations for images */
.elementor-widget-icon-box-image .elementor-animation-grow:hover {
    transform: scale(1.1);
}

.elementor-widget-icon-box-image .elementor-animation-shrink:hover {
    transform: scale(0.9);
}

.elementor-widget-icon-box-image .elementor-animation-pulse:hover {
    animation: pulse 0.5s;
}

.elementor-widget-icon-box-image .elementor-animation-pulse-grow:hover {
    animation: pulse-grow 0.5s;
}

.elementor-widget-icon-box-image .elementor-animation-pulse-shrink:hover {
    animation: pulse-shrink 0.5s;
}

.elementor-widget-icon-box-image .elementor-animation-float:hover {
    transform: translateY(-8px);
}

.elementor-widget-icon-box-image .elementor-animation-sink:hover {
    transform: translateY(8px);
}

.elementor-widget-icon-box-image .elementor-animation-bob:hover {
    animation: bob 0.5s;
}

.elementor-widget-icon-box-image .elementor-animation-hang:hover {
    animation: hang 0.5s;
}

.elementor-widget-icon-box-image .elementor-animation-buzz:hover {
    animation: buzz 0.5s;
}

.elementor-widget-icon-box-image .elementor-animation-buzz-out:hover {
    animation: buzz-out 0.5s;
}