/**
 * Testimonial Cards Component Styles
 *
 * Reusable styles for testimonial card components.
 * Used across multiple blocks that display testimonials.
 */

 .testimonials-carousel,
 .careers-carousel {
	margin: 0 auto;
	max-width: 100%;
	padding: 0 var(--content-gutter);
	width: auto;
}

.wp-block-im-testimonial-slider-interior .testimonials-carousel {
	margin: 0 0 0 calc(-1 * var(--content-gutter));
	max-width: 100dvw;
	overflow: hidden;
	width: 100dvw;
}

.testimonials-block__carousel-wrap {
	display: block;
	flex: 1 1 1%;
	position: relative;
	width: 1%;
	/* Prevent layout shift during carousel initialization */
	min-width: 0;
	contain: layout;
}

.testimonials-carousel .splide__track,
.careers-carousel .splide__track {
	margin: 0 0 1rem;
	overflow: visible;
	padding-left: 0;
}

.wp-block-im-testimonial-slider-interior .testimonials-carousel .splide__track {
	margin: 0 0 1rem;
}

/* Keep first card fully visible: no left clip. Only rightmost card may be partial. */
.testimonials-carousel .splide__container,
.careers-carousel .splide__container {
	padding-left: 0;
}

.testimonials-carousel .splide__list,
.careers-carousel .splide__list {
	align-items: stretch;
	padding-top: .1875rem !important;
}

.testimonials-carousel .splide__slide,
.careers-carousel .splide__slide {
	aspect-ratio: 11 / 17;
	display: inline-block;
	height: 20.9375rem;
	overflow: hidden;
	position: relative;
	width: auto;
}

.testimonials-carousel .splide__slide:hover,
.testimonials-carousel .splide__slide:focus-visible,
.testimonials-carousel.splide.is-focus-in .splide__slide:focus,
.careers-carousel .splide__slide:hover,
.careers-carousel .splide__slide:focus-visible,
.careers-carousel.splide.is-focus-in .splide__slide:focus {
	outline: none;
}

/* Splide Arrows Customization */
.testimonials-carousel .splide__arrow,
.careers-carousel .splide__arrow {
	border-radius: 50%;
	background: rgb(61 100 152 / .6);
	height: 3.3125rem;
	left: 0;
	opacity: 1;
	position: relative;
	right: auto;
	top: auto;
	transition: .2s;
	transform: none;
	width: 3.3125rem;
}

.wp-block-im-testimonial-slider-interior .testimonials-carousel .splide__arrow,
.wp-block-im-testimonial-slider-interior .careers-carousel .splide__arrow {
	background: #DADADA;
}

.testimonials-carousel .splide__arrow svg,
.careers-carousel .splide__arrow svg {
	fill: #FFF;
	height: 1rem;
	width: 1rem;
}

.wp-block-im-testimonial-slider-interior .testimonials-carousel .splide__arrow svg,
.wp-block-im-testimonial-slider-interior .careers-carousel .splide__arrow svg {
	fill: #5D6775;
}

.testimonials-carousel .splide__arrow:hover:not(:disabled),
.testimonials-carousel .splide__arrow:focus-visible:not(:disabled),
.careers-carousel .splide__arrow:hover:not(:disabled),
.careers-carousel .splide__arrow:focus-visible:not(:disabled) {
	background: rgb(41 67 101 / .6);
	opacity: 1;
}

.testimonials-carousel .splide__arrow:disabled,
.careers-carousel .splide__arrow:disabled {
	opacity: 0.5;
}

.testimonials-carousel.splide--arrows-hidden .splide__arrows,
.careers-carousel.splide--arrows-hidden .splide__arrows {
	display: none;
}

/* Splide Pagination */
.testimonials-carousel .splide__pagination,
.careers-carousel .splide__pagination {
	bottom: 0;
	margin: .6875rem 0;
	position: relative;
	width: 100%;
}

