/* Client Testimonials: global synced pattern (wp_block "opx-client-testimonials").
   Home layout shared by every instance: 3 per view (2 below 1024, 1 below 768). */
#sec-testimonials {
	overflow-x: hidden;
}

body .opx-reviews {
	box-sizing: border-box;
	margin: 0;
	padding: 3% max(var(--wp--preset--spacing--section-x), calc((100% - 1400px) / 2)) 5%;
	background-image: url("https://orthoplexsostg.wpenginepowered.com/wp-content/uploads/2023/10/bg-gradient-blur-v3.png");
	background-repeat: no-repeat;
	background-position: center top;
	background-size: contain;
	overflow-x: hidden;
}

body .opx-reviews__heading {
	margin: 0;
	text-align: center;
}

/* Track = production swiper width: inset via padding (not negative margin) so 3 cards fill the visible viewport. */
body .opx-reviews__track {
	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
	gap: 20px;
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	padding: 50px 22px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-padding-inline: 0;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}

body .opx-reviews--inset .opx-reviews__track {
	padding-inline: 30px;
}

body .opx-reviews__track::-webkit-scrollbar {
	display: none;
}

/* WP `.is-layout-flex > *` zeroes margin — size cards from gap only so 3 fill the track (production). */
body .opx-reviews__track.is-layout-flex > .opx-reviews__card {
	flex: 0 0 calc((100% - 40px) / 3 + 9px);
	min-width: 0;
	max-width: calc((100% - 40px) / 3 + 9px);
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 30px 30px 36px;
	background: var(--wp--preset--color--surface);
	border-radius: 20px;
	box-shadow: 0 5px 5px 0 var(--wp--preset--color--shadow);
	scroll-snap-align: start;
}

body .opx-reviews__logo {
	margin: 0;
	width: 50%;
	align-self: flex-start;
}

body .opx-reviews__logo img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 5 / 3;
	object-fit: contain;
	object-position: left center;
}

body .opx-reviews__quote {
	margin: 0;
	font-weight: 300;
}

body .opx-reviews__footer {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 15px;
	margin-top: 10px;
	width: 100%;
}

body .opx-reviews__photo {
	margin: 0;
	flex: 0 0 80px;
	width: 80px;
	height: 80px;
}

body .opx-reviews__photo img {
	display: block;
	width: 80px;
	height: 80px;
	border-radius: 50%;
	object-fit: cover;
}

body .opx-reviews__meta {
	display: flex;
	flex-direction: column;
	gap: 0;
	min-width: 0;
}

body .opx-reviews__name {
	margin: 0;
	font-size: var(--wp--preset--font-size--headline-s);
	font-weight: 500;
	line-height: 30px;
}

body .opx-reviews__company {
	margin: 0;
	font-size: var(--wp--preset--font-size--overline);
	font-weight: 300;
	line-height: 16px;
}

body .opx-reviews__cta {
	margin: 0;
}

@media (max-width: 1024px) {
	body .opx-reviews {
		padding: 5% var(--wp--preset--spacing--section-x) 16px;
	}

	body .opx-reviews__track,
	body .opx-reviews--inset .opx-reviews__track {
		margin-inline: 0;
		padding-inline: 15px;
		padding-block: 70px;
	}

	body .opx-reviews__track.is-layout-flex > .opx-reviews__card {
		flex-basis: calc((100% - 20px) / 2);
		max-width: calc((100% - 20px) / 2);
	}

	/* production's script switches to 3 per view at exactly 1024px; opx-reviews.js sets data-wide from window.innerWidth */
	body .opx-reviews[data-wide] .opx-reviews__track.is-layout-flex > .opx-reviews__card,
	body .opx-reviews--inset .opx-reviews[data-wide] .opx-reviews__track.is-layout-flex > .opx-reviews__card {
		flex-basis: calc((100% - 40px) / 3 + 9px);
		max-width: calc((100% - 40px) / 3 + 9px);
	}
}

@media (max-width: 767px) {
	body .opx-reviews {
		padding: 9% var(--wp--preset--spacing--section-x) 14px;
	}

	body .opx-reviews__track,
	body .opx-reviews--inset .opx-reviews__track {
		margin-inline: 0;
		gap: 0;
		padding-inline: 0;
		padding-block: 31px 50px;
	}

	body .opx-reviews__track.is-layout-flex > .opx-reviews__card {
		flex-basis: calc(100% - 20px);
		max-width: calc(100% - 20px);
		padding-bottom: 16px;
	}
}

/* Shared Home carousel layout, animation geometry and bottom-aligned authors. */
body .opx-reviews {
	padding-top: 2.7%;
	padding-bottom: 4.5%;
}

body .opx-reviews__track {
	width: calc(100% - 60px);
	margin-inline: 30px;
	padding: 50px 10px;
	gap: 40px;
	overflow-x: hidden;
	scroll-snap-type: none;
	scroll-behavior: auto;
	touch-action: pan-y pinch-zoom;
	user-select: none;
	cursor: grab;
}

