/* ── Testimonial Slider Widget ──────────────────────────────────────────── */
.epp-testimonial-wrapper{position:relative;}
.epp-testimonial-wrapper .swiper{overflow:hidden;padding-bottom:44px;}
.epp-testimonial-wrapper .swiper-wrapper{align-items:stretch;}

/* ── Card (default stacked layout) ── */
.epp-testimonial-card{
    background:var(--epp-card-bg,#fff);
    border:1.5px solid var(--epp-card-border,#e5e7eb);
    border-radius:var(--epp-radius-lg,14px);
    padding:var(--epp-space-8,32px) var(--epp-space-6,24px);
    display:flex;
    flex-direction:column;
    height:100%;
    transition:transform var(--epp-transition,.22s ease),box-shadow var(--epp-transition,.22s ease),background-color var(--epp-transition,.22s ease);
    box-shadow:var(--epp-shadow-sm,0 2px 8px rgba(0,0,0,.06));
}
.epp-testimonial-card:hover{
    transform:translateY(-4px);
    box-shadow:var(--epp-shadow-md,0 12px 32px rgba(0,0,0,.1));
    border-color:var(--epp-gray-300,#d1d5db);
}

/* ── Horizontal layout (image left, content right) ── */
.epp-testimonial-card.layout-horizontal{
    flex-direction:row;
    align-items:flex-start;
    gap:20px;
}
.epp-testimonial-card.layout-horizontal .epp-testimonial-author{
    flex-direction:column;
    align-items:center;
    flex-shrink:0;
    width:80px;
    margin-top:0;
    gap:8px;
    text-align:center;
}
.epp-testimonial-card.layout-horizontal .epp-testimonial-info{
    text-align:center;
}
.epp-testimonial-card.layout-horizontal .epp-testimonial-review-wrap{
    flex:1;
    display:flex;
    flex-direction:column;
}

/* ── Minimal layout (no card background/shadow) ── */
.epp-testimonial-card.layout-minimal{
    background:transparent;
    box-shadow:none;
    padding:16px 0;
    text-align:center;
    align-items:center;
}
.epp-testimonial-card.layout-minimal .epp-testimonial-author{justify-content:center;}
.epp-testimonial-card.layout-minimal:hover{transform:none;box-shadow:none;}

/* ── Quote icon ── */
.epp-testimonial-quote{
    line-height:1;
    color:var(--epp-primary,#7c3aed);
    opacity:.15;
    margin-bottom:var(--epp-space-2,8px);
    display:block;
    transition:opacity var(--epp-transition,.22s ease);
}
.epp-testimonial-card:hover .epp-testimonial-quote{opacity:.22;}
.epp-testimonial-quote svg{width:44px;height:44px;}

/* ── Star rating ── */
.epp-testimonial-rating{display:inline-flex;align-items:center;margin-bottom:var(--epp-space-4,16px);line-height:1;}
.epp-star-filled{color:var(--epp-accent,#f59e0b);}
.epp-star-empty{color:var(--epp-gray-300,#d1d5db);}
.epp-star-filled,.epp-star-empty{display:inline-flex;align-items:center;}
.epp-star-filled svg,.epp-star-empty svg{width:16px;height:16px;}

/* ── Review text ── */
.epp-testimonial-review{
    flex:1;
    color:var(--epp-review-color,var(--epp-gray-600,#4b5563));
    font-style:italic;
    line-height:1.75;
    margin:0 0 20px;
}

/* ── Author ── */
.epp-testimonial-author{
    display:flex;
    align-items:center;
    gap:var(--epp-space-3,12px);
    margin-top:var(--epp-space-5,20px);
    padding-top:var(--epp-space-5,20px);
    border-top:1px solid var(--epp-gray-100,#f3f4f6);
}
.epp-testimonial-photo{
    width:52px;
    height:52px;
    border-radius:50%;
    object-fit:cover;
    flex-shrink:0;
}
/* ── Name & designation ── */
.epp-testimonial-name{
    font-weight:var(--epp-font-bold,700);
    font-size:var(--epp-text-base,15px);
    color:var(--epp-gray-900,#111827);
    margin:0 0 2px;
    line-height:var(--epp-leading-snug,1.4);
}
.epp-testimonial-designation{
    font-size:var(--epp-text-sm,13px);
    color:var(--epp-gray-500,#6b7280);
    margin:0;
    line-height:1.4;
}

/* ── Navigation ── */
.epp-testimonial-wrapper .swiper-button-next,
.epp-testimonial-wrapper .swiper-button-prev{
    width:40px;height:40px;
    background:var(--epp-card-bg,#fff);
    border-radius:50%;
    box-shadow:var(--epp-shadow-sm,0 2px 8px rgba(0,0,0,.12));
    color:var(--epp-gray-700,#374151);
    display:flex;align-items:center;justify-content:center;
    transition:background-color var(--epp-transition,.22s ease),box-shadow var(--epp-transition,.22s ease);
    border:1.5px solid var(--epp-card-border,#e5e7eb);
}
.epp-testimonial-wrapper .swiper-button-next:hover,
.epp-testimonial-wrapper .swiper-button-prev:hover{
    background: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-testimonial-wrapper .swiper-button-next:focus-visible,
.epp-testimonial-wrapper .swiper-button-prev:focus-visible{
    outline:none;
    box-shadow:var(--epp-focus-ring,0 0 0 3px rgba(124,58,237,.25));
}
.epp-testimonial-wrapper .swiper-button-next::after,
.epp-testimonial-wrapper .swiper-button-prev::after{font-size:var(--epp-text-sm,13px);}
/* Hide default Swiper arrow ::after when custom icon span is present */
.epp-testimonial-wrapper .swiper-button-prev:has(.epp-testi-arrow)::after,
.epp-testimonial-wrapper .swiper-button-next:has(.epp-testi-arrow)::after{display:none;}
.epp-testi-arrow{display:inline-flex;align-items:center;justify-content:center;pointer-events:none;}
.epp-testi-arrow i{font-size:18px;line-height:1;}
.epp-testi-arrow svg{width:18px;height:18px;fill:currentColor;}
.epp-testimonial-wrapper .swiper-pagination-bullet{background:var(--epp-gray-300,#d1d5db);opacity:1;}
.epp-testimonial-wrapper .swiper-pagination-bullet-active{background:var(--epp-primary,#7c3aed);}

@media(max-width:767px){
    .epp-testimonial-card{padding:var(--epp-space-5,20px);}
    .epp-testimonial-card.layout-horizontal{flex-direction:column;}
    .epp-testimonial-wrapper .swiper-button-next,
    .epp-testimonial-wrapper .swiper-button-prev{display:none;}
}