.testimonials-carousel .splide__pagination__page,
.careers-carousel .splide__pagination__page,
.testimonials-video-overlay__content .splide__pagination__page {
	background: transparent;
	border-radius: 0;
	height: 1.5rem;
	line-height: 0;
	margin: 0;
	opacity: 1;
	padding: .5625rem;
	width: auto;
}

.testimonials-carousel .splide__pagination__page.is-active,
.careers-carousel .splide__pagination__page.is-active,
.testimonials-video-overlay__content .splide__pagination__page.is-active {
	background: transparent;
	transform: scale(1);
}

.testimonials-carousel .splide__pagination__page::before,
.careers-carousel .splide__pagination__page::before,
.testimonials-video-overlay__content .splide__pagination__page::before {
	background: rgb(93 103 117 / 0.3);
	border-radius: 5em;
	content: '';
	display: inline-block;
	height: .375rem;
	position: relative;
	transition: .2s;
	vertical-align: top;
	width: .375rem;
}

.wp-block-im-hero-slider + .wp-block-im-testimonials .testimonials-carousel .splide__pagination__page::before,
.testimonials-video-overlay__content .splide__pagination__page::before,
.careers-carousel .splide__pagination__page::before {
	background: rgb(255 255 255 / 0.5);
}

.testimonials-carousel .splide__pagination__page.is-active::before,
.wp-block-im-hero-slider + .wp-block-im-testimonials .testimonials-carousel .splide__pagination__page.is-active::before,
.testimonials-video-overlay__content .splide__pagination__page.is-active::before,
.careers-carousel .splide__pagination__page.is-active::before {
	background: #E9B10F;
	width: 1.0625rem;
}

.testimonials-video-overlay__content .splide__pagination__page.is-active::before {
	background: #fff;
}

.testimonials-block__grid {
	display: grid;
	gap: 2rem;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
}

.testimonials-video-overlay .splide__arrow {
	background: rgb(0 0 0 / .7);
	color: #fff;
	height: 2.5rem;
	opacity: 1;
	width: 2.5rem;
}

.testimonials-video-overlay .splide__arrow:disabled {
	cursor: not-allowed;
	opacity: 0;
	pointer-events: none;
}

.testimonials-video-overlay .splide__arrow svg {
	fill: currentColor;
	height: 1rem;
	width: 1rem;
}

.testimonials-video-overlay .splide__arrow--prev {
	left: -3.5rem;
}

.testimonials-video-overlay .splide__arrow--next {
	right: -3.5rem;
}

/* Individual submission item - support both class naming conventions */
.testimonial-item,
.user-submission-item {
	border-radius: .5rem;
	cursor: pointer;
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	position: relative;
	transition: .2s;
}

.testimonial-item:focus-visible,
.user-submission-item:focus-visible {
	box-shadow: 0 0 0 3px #E0B346;
}

.user-submission__badge {
	bottom: 1rem;
	display: block;
	height: 4rem;
	opacity: 0;
	pointer-events: none;
	position: absolute;
	right: var(--content-gutter);
	width: 4rem;
}

/* Overlay testimonial items */
.testimonials-video-overlay {
	background: rgb(0 0 0 / .6);
	backdrop-filter: blur(2.5rem);
	height: 100%;
	left: 0;
	opacity: 0;
	position: fixed;
	top: 0;
	transition: opacity 0.3s ease-in-out;
	width: 100%;
	z-index: 500;
}

.testimonials-video-overlay--active {
	opacity: 1;
}

.testimonials-video-overlay__content {
	height: 100%;
	overflow: visible;
	padding: 4rem 0;
	width: 100%;
}

.testimonials-video-overlay__copy {
	display: none;
	flex-shrink: 0;
	padding: 0 var(--content-gutter);
	position: relative;
}

.testimonials-video-overlay__headline {
	color: #fff;
	font-size: 2.125rem;
	font-weight: 600;
	line-height: 1.0588em;
	margin: 0 0 0.75rem;
}

.testimonials-video-overlay__headline + .testimonials-video-overlay__description {
	margin-top: 0;
}

.testimonials-video-overlay__description {
	color: #fff;
	font-size: 1.125rem;
	line-height: 1.5556em;
	margin: 0;
	opacity: 0.85;
}