body .opx-reviews__track.is-layout-flex > .opx-reviews__card {
	flex: 0 0 calc((100% - 80px) / 3);
	max-width: calc((100% - 80px) / 3);
	margin: 0;
	padding: 30px;
}

body .opx-reviews__quote {
	line-height: 35px;
}

body .opx-reviews__track .opx-reviews__footer {
	margin-top: auto;
	min-height: 86px;
	padding-bottom: 3px;
	box-sizing: border-box;
}

body .opx-reviews__meta {
	min-height: 83px;
	justify-content: center;
}

@media (max-width: 1024px) {
	body .opx-reviews {
		padding-top: 4.5%;
		padding-bottom: 0;
	}

	body .opx-reviews__track {
		width: calc(100% + 30px);
		margin-inline: -15px;
		margin-top: 20px;
		padding: 50px 10px 70px;
	}

	body .opx-reviews__track.is-layout-flex > .opx-reviews__card {
		flex-basis: calc((100% - 40px) / 2);
		max-width: calc((100% - 40px) / 2);
	}

	body .opx-reviews[data-wide] .opx-reviews__track.is-layout-flex > .opx-reviews__card {
		flex-basis: calc((100% - 80px) / 3);
		max-width: calc((100% - 80px) / 3);
	}
}

@media (max-width: 767px) {
	body .opx-reviews {
		padding-top: 9%;
		padding-bottom: 0;
	}

	body .opx-reviews__track {
		width: 100%;
		margin: 0;
		padding: 30px 10px 50px;
		gap: 20px;
	}

	body .opx-reviews__track.is-layout-flex > .opx-reviews__card {
		flex-basis: 100%;
		max-width: 100%;
		padding-bottom: 10px;
	}

	body .opx-reviews__quote {
		line-height: 27px;
	}
}

