/* ── EPP Advanced Slider Widget ─────────────────────────────────────────── */

/* Wrap */
.epp-slider-wrap{position:relative;box-sizing:border-box;width:100%;}

/* Swiper container */
.epp-slider-wrap .swiper{
    width:100%;overflow:hidden;
    border-radius:0;
}

/* ── Individual slide ── */
.epp-slider-wrap .epp-slide{
    position:relative;
    width:100%;
    height:540px;
    overflow:hidden;
    background-color:var(--epp-gray-900,#111827);
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    box-sizing:border-box;
    display:flex;
    align-items:center;
}
/* Default gradient fallbacks — only apply when no inline background is set */
.epp-slider-wrap .swiper-slide:nth-child(1) .epp-slide:not([style*="background"]){
    background-image:linear-gradient(135deg,#7c3aed 0%,#3b0764 100%);
}
.epp-slider-wrap .swiper-slide:nth-child(2) .epp-slide:not([style*="background"]){
    background-image:linear-gradient(135deg,#0891b2 0%,#164e63 100%);
}
.epp-slider-wrap .swiper-slide:nth-child(3) .epp-slide:not([style*="background"]){
    background-image:linear-gradient(135deg,#059669 0%,#064e3b 100%);
}

/* Overlay */
.epp-slide-overlay{
    position:absolute;inset:0;z-index:1;
    pointer-events:none;
}

/* ── Custom slide content ── */
.epp-slide-content{
    position:relative;z-index:2;
    width:100%;max-width:720px;
    padding:60px;box-sizing:border-box;
}

/* Alignment helpers applied via inline style on .epp-slide-content */
.epp-slide[style*="text-align:left"] .epp-slide-content,
.epp-slide-content[style*="text-align:left"]{margin-right:auto;margin-left:0;}
.epp-slide[style*="text-align:right"] .epp-slide-content,
.epp-slide-content[style*="text-align:right"]{margin-left:auto;margin-right:0;}
.epp-slide[style*="text-align:center"] .epp-slide-content,
.epp-slide-content[style*="text-align:center"]{margin:0 auto;}

.epp-slide-heading{
    margin:0 0 16px;font-size:clamp(28px,5vw,56px);
    font-weight:700;line-height:1.15;color:#fff;
}

.epp-slide-subtitle{
    margin:0 0 28px;font-size:clamp(14px,2vw,18px);
    line-height:1.6;color:rgba(255,255,255,.85);
}

/* ── Button styles ── */
.epp-slide-btn{
    display:inline-block;
    padding:12px 28px;border-radius:var(--epp-radius-sm,6px);
    font-size:var(--epp-text-base,15px);font-weight:var(--epp-font-semibold,600);text-decoration:none;
    cursor:pointer;transition:opacity .2s,transform .2s;
    border:2px solid transparent;
}
.epp-slide-btn:hover{opacity:.88;transform:translateY(-1px);}

.epp-slide-btn.style-filled{
    background-color:var(--epp-primary,#7c3aed);color:#fff;border-color:var(--epp-primary,#7c3aed);
    box-shadow:var(--epp-shadow-colored,0 4px 12px rgba(124,58,237,.25));
}
.epp-slide-btn.style-outline{
    background-color:transparent;color:#fff;border-color:#fff;
}
.epp-slide-btn.style-ghost{
    background:none;border-color:transparent;color:#fff;
    text-decoration:underline;padding-left:0;padding-right:0;
}

/* ── Empty state (template slide with no template selected) ── */
.epp-slide-empty-state{
    width:100%;padding:40px;text-align:center;
    color:rgba(255,255,255,.6);font-size:var(--epp-text-sm,13px);
}

/* Template slide — inner content fills full slide */
.epp-slider-wrap .epp-slide .elementor{width:100%;height:100%;}

/* ── Navigation arrows ── */
.epp-slider-wrap .swiper-button-prev,
.epp-slider-wrap .swiper-button-next{
    width:44px;height:44px;
    background-color:rgba(0,0,0,.35);
    border-radius:50%;
    transition:background-color .2s,color .2s;
    display:flex;align-items:center;justify-content:center;
}
.epp-slider-wrap .swiper-button-prev:hover,
.epp-slider-wrap .swiper-button-next:hover{background-color:rgba(0,0,0,.55);}
/* Default Swiper arrows */
.epp-slider-wrap .swiper-button-prev::after,
.epp-slider-wrap .swiper-button-next::after{font-size:var(--epp-text-base,16px);color:#fff;}
/* When custom icon span is present hide default ::after */
.epp-slider-wrap .swiper-button-prev:has(.epp-slider-arrow)::after,
.epp-slider-wrap .swiper-button-next:has(.epp-slider-arrow)::after{display:none;}
.epp-slider-arrow{display:inline-flex;align-items:center;justify-content:center;pointer-events:none;}
.epp-slider-arrow i{font-size:18px;color:#fff;line-height:1;}
.epp-slider-arrow svg{width:18px;height:18px;fill:#fff;}

/* ── Progress bar ── */
.epp-slider-progress{
    position:relative;width:100%;height:3px;
    background:rgba(255,255,255,.2);overflow:hidden;
}
.epp-slider-progress-bar{
    position:absolute;left:0;top:0;height:100%;width:0%;
    background:var(--epp-primary,#7c3aed);transition:width var(--epp-transition-slow,.4s ease);
}

/* ── Pagination dots ── */
.epp-slider-wrap .swiper-pagination{bottom:16px;}
.epp-slider-wrap .swiper-pagination-bullet{
    width:8px;height:8px;opacity:1;
    background:rgba(255,255,255,.5);
    transition:background .2s,transform .2s;
}
.epp-slider-wrap .swiper-pagination-bullet-active{
    background:#fff;transform:scale(1.25);
}

/* Coverflow effect — show partial adjacent slides */
.epp-slider-wrap .swiper.effect-coverflow{overflow:visible;}

/* ── Responsive ── */
@media (max-width:768px){
    .epp-slider-wrap .epp-slide{height:auto;min-height:320px;}
    .epp-slide-content{padding:32px 24px;}
    .epp-slider-wrap .swiper-button-prev,
    .epp-slider-wrap .swiper-button-next{width:34px;height:34px;}
    .epp-slider-wrap .swiper-button-prev::after,
    .epp-slider-wrap .swiper-button-next::after{font-size:var(--epp-text-xs,11px);}
}