.testimonials-video-overlay__close {
	align-items: center;
	appearance: none;
	background: #FBD11A;
	border-radius: 50%;
	color: #000;
	cursor: pointer;
	display: flex;
	height: 2.5rem;
	justify-content: center;
	line-height: 0;
	position: absolute;
	right: .625rem;
	top: .625rem;
	width: 2.5rem;
	z-index: 1;
}

.testimonials-video-overlay__close svg {
	height: 1rem;
	width: 1rem;
}

.testimonials-overlay-carousel,
.testimonials-video-overlay .splide__track {
	height: 100%;
	position: relative;
	width: 100%;
}

.testimonials-video-overlay__carousel-container {
	align-items: center;
	display: flex;
	gap: 1.25rem;
	height: 100%;
	justify-content: center;
	left: 0;
	padding: 0;
	position: relative;
	width: 100%;
}

.testimonials-overlay-carousel .splide__track {
	aspect-ratio: unset;
	overflow: visible;
}

.testimonials-overlay-carousel .splide__list {
	display: block;
	height: 100%;
	overflow: visible;
	position: relative;
}

.testimonials-overlay-carousel .splide__slide {
	aspect-ratio: 9/16;
	box-shadow: 1.875rem .375rem 3.75rem 0 rgb(0 0 0 / .8);
	flex-shrink: 0;
	height: auto !important;
	margin: 0 auto;
	max-height: 100%;
	max-width: 100%;
	position: relative;
	left: 0;
	top: 0;
	transition: all .3s, z-index 0s;
	width: auto;
	z-index: 1;
	/* On mobile: allow vertical panning (matches ttb direction) */
	touch-action: pan-y;
}

.testimonials-overlay-carousel .splide__slide::after {
	background: transparent;
	content: '';
	display: block;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	pointer-events: auto;
	z-index: 5;
}

/* Remove overlay blocking on active slide to allow interaction with videos and text */
.testimonials-overlay-carousel .splide__slide.is-active::after {
	pointer-events: none;
	display: none;
}

/* Video lazy loading placeholder */
.user-submission-item__video-placeholder {
	display: none;
}

/* Swipe capture overlay - sits above iframe to capture swipes, allows taps through */
.user-submission-item__swipe-capture {
	background: transparent;
	display: block;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 3;
	pointer-events: auto;
	cursor: pointer;
	/* Allow this layer to capture touch events for swipe */
	touch-action: pan-y;
}

/* On desktop devices with hover capability, disable swipe capture to allow direct iframe interaction */
@media (hover: hover) and (pointer: fine) {
	.user-submission-item__swipe-capture {
		pointer-events: none;
	}
}

/* Poster image in overlay (shown until iframe loads) */
.user-submission-item__video--embedded .user-submission-item__poster[data-poster] {
	display: block;
	height: 100%;
	left: 0;
	object-fit: cover;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 1;
}

/* Hide poster once iframe is loaded (handled by JS) */
.user-submission-item__video--embedded iframe {
	position: relative;
	z-index: 2;
}

/* Ensure iframes in overlay can receive touch events */
.testimonials-overlay-carousel .user-submission-item__video iframe,
.testimonials-overlay-carousel .user-submission-item__video--embedded iframe {
	pointer-events: auto;
	touch-action: auto;
}

/* Video container in overlay should allow interaction */
.testimonials-overlay-carousel .is-active .user-submission-item__video,
.testimonials-overlay-carousel .is-active .user-submission-item__video--embedded {
	pointer-events: auto;
	z-index: 10;
}

.testimonials-video-overlay__content .splide__pagination {
	bottom: -2rem;
}

/* Media section */
.testimonial-item__media,
.user-submission-item__media {
	display: block;
	height: 100%;
	left: 0;
	object-fit: cover;
	object-position: center;
	position: absolute;
	top: 0;
	width: 100%;
	pointer-events: auto;
	z-index: 1;
}

