/**
 * Testimonials slider — wide horizontal cards with image + quote + meta.
 */

.testimonials {
    margin-block: var(--space-16);
}

.testimonials__header {
	margin-bottom: var(--space-16);
}

.testimonials__title {
	font-family: var(--font-heading);
    font-size: 2.5rem;
    font-weight: var(--font-bold);
    line-height: var(--leading-tight);
    letter-spacing: -0.01em;
    color: var(--color-black);
    margin: 0 !important;
}

/* === Swiper === */
.testimonials__swiper {
	overflow: hidden;
	margin: 0;  /* override Swiper bundle's default margin: auto */
}

.testimonials__list {
	display: flex;
	margin: 0;
	padding: 0;
	list-style: none;
}

.testimonials__slide {
	display: flex;
	height: auto;
}

.testimonials__slide > .testimonial {
	width: 100%;
}

/* === Card === */
.testimonial {
    display: grid;
    grid-template-columns: minmax(0, 280px) minmax(0, 1fr);
    gap: 0;
    background: var(--color-white);
    min-height: 320px;
}

.testimonial__media {
	position: relative;
	border-radius: 12px;
	overflow: hidden;
}

.testimonial__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.testimonial__body {
	display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: var(--space-6);
}

.testimonial__text {
	font-family: var(--font-heading);
	color: var(--color-black);
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    line-height: 25px;
	padding: 24px;
}

.testimonial__meta {
	display: flex;
    align-items: center;
    flex-wrap: wrap;
    padding-top: 0;
    border-top: 1px solid var(--color-border);
}

.testimonial__name {
	font-size: var(--text-sm);
    font-weight: 400;
    color: var(--color-black);
    border-right: 1px solid #EBEBEB;
    height: 100%;
    padding: 24px;
}

.testimonial__product {
    display: inline-flex;
    flex-direction: column;
    gap: var(--space-1);
    padding: 24px;
    border-right: 1px solid #EBEBEB;
}

.testimonial__product-label {
    font-size: var(--text-sm);
    color: #FF8FAB;
    line-height: 20px;
}

.testimonial__product-name {
	font-size: var(--text-base);
	color: var(--color-black);
	text-decoration: none;
}

a.testimonial__product-name:hover {
	color: var(--color-primary-hover);
}

.testimonial__rating {
	display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    padding: 24px;
    flex-direction: column;
}

.testimonial__star {
	color: #FF8FAB;
    width: 18px;
}

.testimonial__rating-value {
	font-family: var(--font-sans);
	font-size: var(--text-base);
	font-weight: 400;
	color: var(--color-black);
}

/* === Nav row === */
.testimonials__nav {
	display: flex;
	align-items: center;
	gap: var(--space-4);
	margin-top: var(--space-16);
}

.testimonials__nav-btn {
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-full);
	background: var(--color-white);
	color: var(--color-text);
	cursor: pointer;
	transition: background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast), opacity var(--transition-fast);
}

.testimonials__nav-btn:hover {
	background: var(--color-primary);
	border-color: var(--color-primary);
	color: var(--color-black);
}

.testimonials__nav-btn.swiper-button-disabled {
	opacity: 0.35;
	cursor: not-allowed;
}

.testimonials__scrollbar,
.testimonials__scrollbar.swiper-scrollbar-horizontal {
	position: relative !important;
	left: auto !important;
	right: auto !important;
	bottom: auto !important;
	top: auto !important;
	width: auto !important;
	flex: 1;
	min-width: 0;
	height: 2px;
	background: var(--color-grey-border);
	border-radius: var(--radius-full);
}

.testimonials__scrollbar .swiper-scrollbar-drag {
	background: var(--color-black);
	border-radius: var(--radius-full);
	height: 2px;
}

/* Kai nėra ko slinkti — visa juosta juoda. */
.testimonials__scrollbar.swiper-scrollbar-lock {
	display: block !important;
	background: var(--color-black) !important;
}

.testimonials__scrollbar.swiper-scrollbar-lock .swiper-scrollbar-drag {
	display: none;
}

/* === Responsive === */
@media (max-width: 768px) {
	.testimonials__title {
		font-size: 1.75rem;
		line-height: 33px;
	}

	.testimonial {
		grid-template-columns: 1fr;
		min-height: 0;
	}

	.testimonial__media {
        aspect-ratio: 1.3 / 1;
    }

	.testimonial__meta {
		gap: var(--space-3);
	}

	.testimonial__rating {
		margin-left: 0;
	}

	.testimonials__nav-btn {
		display: none;
	}
	.testimonials {
		margin-block: 42px;
	}
	.testimonials__header {
		margin-bottom: 42px;
	}
	.testimonial__text {
		font-size: 16px;
		font-weight: 700;
		line-height: 23px;
		padding: 16px;
	}
}

@media (max-width: 768px) and (min-width: 641px) {
	.testimonial {
		max-width: 450px;
		margin: 0 auto;
	}
}

@media (max-width: 640px) {
	.testimonial {
		max-width: 360px;
		margin: 0 auto;
	}

	/* Name moves above meta line; product + rating sit side by side below */
	.testimonial__meta {
		display: grid;
		grid-template-columns: 1fr auto;
		grid-template-areas:
			"name name"
			"product rating";
		gap: 0;
		border-top: 0;
		align-items: start;
	}

	.testimonial__name {
		grid-area: name;
		padding: 0 16px 16px;
		border-right: 0;
		height: auto;
	}

	.testimonial__product {
		grid-area: product;
		border-top: 1px solid var(--color-border);
		padding: 16px;
	}

	.testimonial__rating {
		grid-area: rating;
		border-top: 1px solid var(--color-border);
		padding: 16px;
		flex-direction: row;
	}
	.testimonial__text {
        padding: 16px 16px 8px 16px;
    }

	.testimonial__body {
		gap: 0;
	}

	.testimonial__image {
		object-fit: contain;
	}
}
