/* ── Loader wrapper ── */
.cem-slider-wrap {
    position: relative;
}

/* ── Loading overlay ── */
.cem-slider-loader {
    position: absolute;
    inset: 0;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #1a1a1a;
    opacity: 1;
    transition: opacity 0.4s ease;
    pointer-events: none;
}
.cem-slider-loader.cem-loader-hidden {
    opacity: 0;
}

/* ── Spinner ── */
.cem-slider-spinner {
    width: 36px;
    height: 36px;
    border: 3px solid rgba(255, 255, 255, 0.2);
    border-top-color: #fff;
    border-radius: 50%;
    animation: cem-spin 0.7s linear infinite;
}
@keyframes cem-spin {
    to { transform: rotate(360deg); }
}

/* ── FOUC prevention: use opacity so Slick can still measure dimensions ── */
.custom-slick-slider {
    opacity: 0;
    transition: opacity 0.4s ease;
}
.custom-slick-slider.slick-initialized {
    opacity: 1;
}

/* ── Slide base ── */
.slide-item {
    text-align: center;
    padding: 40px 20px 80px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.slide-item .si-content {
    max-width: var(--container-max-width);
    margin: 0 auto;
    text-align: left;
}
.slide-item .si-content .sic-top {
    display: flex;
justify-content: space-between;
margin-bottom: 120px;
    align-items: flex-start;
}
.slide-item .si-content .sic-top .slide-heading{
    font-family: "Bricolage Grotesque", Sans-serif;
  font-size: 84px;
  color: #fff;
  max-width: 70%;
  text-align: right;
  line-height: 120px;
  margin: 0;
}
.slide-item .si-content .sic-top img {
    max-width: 205px;
    height: auto;
    margin: 0;
}

.slide-button {
   background-color: var( --e-global-color-5a302dc );
  font-family: "Poppins", Sans-serif;
  font-size: 20px;
  font-weight: 700!important;
  text-transform: uppercase;
  fill: var( --e-global-color-0a838d1 );
  color: #fff!important;
  border-style: none;
  border-radius: 4px 4px 4px 4px;
  padding: 14px 24px 14px 24px;
}
.slide-button .elementor-button-content-wrapper{
    gap: 12px;
}

.custom-slick-slider .slick-dots{
    bottom: 80px;
    margin: 0 auto;
    max-width: 1280px;
    width: 100%;
    left: 0;
    right: 0;
    text-align: right;
}
.custom-slick-slider .slick-dots button:hover{
    background-color: transparent!important;
}
.custom-slick-slider .slick-dots button:before{
  content: '';
  border-radius: 2px;
  background-color: rgba(200, 200, 200, 0.50);
  width: 6px;
  height: 6px;
  transition: all 0.3s ease;
}
.custom-slick-slider .slick-dots button{
    width: initial;
    height: initial;
}
.custom-slick-slider .slick-dots button:hover::before,
.custom-slick-slider .slick-dots .slick-active button:before{
    background-color: #FFFFFF;
    width: 16px;
    opacity: 1;
}
.custom-slick-slider .slick-dots button:focus{
    background-color: transparent!important;
}
.custom-slick-slider .slick-dots li{
    vertical-align: top;
}
.slick-dotted.slick-slider{
    margin: 0;
}

@media (max-width: 1024px) {
    .slide-item {
        padding: 30px 20px 70px;
    }

    .slide-item .si-content .sic-top {
        margin-bottom: 80px;
    }

    .slide-item .si-content .sic-top .slide-heading {
        font-size: 60px;
        line-height: 72px;
    }

    .slide-item .si-content .sic-top img {
        max-width: 160px;
    }

    .slide-button {
        font-size: 18px;
        padding: 12px 20px;
    }

    .custom-slick-slider .slick-dots {
        bottom: 70px;
    }
}

@media (max-width: 768px) {
    .slide-item {
        padding: 24px 16px 60px;
    }

    .slide-item .si-content .sic-top {
        flex-direction: column-reverse;
        align-items: flex-start;
        margin-bottom: 40px;
        gap: 20px;
    }

    .slide-item .si-content .sic-top .slide-heading {
        font-size: 36px;
        line-height: 44px;
        max-width: 100%;
        text-align: left;
    }

    .slide-item .si-content .sic-top img {
        max-width: 120px;
    }

    .slide-button {
        font-size: 16px;
        padding: 12px 20px;
        width: 100%;
        text-align: center;
    }

    .custom-slick-slider .slick-dots {
        bottom: 16px;
        text-align: center;
    }
}