.testimonial-item__media--text,
.user-submission-item__media--text {
	align-items: flex-start;
	background: #D9D9D9;
	display: flex;
	flex-direction: column;
	gap: 1rem;
	height: 100%;
	justify-content: space-between;
	padding: 1rem;
	width: 100%;
	/* Allow this container to be swipeable */
	pointer-events: auto;
}

.wp-block-im-testimonial-slider-interior .testimonial-item__media--text,
.wp-block-im-testimonial-slider-interior .user-submission-item__media--text {
	background: rgb(217 218 224 / 0.45);
}

.testimonials-video-overlay .testimonial-item__media--text,
.testimonials-video-overlay .user-submission-item__media--text {
	gap: 1.25rem;
	padding: 1.25rem;
	/* Ensure children can scroll properly - use visible not hidden */
	min-height: 0;
	overflow: visible;
}

.testimonial-item__text-content,
.user-submission-item__text-content {
	color: #5C5F66;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	box-orient: vertical;
	font-size: .75rem;
	line-height: 1.6em;
	overflow: hidden;
	position: relative;
	text-align: left;
	text-overflow: ellipsis;
	-webkit-line-clamp: 8;
	line-clamp: 8;
	max-height: calc(1.6em * 8);
	/* Ensure text is selectable and doesn't trigger drag */
	user-select: text;
	-webkit-user-select: text;
}

/* Hide extra paragraphs on slider - show only first paragraph */
.testimonial-item__text-content p:not(:first-child),
.user-submission-item__text-content p:not(:first-child) {
	display: none;
}

/* Overlay: show all content with full scrolling */
.testimonials-video-overlay .testimonial-item__text-content,
.testimonials-video-overlay .user-submission-item__text-content {
	display: block;
	font-size: 1rem;
	overflow: hidden;
	flex: 1 1 auto;
	max-height: none;
	min-height: 0;
	-webkit-line-clamp: unset;
	line-clamp: unset;
	cursor: auto;
	user-select: text;
	-webkit-user-select: text;
	pointer-events: auto;
	position: relative;
	width: 100%;
	z-index: 10;
}

/* Inner wrapper for reliable overflow detection */
.testimonials-video-overlay .user-submission-item__text-inner {
	/* Allow content to grow naturally without constraints */
	min-height: 0;
	width: 100%;
}

/* Overlay: show all paragraphs */
.testimonials-video-overlay .testimonial-item__text-content p,
.testimonials-video-overlay .user-submission-item__text-content p {
	display: block !important;
}

/* Read More link for text-only testimonials (mobile only) */
.user-submission-item__read-more {
	display: none; /* Hidden by default, shown on mobile via media query */
}

@media (width < 1024px) {
	.testimonials-video-overlay .user-submission-item__read-more {
		background: linear-gradient(to top, rgba(217, 217, 217, 1) 60%, rgba(217, 217, 217, 0) 100%);
		border: none;
		bottom: 0;
		color: #142032;
		cursor: pointer;
		display: block;
		font-size: 0.875rem;
		left: 0;
		padding: 2rem 1rem 1rem;
		position: absolute;
		text-align: center;
		text-decoration: underline;
		width: 100%;
		z-index: 20;
		pointer-events: auto;
	}
	
	.testimonials-video-overlay .user-submission-item__read-more:hover,
	.testimonials-video-overlay .user-submission-item__read-more:focus-visible {
		text-decoration: none;
	}
	
	/* Add padding to text-inner to prevent content from being hidden behind read more button */
	.testimonials-video-overlay .user-submission-item__text-content.has-scroll .user-submission-item__text-inner {
		padding-bottom: 3rem;
	}
}

/* Slide-in text popup for expanded testimonial text on mobile */
.testimonials-text-popup {
	background: #FFF;
	display: none;
	height: 100%;
	left: 0;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	position: fixed;
	top: 0;
	transform: translateX(100%);
	transition: transform 0.3s ease-in-out;
	width: 100%;
	z-index: 10000;
}

.testimonials-text-popup.is-active {
	display: block;
	transform: translateX(0);
}

