.glide-slider-wrapper {
    width: 100%;
}

/* Fallback for when Glide JS doesn't initialize (e.g. Elementor editor).
   Glide adds .glide--carousel or .glide--slider on mount, so when those
   classes are absent, we override glide.core.min.css to show slides in a
   visible grid. No PHP or JS dependency — pure CSS. */
.glide:not(.glide--carousel):not(.glide--slider) .glide__track {
    overflow: visible !important;
    position: static !important;
}

.glide:not(.glide--carousel):not(.glide--slider) .glide__slides {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    transform: none !important;
    width: 100% !important;
    overflow: visible !important;
    white-space: normal !important;
    touch-action: auto !important;
    will-change: auto !important;
    backface-visibility: visible !important;
    transform-style: flat !important;
}

.glide:not(.glide--carousel):not(.glide--slider) .glide__slide {
    width: calc(33.333% - 7px) !important;
    height: auto !important;
    flex-shrink: 0 !important;
    transform: none !important;
    margin: 0 !important;
    white-space: normal !important;
    user-select: auto !important;
    -webkit-touch-callout: default !important;
    -webkit-tap-highlight-color: transparent !important;
}

.glide:not(.glide--carousel):not(.glide--slider) .glide-slide-frame {
    transform: none !important;
}

.glide:not(.glide--carousel):not(.glide--slider) .glide__arrows,
.glide:not(.glide--carousel):not(.glide--slider) .glide__bullets {
    display: none !important;
}

.glide-slide-caption {
    text-align: center;
    padding: 10px;
    font-size: 14px;
}

.glide__slide {
    overflow: visible;
}

.glide-slide-frame {
    position: relative;
    transition: transform 1s cubic-bezier(0.6, 0.2, 0.1, 1);
    transform-origin: center center;
    transform: perspective(1500px) rotateY(0deg);
    will-change: transform;
}

.glide-slide-frame::after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0;
    transition: opacity 1s cubic-bezier(0.6, 0.2, 0.1, 1);
}

.glide-slide-frame.is-left::after {
    background: linear-gradient(to right, transparent 45%, rgba(0, 0, 0, 0.55) 100%);
    opacity: 1;
}

.glide-slide-frame.is-right::after {
    background: linear-gradient(to left, transparent 45%, rgba(0, 0, 0, 0.55) 100%);
    opacity: 1;
}

.glide-slider-wrapper .glide__slide img {
    width: 100% !important;
    height: 460px !important;
    max-width: 100% !important;
    display: block;
    object-fit: cover;
}

.glide__arrow {
    border: none;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    color: #2e3192;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
    padding: 0;
    z-index: 3;
}

.glide__arrow:hover {
    background: #2e3192;
    color: #fff;
    box-shadow: 0 4px 12px rgba(46, 49, 146, 0.4);
}

.glide__bullet {
    width: 10px;
    height: 10px;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    padding: 0;
    margin: 0 4px;
    transition: background-color 0.2s ease;
}
