/* Gire Logo Widget Styles */
.gire-logo-widget {
    display: block;
}

.gire-logo-widget .gire-logo-container {
    display: inline-block;
    width: 100%;
}

.gire-logo-widget .gire-logo-positioned.position-sticky {
    position: sticky !important;
}

.gire-logo-widget .gire-logo-positioned.position-fixed {
    position: fixed !important;
}

.gire-logo-widget .gire-logo-positioned.position-absolute {
    position: absolute !important;
}

.gire-logo-widget .gire-logo-image {
    max-width: 100%;
    height: auto;
    display: inline-block;
    transition: all 0.3s ease;
    vertical-align: top;
}

.gire-logo-widget .gire-logo-link {
    display: inline-block;
    text-decoration: none;
    border: none;
    outline: none;
}

.gire-logo-widget .gire-logo-link:hover .gire-logo-image {
    opacity: 0.8;
    transform: scale(1.05);
}

.gire-logo-widget .gire-logo-link:focus {
    outline: 2px solid #4a90e2;
    outline-offset: 2px;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .gire-logo-widget .gire-logo-positioned.position-fixed,
    .gire-logo-widget .gire-logo-positioned.position-sticky {
        max-width: 50vw;
    }
}

@media (max-width: 480px) {
    .gire-logo-widget .gire-logo-positioned.position-fixed,
    .gire-logo-widget .gire-logo-positioned.position-sticky {
        max-width: 40vw;
    }
}

/* Animation classes for hover effects */
.gire-logo-widget .elementor-animation-grow:hover {
    transform: scale(1.1);
}

.gire-logo-widget .elementor-animation-shrink:hover {
    transform: scale(0.9);
}

.gire-logo-widget .elementor-animation-pulse:hover {
    animation: gire-pulse 1s infinite;
}

.gire-logo-widget .elementor-animation-bounce-in:hover {
    animation: gire-bounce-in 0.75s;
}

.gire-logo-widget .elementor-animation-rotate:hover {
    transform: rotate(360deg);
}

.gire-logo-widget .elementor-animation-wobble-horizontal:hover {
    animation: gire-wobble-horizontal 1s ease-in-out;
}

/* Keyframe animations */
@keyframes gire-pulse {
    0% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.1);
    }
    100% {
        transform: scale(1);
    }
}

@keyframes gire-bounce-in {
    0% {
        opacity: 0;
        transform: scale(0.3);
    }
    50% {
        opacity: 1;
        transform: scale(1.05);
    }
    70% {
        transform: scale(0.9);
    }
    100% {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes gire-wobble-horizontal {
    16.65% {
        transform: translateX(8px);
    }
    33.3% {
        transform: translateX(-6px);
    }
    49.95% {
        transform: translateX(4px);
    }
    66.6% {
        transform: translateX(-2px);
    }
    83.25% {
        transform: translateX(1px);
    }
    100% {
        transform: translateX(0);
    }
}