.testimonials-text-popup__header {
	background: #FFFFFF;
	border-bottom: 1px solid #E5E5E5;
	padding: 1rem;
	position: sticky;
	top: 0;
	z-index: 10;
}

.testimonials-text-popup__back {
	align-items: center;
	background: none;
	border: none;
	color: #142032;
	cursor: pointer;
	display: flex;
	font-size: 1rem;
	gap: 0.5rem;
	padding: 0.5rem;
}

.testimonials-text-popup__back:hover,
.testimonials-text-popup__back:focus-visible {
	text-decoration: underline;
}

.testimonials-text-popup__content {
	color: #5C5F66;
	font-size: 1rem;
	line-height: 1.6em;
	padding: 2rem 1.5rem;
}

.testimonials-text-popup__content p {
	display: block !important;
}

.testimonials-text-popup__content b,
.testimonials-text-popup__content strong {
	color: #142132;
	font-weight: 700;
}

.testimonials-text-popup__source {
	align-items: center;
	border-top: 1px solid #E5E5E5;
	display: flex;
	gap: 1rem;
	margin-top: 2rem;
	padding-top: 2rem;
}

.testimonials-text-popup__profile-picture {
	border-radius: 50%;
	flex-shrink: 0;
	height: 3rem;
	object-fit: cover;
	width: 3rem;
}

.testimonials-text-popup__source-info {
	flex: 1;
}

.testimonials-text-popup__name {
	color: #142132;
	display: block;
	font-weight: 700;
	font-size: 1rem;
}

.testimonials-text-popup__location {
	color: #5C5F66;
	font-size: 0.875rem;
	margin: 0.25rem 0 0;
}

.testimonial-item__text-content b,
.testimonial-item__text-content strong,
.user-submission-item__text-content b,
.user-submission-item__text-content strong {
	color: #142132;
	font-weight: 700;
}

.testimonial-item__video,
.user-submission-item__video {
	position: relative;
	width: 100%;
	height: 100%;
	pointer-events: auto;
	z-index: 2;
}

.testimonial-item__poster,
.user-submission-item__poster {
	display: block;
	height: 100%;
	left: 0;
	object-fit: cover;
	position: absolute;
	top: 0;
	width: 100%;
}

.user-submission-item__poster--youtube {
	top: -8%;
	height: 116%;
}

.testimonial-item__play-button,
.user-submission-item__play-button {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 68px;
	height: 68px;
	background: rgb(255 0 0 / 0.9);
	border: none;
	border-radius: 50%;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.3s ease;
	z-index: 1;
}

.testimonial-item__play-button svg,
.user-submission-item__play-button svg {
	width: 32px;
	height: 32px;
	color: #fff;
	margin-left: 4px;
}

.testimonial-item__video iframe,
.user-submission-item__video iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* Content section */
.testimonial-item__content,
.user-submission-item__content {
	padding: 1.5rem;
	flex: 1;
	display: flex;
	flex-direction: column;
}

.testimonial-item__header,
.user-submission-item__header {
	align-items: center;
	background: linear-gradient(to bottom,  rgb(0 0 0 / .5) 0%,rgb(0 0 0 / 0) 100%);
	display: flex;
	gap: .625rem;
	left: 0;
	padding: .625rem;
	position: absolute;
	top: 0;
	width: 100%;
}

.testimonials-video-overlay .testimonial-item__header,
.testimonials-video-overlay .user-submission-item__header {
	background: linear-gradient(to bottom,  rgb(0 0 0 / .75) 0%,rgb(0 0 0 / 0) 100%);
	padding-bottom: 2rem;
}

.user-submission-item__source {
	align-items: center;
	display: flex;
	gap: .625rem;
	position: relative;
	width: 100%;
	flex-shrink: 0;
}

.testimonial-item__profile-picture,
.user-submission-item__profile-picture {
	border-radius: 50%;
	display: inline-block;
	flex-shrink: 0;
	height: 2.1875rem;
	margin: 0;
	overflow: hidden;
	object-fit: cover;
	position: relative;
	vertical-align: top;
	width: 2.1875rem;
}

