/* Elementor Integration - Dark Theme Color Defaults Only */

/* Headings */
.elementor-heading-title {
    color: #fff;
}

/* Text */
.elementor-text-editor {
    color: rgba(255, 255, 255, 0.9);
}

/* Divider */
.elementor-divider-separator {
    border-color: #333;
}

/* Icon */
.elementor-icon {
    color: #fff;
}

/* Icon List */
.elementor-icon-list-text {
    color: rgba(255, 255, 255, 0.9);
}

.elementor-icon-list-icon svg {
    fill: #fff;
}

/* ============================================
   Image Carousel — isolate from theme's global .swiper-* rules
   Theme's hero slider defines global .swiper-slide / .swiper-wrapper
   rules (flex-grow, hover-grow, gradient overlay, filters) that leak
   into Elementor's Swiper. Reset them so Elementor's carousel works
   like a normal Swiper carousel.
   Elementor DOM:
     .elementor-image-carousel-wrapper.swiper
       > .elementor-image-carousel.swiper-wrapper
           > .swiper-slide
               > figure.swiper-slide-inner > img.swiper-slide-image
   ============================================ */
.elementor-image-carousel-wrapper .swiper-wrapper,
.elementor-image-carousel {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    height: auto !important;
}

.elementor-image-carousel-wrapper .swiper-slide {
    position: relative !important;
    height: auto !important;
    overflow: visible !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
    padding: 0 !important;
    flex-grow: 0 !important;
    flex-shrink: 0 !important;
    flex-basis: auto !important;
    transition: none !important;
    z-index: auto !important;
    max-height: none !important;
}

.elementor-image-carousel-wrapper .swiper-slide:first-child,
.elementor-image-carousel-wrapper .swiper-slide:hover {
    flex-grow: 0 !important;
    flex-shrink: 0 !important;
    flex-basis: auto !important;
    z-index: auto !important;
    max-height: none !important;
    overflow: visible !important;
}

.elementor-image-carousel-wrapper .swiper-slide::before,
.elementor-image-carousel-wrapper .swiper-slide:hover::before {
    content: none !important;
    background: none !important;
    opacity: 0 !important;
}

.elementor-image-carousel-wrapper .swiper-slide img,
.elementor-image-carousel-wrapper .swiper-slide-image {
    filter: none !important;
    padding: 0 !important;
    background: transparent !important;
    transition: none !important;
    transform: none !important;
    position: static !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
}

.elementor-image-carousel-wrapper .swiper-slide-inner {
    width: 100%;
    margin: 0;
}

.elementor-image-carousel-wrapper .swiper-pagination {
    position: relative !important;
    bottom: auto !important;
    left: auto !important;
    width: 100% !important;
    text-align: center;
    margin-top: 10px;
}

.elementor-image-carousel-wrapper .swiper-pagination-bullet {
    background: #000 !important;
    opacity: 0.4 !important;
    width: 8px !important;
    height: 8px !important;
    margin: 0 4px !important;
    border-radius: 50% !important;
}

.elementor-image-carousel-wrapper .swiper-pagination-bullet-active {
    opacity: 1 !important;
    width: 8px !important;
    border-radius: 50% !important;
}
