/**
 * Frontend Stylesheet for LEI Testimonials Card & Swiper Layouts
 */

/* Main Container */
.lei-testimonials-container {
	position: relative;
	padding: 20px 0;
}

/* Swiper Outer Wrapper */
.lei-testimonials-slider {
	width: 100%;
	height: auto;
	padding: 40px 10px !important; /* spacing for quote overflow */
	overflow: visible !important; /* permits quote icons to protrude */
}

/* Individual Slide */
.lei-testimonials-slider .swiper-slide {
	height: auto; /* permit dynamic height */
	box-sizing: border-box;
}

/* Testimonial Card */
.lei-testimonial-card {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	padding: var(--lei-card-padding);
	background-color: var(--lei-card-bg-color);
	border: var(--lei-border-thickness) solid var(--lei-border-color);
	border-radius: var(--lei-border-radius);
	box-shadow: var(--lei-box-shadow);
	font-family: var(--lei-font-family);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	text-align: left;
	transition: all 0.3s ease;
}

/* Quote Icons and breaking borders */
.lei-testimonial-card .lei-quote-icon {
	position: absolute;
	width: var(--lei-quote-size);
	height: var(--lei-quote-size);
	color: var(--lei-quote-color);
	background-color: var(--lei-card-bg-color);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 15px; /* masks top/bottom border lines */
	box-sizing: content-box;
	z-index: 10;
}

.lei-testimonial-card .lei-quote-open {
	top: 0;
	left: 40px;
	transform: translateY(-50%);
}

.lei-testimonial-card .lei-quote-close {
	bottom: 0;
	right: 40px;
	transform: translateY(50%) rotate(180deg);
}

.lei-testimonial-card .lei-quote-icon svg {
	width: 100%;
	height: 100%;
	display: block;
}

/* Rating Stars */
.lei-testimonial-rating {
	display: flex;
	gap: 4px;
	margin-bottom: 20px;
}

.lei-testimonial-rating svg {
	width: 20px;
	height: 20px;
}

.lei-star-filled {
	color: var(--lei-primary-color);
}

.lei-star-empty {
	color: #d1d5db;
}

/* Testimonial Text Content */
.lei-testimonial-text {
	color: var(--lei-text-color);
	font-size: var(--lei-content-font-size);
	line-height: 1.6;
	margin-bottom: 25px;
}

.lei-testimonial-text p:first-of-type {
	margin-top: 0;
}

.lei-testimonial-text p:last-of-type {
	margin-bottom: 0;
}

/* Author Details Metadata layout */
.lei-testimonial-meta {
	display: flex;
	align-items: center;
	gap: 15px;
	margin-top: auto; /* aligns meta to the card bottom */
}

/* Author Image/Avatar */
.lei-testimonial-image {
	flex-shrink: 0;
	width: 50px;
	height: 50px;
}

.lei-testimonial-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 50%;
}

/* Author Text description */
.lei-testimonial-details {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.lei-testimonial-author {
	color: var(--lei-author-color);
	font-size: var(--lei-author-font-size);
	font-weight: 700;
	margin: 0;
	line-height: 1.2;
}

.lei-testimonial-position {
	color: var(--lei-position-color);
	font-size: var(--lei-position-font-size);
	font-style: italic;
	line-height: 1.2;
}

.lei-testimonial-company {
	font-weight: 500;
}

.lei-testimonials-slider .swiper-button-prev,
.lei-testimonials-slider .swiper-button-next {
	color: var(--lei-primary-color);
	background: rgba(255, 255, 255, 0.8);
	border: 1px solid #eee;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	transition: all 0.2s ease;
	z-index: 99999 !important;
	pointer-events: auto !important;
	cursor: pointer !important;
}

.lei-testimonials-slider .swiper-button-prev::after,
.lei-testimonials-slider .swiper-button-next::after {
	font-size: 18px;
	font-weight: bold;
}

.lei-testimonials-slider .swiper-button-prev:hover,
.lei-testimonials-slider .swiper-button-next:hover {
	background: var(--lei-primary-color);
	color: #fff;
	border-color: var(--lei-primary-color);
}

.lei-testimonials-slider .swiper-button-prev {
	left: -20px;
}

.lei-testimonials-slider .swiper-button-next {
	right: -20px;
}

/* Swiper Pagination Dots Customization */
.lei-testimonials-slider .swiper-pagination {
	bottom: -15px !important;
}

.lei-testimonials-slider .swiper-pagination-bullet {
	background: #d1d5db;
	opacity: 1;
	width: 10px;
	height: 10px;
	margin: 0 5px !important;
	transition: all 0.2s ease;
}

.lei-testimonials-slider .swiper-pagination-bullet-active {
	background: var(--lei-primary-color);
	width: 24px;
	border-radius: 5px;
}

/* Responsive adjustments */
@media (max-width: 768px) {
	.lei-testimonial-card {
		padding: 30px 40px;
	}
	.lei-testimonial-card .lei-quote-open {
		left: 30px;
	}
	.lei-testimonial-card .lei-quote-close {
		right: 30px;
	}
	.lei-testimonials-slider .swiper-button-prev {
		left: -10px;
	}
	.lei-testimonials-slider .swiper-button-next {
		right: -10px;
	}
}

@media (max-width: 480px) {
	.lei-testimonial-card {
		padding: 25px 25px;
	}
	.lei-testimonial-card .lei-quote-icon {
		width: calc(var(--lei-quote-size) * 0.75);
		height: calc(var(--lei-quote-size) * 0.75);
		padding: 0 8px;
	}
	.lei-testimonial-card .lei-quote-open {
		left: 20px;
	}
	.lei-testimonial-card .lei-quote-close {
		right: 20px;
	}
	.lei-testimonials-slider .swiper-button-prev,
	.lei-testimonials-slider .swiper-button-next {
		display: none; /* hide arrows on narrow devices for touch swipes */
	}
}

/* Center Mode Styles */
.lei-testimonials-slider[data-center="true"] .swiper-slide {
	width: 80%;
	opacity: 0.5;
	transition: opacity 0.3s ease, transform 0.3s ease;
	transform: scale(0.9);
}

.lei-testimonials-slider[data-center="true"] .swiper-slide-active {
	opacity: 1;
	transform: scale(1);
}

@media (max-width: 768px) {
	.lei-testimonials-slider[data-center="true"] .swiper-slide {
		width: 90%;
	}
}