.testimonials-video-overlay .testimonial-item__profile-picture,
.testimonials-video-overlay .user-submission-item__profile-picture {
	height: 3.25rem;
	width: 3.25rem;
}

.testimonial-item__meta,
.user-submission-item__meta {
	flex: 1;
	line-height: 0;
	margin: 0;
	min-width: 0;
}

.user-submission-item__source-info {
	display: inline-block;
	min-width: 0;
	position: relative;
	vertical-align: top;
	width: 100%;
}

.testimonial-item__name,
.user-submission-item__name {
	-webkit-box-orient: vertical;
	box-orient: vertical;
	color: #fff;
	display: -webkit-box;
	font-size: .6875rem;
	font-weight: 700;
	-webkit-line-clamp: 1;
	line-clamp: 1;
	line-height: 1.25em;
	margin: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	width: 100%;
}

.testimonials-video-overlay .testimonial-item__name,
.testimonials-video-overlay .user-submission-item__name {
	font-size: 1.25rem;
}

.user-submission-item__source .testimonial-item__name,
.user-submission-item__source .user-submission-item__name {
	color: #142132;
}

.testimonial-item__location,
.user-submission-item__location {
	-webkit-box-orient: vertical;
	box-orient: vertical;
	color: #fff;
	display: -webkit-box;
	font-size: .5625rem;
	-webkit-line-clamp: 1;
	line-clamp: 1;
	line-height: 1.25em;
	margin: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	position: relative;
	width: 100%;
}

.testimonials-video-overlay .testimonial-item__location,
.testimonials-video-overlay .user-submission-item__location {
	font-size: 1rem;
}

.user-submission-item__source .testimonial-item__location,
.user-submission-item__source .user-submission-item__location {
	color: #5C5F66;
}

.testimonial-item__categories,
.user-submission-item__categories {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: 1rem;
}

.testimonial-item__category,
.user-submission-item__category {
	display: inline-block;
	padding: 0.25rem 0.75rem;
	background: #f0f0f0;
	border-radius: 20px;
	font-size: 0.85rem;
	color: #555;
	font-weight: 500;
}

.testimonial-item__share-link,
.user-submission-item__share-link {
	display: inline-block;
	padding: 0.5rem 1rem;
	background: #0073aa;
	color: #fff;
	text-decoration: none;
	border-radius: 4px;
	font-size: 0.9rem;
	font-weight: 500;
	transition: background 0.2s ease;
	border: none;
	cursor: pointer;
	font-family: inherit;
}

@media (width >= 640px) {
  .testimonials-carousel .splide__slide,
	.careers-carousel .splide__slide {
		height: 21rem;
	}

	.testimonial-item__profile-picture,
	.user-submission-item__profile-picture {
		height: 2.4375rem;
		width: 2.4375rem;
	}

	.testimonial-item__name,
	.user-submission-item__name {
		font-size: .75rem;
	}

	.testimonial-item__location,
	.user-submission-item__location {
		font-size: .75rem;
	}

	.testimonial-item__text-content,
	.user-submission-item__text-content {
		font-size: .875rem;
		-webkit-line-clamp: 10;
		line-clamp: 10;
		max-height: calc(1.6em * 10);
	}

	.user-submission__badge {
		bottom: 0;
		height: 5rem;
		width: 5rem;
	}
}