/* Home hero: retain the accessible rating text and draw production's exact %3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22117.5%22%20height%3D%2214%22%20viewBox%3D%220%200%20117.5%2014%22%3E%3Csvg%20x%3D%226.75%22%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%20576%20512%22%3E%3Cpath%20d%3D%22M259.3%2017.8L194%20150.2%2047.9%20171.5c-26.2%203.8-36.7%2036.1-17.7%2054.6l105.7%20103-25%20145.5c-4.5%2026.3%2023.2%2046%2046.4%2033.7L288%20439.6l130.7%2068.7c23.2%2012.2%2050.9-7.4%2046.4-33.7l-25-145.5%20105.7-103c19-18.5%208.5-50.8-17.7-54.6L382%20150.2%20316.7%2017.8c-11.7-23.6-45.6-23.9-57.4%200z%22%2F%3E%3C%2Fsvg%3E%3Csvg%20x%3D%2229.25%22%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%20576%20512%22%3E%3Cpath%20d%3D%22M259.3%2017.8L194%20150.2%2047.9%20171.5c-26.2%203.8-36.7%2036.1-17.7%2054.6l105.7%20103-25%20145.5c-4.5%2026.3%2023.2%2046%2046.4%2033.7L288%20439.6l130.7%2068.7c23.2%2012.2%2050.9-7.4%2046.4-33.7l-25-145.5%20105.7-103c19-18.5%208.5-50.8-17.7-54.6L382%20150.2%20316.7%2017.8c-11.7-23.6-45.6-23.9-57.4%200z%22%2F%3E%3C%2Fsvg%3E%3Csvg%20x%3D%2251.75%22%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%20576%20512%22%3E%3Cpath%20d%3D%22M259.3%2017.8L194%20150.2%2047.9%20171.5c-26.2%203.8-36.7%2036.1-17.7%2054.6l105.7%20103-25%20145.5c-4.5%2026.3%2023.2%2046%2046.4%2033.7L288%20439.6l130.7%2068.7c23.2%2012.2%2050.9-7.4%2046.4-33.7l-25-145.5%20105.7-103c19-18.5%208.5-50.8-17.7-54.6L382%20150.2%20316.7%2017.8c-11.7-23.6-45.6-23.9-57.4%200z%22%2F%3E%3C%2Fsvg%3E%3Csvg%20x%3D%2274.25%22%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%20576%20512%22%3E%3Cpath%20d%3D%22M259.3%2017.8L194%20150.2%2047.9%20171.5c-26.2%203.8-36.7%2036.1-17.7%2054.6l105.7%20103-25%20145.5c-4.5%2026.3%2023.2%2046%2046.4%2033.7L288%20439.6l130.7%2068.7c23.2%2012.2%2050.9-7.4%2046.4-33.7l-25-145.5%20105.7-103c19-18.5%208.5-50.8-17.7-54.6L382%20150.2%20316.7%2017.8c-11.7-23.6-45.6-23.9-57.4%200z%22%2F%3E%3C%2Fsvg%3E%3Csvg%20x%3D%2296.75%22%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%20576%20512%22%3E%3Cpath%20d%3D%22M259.3%2017.8L194%20150.2%2047.9%20171.5c-26.2%203.8-36.7%2036.1-17.7%2054.6l105.7%20103-25%20145.5c-4.5%2026.3%2023.2%2046%2046.4%2033.7L288%20439.6l130.7%2068.7c23.2%2012.2%2050.9-7.4%2046.4-33.7l-25-145.5%20105.7-103c19-18.5%208.5-50.8-17.7-54.6L382%20150.2%20316.7%2017.8c-11.7-23.6-45.6-23.9-57.4%200z%22%2F%3E%3C%2Fsvg%3E%3C%2Fsvg%3E stars. */
body[class~="home"] [class~="kit-review-row"] > [class~="kit-stars"] {
	position: relative;
	flex: 0 0 117.5px;
	width: 117.5px;
	height: 14px;
	margin-left: 3px;
	font-size: 0;
	letter-spacing: 0;
}
body[class~="home"] [class~="kit-review-row"] > [class~="kit-stars"]::before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background-color: currentColor;
	mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22117.5%22%20height%3D%2214%22%20viewBox%3D%220%200%20117.5%2014%22%3E%3Csvg%20x%3D%226.75%22%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%20576%20512%22%3E%3Cpath%20d%3D%22M259.3%2017.8L194%20150.2%2047.9%20171.5c-26.2%203.8-36.7%2036.1-17.7%2054.6l105.7%20103-25%20145.5c-4.5%2026.3%2023.2%2046%2046.4%2033.7L288%20439.6l130.7%2068.7c23.2%2012.2%2050.9-7.4%2046.4-33.7l-25-145.5%20105.7-103c19-18.5%208.5-50.8-17.7-54.6L382%20150.2%20316.7%2017.8c-11.7-23.6-45.6-23.9-57.4%200z%22%2F%3E%3C%2Fsvg%3E%3Csvg%20x%3D%2229.25%22%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%20576%20512%22%3E%3Cpath%20d%3D%22M259.3%2017.8L194%20150.2%2047.9%20171.5c-26.2%203.8-36.7%2036.1-17.7%2054.6l105.7%20103-25%20145.5c-4.5%2026.3%2023.2%2046%2046.4%2033.7L288%20439.6l130.7%2068.7c23.2%2012.2%2050.9-7.4%2046.4-33.7l-25-145.5%20105.7-103c19-18.5%208.5-50.8-17.7-54.6L382%20150.2%20316.7%2017.8c-11.7-23.6-45.6-23.9-57.4%200z%22%2F%3E%3C%2Fsvg%3E%3Csvg%20x%3D%2251.75%22%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%20576%20512%22%3E%3Cpath%20d%3D%22M259.3%2017.8L194%20150.2%2047.9%20171.5c-26.2%203.8-36.7%2036.1-17.7%2054.6l105.7%20103-25%20145.5c-4.5%2026.3%2023.2%2046%2046.4%2033.7L288%20439.6l130.7%2068.7c23.2%2012.2%2050.9-7.4%2046.4-33.7l-25-145.5%20105.7-103c19-18.5%208.5-50.8-17.7-54.6L382%20150.2%20316.7%2017.8c-11.7-23.6-45.6-23.9-57.4%200z%22%2F%3E%3C%2Fsvg%3E%3Csvg%20x%3D%2274.25%22%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%20576%20512%22%3E%3Cpath%20d%3D%22M259.3%2017.8L194%20150.2%2047.9%20171.5c-26.2%203.8-36.7%2036.1-17.7%2054.6l105.7%20103-25%20145.5c-4.5%2026.3%2023.2%2046%2046.4%2033.7L288%20439.6l130.7%2068.7c23.2%2012.2%2050.9-7.4%2046.4-33.7l-25-145.5%20105.7-103c19-18.5%208.5-50.8-17.7-54.6L382%20150.2%20316.7%2017.8c-11.7-23.6-45.6-23.9-57.4%200z%22%2F%3E%3C%2Fsvg%3E%3Csvg%20x%3D%2296.75%22%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%20576%20512%22%3E%3Cpath%20d%3D%22M259.3%2017.8L194%20150.2%2047.9%20171.5c-26.2%203.8-36.7%2036.1-17.7%2054.6l105.7%20103-25%20145.5c-4.5%2026.3%2023.2%2046%2046.4%2033.7L288%20439.6l130.7%2068.7c23.2%2012.2%2050.9-7.4%2046.4-33.7l-25-145.5%20105.7-103c19-18.5%208.5-50.8-17.7-54.6L382%20150.2%20316.7%2017.8c-11.7-23.6-45.6-23.9-57.4%200z%22%2F%3E%3C%2Fsvg%3E%3C%2Fsvg%3E") center / 100% 100% no-repeat;
}


body .opx-reviews__track.is-dragging {
	cursor: grabbing;
}

/* Synced reviews own their inset; wrappers add no second inset. */
body:is([class~="page-id-22591"], [class~="page-id-22854"]) #sec-testimonials:has(> .opx-reviews) { padding: 0; }

/* Production's non-Home desktop instances fill a centered 1400px row. */
@media (min-width: 1025px) {
  body:not([class~="home"]) .alignfull:has(> .opx-reviews) {
    padding-inline: 0;
  }

  body:not([class~="home"]) .opx-reviews {
    padding-inline: max(0px, calc((100% - 1400px) / 2));
  }
}
