/*
 * Home page testimonials carousel ("Building Confidence Through Global
 * Partnerships"). Markup: template-parts/components/HTestimonials.php,
 * behaviour: assets/home-testimonials.js. Desktop shows two cards and a peek
 * of the next one; up to 900px, one card and the arrows move below it.
 * Logical properties throughout, so Arabic (RTL) mirrors on its own.
 */

.iciec-testi {
	--testi-green: #61a34a;
	--testi-green-ink: #3f7a29;
	--testi-line: #dedede;
	--testi-ink: #3b3b3b;
	--testi-muted: #575757;
	--testi-gap: 24px;
	--testi-peek: 36px;
	font-family: 'Poppins', system-ui, sans-serif;
	letter-spacing: 0.072px;
}

[dir="rtl"] .iciec-testi,
.rtl .iciec-testi {
	font-family: 'Almarai', 'Poppins', system-ui, sans-serif;
	letter-spacing: 0;
}

.iciec-testi__head {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-block-end: 16px;
}

.iciec-testi__head img {
	width: 50px;
	height: 50px;
	flex-shrink: 0;
	border-radius: 0;
}

.iciec-testi .iciec-testi__title {
	margin: 0;
	padding: 0;
	font-family: inherit;
	font-size: 20px;
	font-weight: 700;
	line-height: 24px;
	color: var(--testi-green);
	text-transform: capitalize;
}

.iciec-testi__carousel {
	position: relative;
}

.iciec-testi__viewport {
	overflow: hidden;
	touch-action: pan-y;
}

.iciec-testi__track {
	position: relative; /* the cards' offsetLeft is measured from the track */
	display: flex;
	gap: var(--testi-gap);
	align-items: stretch;
	transition: transform 0.45s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.iciec-testi__card {
	flex: 0 0 calc((100% - var(--testi-gap) - var(--testi-peek)) / 2);
	min-width: 0;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 24px;
	padding: 24px;
	background: #fff;
	border: 1px solid var(--testi-line);
	border-radius: 24px;
}

/* Only one or two testimonials (nothing to scroll): no peek space. */
.iciec-testi__carousel.is-static .iciec-testi__card {
	flex-basis: calc((100% - var(--testi-gap)) / 2);
}

.iciec-testi__quote {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 40px;
}

.iciec-testi__logo {
	display: block;
	height: 32px;
}

.iciec-testi__logo img {
	display: block;
	width: auto;
	height: 32px;
	max-width: 200px;
	object-fit: contain;
	object-position: left center;
	border-radius: 0;
}

[dir="rtl"] .iciec-testi__logo img {
	object-position: right center;
}

/* Logo cropped to its own edges when the file has empty margins; the box
   size and the image's offsets are set inline (iciec_testimonials_logo_html()). */
.iciec-testi__logo.is-cropped {
	position: relative;
	overflow: hidden;
}

.iciec-testi .iciec-testi__logo.is-cropped img {
	position: absolute;
	max-width: none;
	object-fit: fill;
}

.iciec-testi blockquote {
	margin: 0;
	padding: 0;
	border: 0;
	font-family: inherit;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.5;
	color: var(--testi-ink);
	text-align: justify;
}

.iciec-testi__person {
	display: flex;
	align-items: center;
	gap: 8px;
}

.iciec-testi .iciec-testi__photo {
	width: 64px;
	height: 64px;
	flex-shrink: 0;
	border-radius: 50%;
	object-fit: cover;
}

.iciec-testi__person > div {
	flex: 1 1 0%;
	min-width: 0;
}

.iciec-testi__name {
	display: block;
	margin-block-end: 4px;
	font-size: 16px;
	font-weight: 700;
	line-height: 20px;
	color: var(--testi-ink);
}

.iciec-testi__role {
	display: block;
	font-size: 14px;
	font-weight: 400;
	line-height: 18px;
	color: var(--testi-muted);
}

.iciec-testi__arrow {
	position: absolute;
	top: calc(50% - 18px);
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 6px;
	border: 0;
	border-radius: 50%;
	background: var(--testi-green);
	color: #fff;
	cursor: pointer;
	transition: background-color 0.15s, opacity 0.15s;
}

.iciec-testi__arrow:hover {
	background: var(--testi-green-ink);
}

.iciec-testi__arrow:focus:not(:focus-visible) {
	outline: none; /* no ring after a mouse click (Bootstrap's button:focus) */
}

.iciec-testi__arrow:focus-visible {
	outline: 2px solid var(--testi-green-ink);
	outline-offset: 2px;
}

.iciec-testi__arrow svg {
	display: block;
	width: 24px;
	height: 24px;
}

.iciec-testi__arrow--prev {
	inset-inline-start: -16px;
}

.iciec-testi__arrow--next {
	inset-inline-end: -18px;
}

/* The chevron points left; flip it so each arrow points the way it moves. */
.iciec-testi__arrow--next svg,
[dir="rtl"] .iciec-testi__arrow--prev svg {
	transform: scaleX(-1);
}

[dir="rtl"] .iciec-testi__arrow--next svg {
	transform: none;
}

.iciec-testi__carousel.is-static .iciec-testi__arrow {
	display: none;
}

@media (max-width: 1300px) {
	.iciec-testi__arrow--prev {
		inset-inline-start: -12px;
	}

	.iciec-testi__arrow--next {
		inset-inline-end: -12px;
	}
}

@media (max-width: 900px) {
	.iciec-testi__carousel {
		padding-block-end: 52px;
	}

	.iciec-testi__card,
	.iciec-testi__carousel.is-static .iciec-testi__card {
		flex-basis: calc(100% - var(--testi-peek));
	}

	.iciec-testi__carousel.is-static .iciec-testi__card:only-child {
		flex-basis: 100%;
	}

	.iciec-testi__arrow {
		top: auto;
		bottom: 0;
	}

	.iciec-testi__arrow--prev {
		inset-inline-start: calc(50% - 44px);
	}

	.iciec-testi__arrow--next {
		inset-inline-end: calc(50% - 44px);
	}

	.iciec-testi__carousel.is-static {
		padding-block-end: 0;
	}
}

@media (max-width: 640px) {
	.iciec-testi {
		--testi-gap: 16px;
		--testi-peek: 20px;
	}

	.iciec-testi blockquote {
		text-align: start;
	}
}

@media (prefers-reduced-motion: reduce) {
	.iciec-testi__track {
		transition: none;
	}
}