@media (width >= 768px) {
	.testimonials-carousel .splide__slide,
	.careers-carousel .splide__slide {
		height: 23rem;
	}

	.testimonial-item__media--text,
	.user-submission-item__media--text {
		gap: 1.25rem;
		padding: 1.25rem;
	}

	.testimonial-item__profile-picture,
	.user-submission-item__profile-picture {
		height: 2.625rem;
		width: 2.625rem;
	}

	.testimonial-item__name,
	.user-submission-item__name {
		font-size: .875rem;
	}

	.testimonials-video-overlay__close {
		height: 3.5rem;
		right: 1.75rem;
		top: 1.5rem;
		width: 3.5rem;
	}

	.testimonials-video-overlay__close svg {
		height: 1.5rem;
		width: 1.5rem;
	}

	.testimonials-video-overlay .testimonial-item__media--text,
	.testimonials-video-overlay .user-submission-item__media--text {
		gap: 2rem;
		padding: 2rem;
	}

	.testimonials-video-overlay .splide__arrow {
		height: 3.3125rem;
		width: 3.3125rem;
	}

	.testimonials-video-overlay .splide__arrow--prev {
		left: -5.8125rem;
	}

	.testimonials-video-overlay .splide__arrow--next {
		right: -5.8125rem;
	}

	.user-submission__badge {
		bottom: 1.25rem;
		height: 6rem;
		width: 6rem;
	}
}

@media (width >= 1024px) {
	.testimonials-video-overlay__carousel-container {
		padding-right: var(--content-gutter);
	}

	.wp-block-im-hero-slider + .wp-block-im-testimonials .testimonials-block__inner {
		margin-top: -15rem;
	}

	.testimonials-carousel .splide__slide,
	.careers-carousel .splide__slide {
		height: 24rem;
	}

	.testimonials-video-overlay .testimonial-item__text-content,
	.testimonials-video-overlay .user-submission-item__text-content {
		overflow: auto;
	}

	.testimonial-item__header,
	.user-submission-item__header {
		padding: .875rem;
	}

	.testimonial-item__profile-picture,
	.user-submission-item__profile-picture {
		height: 2.875rem;
		width: 2.875rem;
	}

	.testimonial-item__name,
	.user-submission-item__name {
		font-size: 1rem;
	}

	.testimonial-item__location,
	.user-submission-item__location {
		font-size: .75rem;
	}

	.testimonials-carousel .splide__arrows,
	.careers-carousel .splide__arrows {
		bottom: 0;
		display: inline-flex;
		gap: 1rem;
		left: 0;
		padding: 0;
		position: absolute;
		vertical-align: top;
	}

	.testimonials-video-overlay .splide__arrow--prev {
		left: -4rem;
	}

	.testimonials-video-overlay .splide__arrow--next {
		right: -4rem;
	}

	.user-submission__badge {
		opacity: 1;
	}

	.testimonials-overlay-carousel .splide__slide {
		height: 100%;
		left: 0;
		position: absolute;
		top: 0;
		width: 100%;
		/* On desktop: allow horizontal panning (matches ltr direction) */
		touch-action: pan-x;
	}

	/* Swipe capture overlay matches carousel direction on desktop */
	.user-submission-item__swipe-capture {
		touch-action: pan-x;
	}

	.testimonials-overlay-carousel,
	.testimonials-video-overlay .splide__track {
		aspect-ratio: 9/16;
		height: 100%;
		max-height: 55rem;
		max-width: 100%;
		width: auto;
	}

	.testimonials-overlay-carousel .splide__list {
		transform: none !important;
	}

	.testimonials-video-overlay__content {
		align-items: center;
		display: flex;
		flex-direction: row;
		margin: 0 auto;
		max-width: var(--content-max-width);
		padding: 5.125rem 0;
	}

	.testimonials-video-overlay__copy {
		display: block;
		max-width: 26rem;
	}

	.testimonials-overlay-carousel .splide__slide.is-active {
		margin: 0;
		transform: scale(1);
		z-index: 50;
	}

	.testimonials-overlay-carousel .splide__slide.is-active::after {
		pointer-events: none;
	}

	.testimonials-overlay-carousel .splide__slide.is-active + .splide__slide {
		margin: 0 0 0 3.25rem;
		transform: scale(.92);
		z-index: 49;
	}

	.testimonials-overlay-carousel .splide__slide.is-active + .splide__slide + .splide__slide {
		margin: 0 0 0 6.24rem;
		transform: scale(.8464);
		z-index: 48;
	}

	.testimonials-overlay-carousel .splide__slide.is-active + .splide__slide + .splide__slide + .splide__slide {
		margin: 0 0 0 8.5rem;
		transform: scale(.7787);
		z-index: 47;
	}

	.testimonials-overlay-carousel .splide__slide.is-active + .splide__slide + .splide__slide + .splide__slide + .splide__slide {
		margin: 0 0 0 10.5575rem;
		transform: scale(.7164);
		z-index: 46;
	}

	.testimonials-overlay-carousel .splide__slide.is-active + .splide__slide + .splide__slide + .splide__slide + .splide__slide + .splide__slide {
		margin: 0 0 0 12.8rem;
		transform: scale(.659);
		z-index: 45;
	}

	.testimonials-overlay-carousel .splide__slide.is-active + .splide__slide + .splide__slide + .splide__slide + .splide__slide + .splide__slide + .splide__slide {
		margin: 0 0 0 15rem;
		transform: scale(.6063);
		z-index: 44;
	}

	.testimonials-overlay-carousel .splide__slide.is-active + .splide__slide + .splide__slide + .splide__slide + .splide__slide + .splide__slide + .splide__slide + .splide__slide {
		margin: 0 0 0 15rem;
		transform: scale(.6063);
		z-index: 43;
	}

	.testimonials-video-overlay__content .splide__pagination {
		bottom: -2.5rem;
	}
}

@media (width >= 1200px) {
	.testimonials-carousel .splide__slide,
	.careers-carousel .splide__slide {
		height: 27rem;
	}

	.testimonial-item__profile-picture,
	.user-submission-item__profile-picture {
		height: 3.0625rem;
		width: 3.0625rem;
	}

	.user-submission__badge {
		bottom: 0;
		height: 8rem;
		width: 8rem;
	}

	.testimonials-video-overlay__copy {
		max-width: 28rem;
	}

	.testimonials-video-overlay .splide__arrow--prev {
		left: -5.8125rem;
	}

	.testimonials-video-overlay .splide__arrow--next {
		right: -5.8125rem;
	}
}

@media (width >= 1536px) {
	.testimonials-carousel .splide__slide,
	.careers-carousel .splide__slide {
		height: 31.875rem;
	}

	.testimonial-item__profile-picture,
	.user-submission-item__profile-picture {
		height: 3.3125rem;
		width: 3.3125rem;
	}

	.testimonial-item__media--text,
	.user-submission-item__media--text {
		padding: 3rem 1.875rem 1.875rem;
	}
	
	.testimonial-item__text-content,
	.user-submission-item__text-content {
		font-size: 1.25rem;
	}

	.testimonial-item__name,
	.user-submission-item__name {
		font-size: 1rem;
	}

	.testimonial-item__location,
	.user-submission-item__location {
		font-size: 1rem;
	}

	.user-submission__badge {
		bottom: 0;
		right: calc((100dvw - 103rem) / 2);
		height: 11rem;
		width: 11rem;
	}
}

@media (height >= 1000px) and (width >= 1024px) {
	.testimonials-video-overlay__content {
		padding: 7.5rem 0;
	}

	.testimonials-video-overlay__content .splide__pagination {
		bottom: -3.25rem;
	}
}

/* WP Editor Friendly Styles */
.block-editor-page .wp-block-im-testimonials {
	align-items: flex-start;
	padding: 0;
}

.block-editor-page .testimonials-carousel,
.block-editor-page .splide.testimonials-carousel,
.block-editor-page .testimonials-component .splide.testimonials-carousel,
.block-editor-page .careers-carousel,
.block-editor-page .splide.careers-carousel,
.block-editor-page .testimonials-component .splide.careers-carousel {
	left: 0;
	padding: 0;
	position: relative;
	width: 100%;
}

.block-editor__container img.testimonial-item__poster,
.block-editor__container img.user-submission-item__poster {
	height: 100%;
}

.block-editor__container img.testimonial-item__poster--youtube,
.block-editor__container img.user-submission-item__poster--youtube {
	height: 116%;
}

.wp-block-im-testimonials.is-selected > div {
	width: 100%;
}

.wp-block-im-testimonials.is-selected::after {
	display: none;
}