.elementor-widget-springfree_review_card,
.elementor-widget-springfree_review_card .elementor-widget-container {
	height: 100%;
}

.elementor-20730 .elementor-element.elementor-element-sfrloop .elementor-loop-container > .e-loop-item {
	min-width: 0;
}

.elementor-20730 .elementor-element.elementor-element-sfrloop .elementor-loop-container > .e-loop-item:has(.sf-review-card--endcap) {
	grid-column: 1 / -1;
}

.elementor-20730 .elementor-element.elementor-element-sfrloop .elementor-loop-container > .e-loop-item:has(.sf-review-card--endcap) .elementor-widget-springfree_review_card,
.elementor-20730 .elementor-element.elementor-element-sfrloop .elementor-loop-container > .e-loop-item:has(.sf-review-card--endcap) .elementor-widget-springfree_review_card .elementor-widget-container {
	height: auto;
}

.sf-review-card,
.sf-review-card * {
	box-sizing: border-box;
}

.sf-review-card {
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
	min-height: 372px;
	margin: 0;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 1px 3px rgba(48, 65, 80, 0.1);
	color: #304150;
	font-family: Montserrat, Arial, sans-serif;
	overflow: hidden;
}

.sf-review-card--text {
	padding: 24px;
}

.sf-review-card__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	min-height: 0;
}

.sf-review-card__header {
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr);
	align-items: center;
	column-gap: 16px;
	margin: 0;
}

.sf-review-card__avatar {
	width: 48px;
	height: 48px;
	overflow: hidden;
	border-radius: 999px;
	flex: 0 0 auto;
}

.sf-review-card__avatar img,
.sf-review-card__avatar svg {
	display: block;
	width: 48px;
	height: 48px;
	object-fit: cover;
}

.sf-review-card__author {
	min-width: 0;
}

.sf-review-card__author-line {
	display: flex;
	align-items: center;
	gap: 6px;
	min-width: 0;
}

.sf-review-card__name,
.sf-review-card__date,
.sf-review-card__text {
	margin: 0;
	padding: 0;
}

.sf-review-card__name {
	color: #304150;
	font-size: 16px;
	font-weight: 800;
	line-height: 1.22;
	overflow-wrap: anywhere;
}

.sf-review-card__date {
	margin-top: 3px;
	color: #6b7280;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.25;
}

.sf-review-card__author-check {
	display: block;
	width: 17px;
	height: 17px;
	flex: 0 0 17px;
}

.sf-review-card__rating {
	margin-top: 24px;
	color: #304150;
	font-size: 15px;
	font-weight: 800;
	line-height: 1;
}

.sf-review-card__rating > span,
.sf-review-video-card__rating > span {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	vertical-align: top;
}

.sf-review-card__rating strong,
.sf-review-video-card__rating strong {
	margin-right: 3px;
	color: inherit;
	font-weight: 900;
}

.sf-review-card__rating svg,
.sf-review-video-card__rating svg {
	display: block;
	width: 18px;
	height: 18px;
	flex: 0 0 18px;
}

.sf-review-card__model {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	margin-top: 14px;
	padding: 4px 11px;
	border-radius: 999px;
	background: #e9f6fd;
	color: #005487;
	font-size: 13px;
	font-weight: 800;
	line-height: 1.25;
}

.sf-review-card__text {
	margin-top: 26px;
	color: #5f6c7a;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.68;
	overflow-wrap: break-word;
}

.sf-review-card__footer {
	display: flex;
	align-items: center;
	margin-top: auto;
	padding-top: 24px;
}

.sf-review-card__verified,
.sf-review-video-card__verified {
	display: inline-flex;
	align-items: center;
	width: auto;
	max-width: 100%;
	gap: 6px;
	padding: 7px 10px;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	background: #fff;
	color: #304150;
	font-family: Montserrat, Arial, sans-serif;
	font-size: 13px;
	font-weight: 800;
	line-height: 1.2;
	white-space: normal;
}

.sf-review-card__verified-icon,
.sf-review-video-card__verified-icon {
	display: block;
	width: 14px;
	height: 14px;
	flex: 0 0 14px;
}

.sf-review-card__verified span,
.sf-review-video-card__verified span {
	min-width: 0;
	overflow-wrap: break-word;
}

.sf-review-card__verified--unverified,
.sf-review-video-card__verified--unverified {
	background: #f8fafc;
	color: #5f6c7a;
}

.sf-review-card--endcap {
	align-items: center;
	width: min(100%, 760px);
	height: auto;
	min-height: 0;
	margin: 24px auto 0;
	padding: 40px;
	text-align: center;
}

.sf-review-endcap__eyebrow,
.sf-review-endcap__title,
.sf-review-endcap__text {
	margin: 0;
	padding: 0;
}

.sf-review-endcap__eyebrow {
	color: var(--wp--preset--color--sf-action, #0073c4);
	font-size: 13px;
	font-weight: 900;
	letter-spacing: 0.14em;
	line-height: 1.2;
	text-transform: uppercase;
}

.sf-review-endcap__title {
	max-width: 680px;
	margin-top: 10px;
	color: #304150;
	font-size: 34px;
	font-weight: 900;
	line-height: 1.12;
}

.sf-review-endcap__text {
	max-width: 680px;
	margin-top: 18px;
	color: #5f6c7a;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.68;
}

.sf-review-endcap__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: min(100%, 280px);
	min-height: 54px;
	margin-top: 28px;
	padding: 14px 28px;
	border: 1px solid #d6dde3;
	border-radius: 8px;
	background: #fff;
	color: #304150;
	font-size: 16px;
	font-weight: 800;
	line-height: 1.2;
	text-align: center;
	text-decoration: none !important;
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.sf-review-endcap__button:hover {
	border-color: #b9d9eb;
	background: #e9f5fb;
	color: #005487;
	box-shadow: 0 8px 20px rgba(48, 65, 80, 0.08);
}

.sf-review-endcap__button:focus-visible {
	outline: 3px solid rgba(0, 136, 206, 0.35);
	outline-offset: 3px;
}

.sf-review-card--video {
	padding: 0;
	border-color: #dbe5eb;
	background: #101b29;
}

body .sf-review-video-card {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: flex-end;
	width: 100%;
	height: 100%;
	min-height: 372px;
	margin: 0;
	padding: 24px;
	border: 0 !important;
	border-radius: 8px;
	background: #101b29 !important;
	background-color: #101b29 !important;
	color: #fff !important;
	box-shadow: none !important;
	text-align: left;
	cursor: zoom-in;
	overflow: hidden;
}

.sf-reviews-homepage-carousel,
.sf-reviews-homepage-carousel * {
	box-sizing: border-box;
}

.sf-reviews-homepage-carousel {
	width: 100%;
	margin: 0;
	color: #304150;
	font-family: Montserrat, Arial, sans-serif;
	overflow-anchor: none;
}

.sf-reviews-homepage-carousel--needs-init:not(.sf-reviews-homepage-carousel--is-ready) .sf-reviews-homepage-carousel__track {
	visibility: hidden;
}

.sf-reviews-homepage-carousel--is-preparing .sf-reviews-homepage-carousel__track {
	scroll-behavior: auto;
	scroll-snap-type: none;
}

.sf-reviews-homepage-carousel__controls {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin: 0 0 14px;
}

.sf-reviews-homepage-carousel__all-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	max-width: 100%;
	padding: 0 18px;
	border: 1px solid #dbe5eb;
	border-radius: 8px;
	background: #fff;
	color: var(--wp--preset--color--sf-action, #0073c4);
	font-size: 14px;
	font-weight: 800;
	line-height: 1.2;
	text-align: center;
	text-decoration: none !important;
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.sf-reviews-homepage-carousel__all-link:hover {
	border-color: #b9d9eb;
	background: #e9f5fb;
	color: #005487;
	box-shadow: 0 8px 20px rgba(48, 65, 80, 0.08);
}

.sf-reviews-homepage-carousel__all-link:focus-visible {
	outline: 3px solid rgba(0, 136, 206, 0.35);
	outline-offset: 3px;
}

.sf-reviews-homepage-carousel__nav-group {
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
	margin-left: auto;
}

body .sf-reviews-homepage-carousel__nav {
	-moz-appearance: none;
	     appearance: none;
	-webkit-appearance: none;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	min-width: 42px;
	min-height: 42px;
	margin: 0;
	padding: 0 !important;
	border: 1px solid #dbe5eb !important;
	border-radius: 999px;
	background: #fff !important;
	background-color: #fff !important;
	color: #304150 !important;
	box-shadow: 0 8px 20px rgba(48, 65, 80, 0.12) !important;
	cursor: pointer;
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, opacity 160ms ease;
}

body .sf-reviews-homepage-carousel__nav:hover {
	border-color: #b9d9eb !important;
	background: #e9f5fb !important;
	background-color: #e9f5fb !important;
	color: var(--wp--preset--color--sf-action, #0073c4) !important;
}

body .sf-reviews-homepage-carousel__nav:disabled {
	opacity: 0.38;
	cursor: default;
	pointer-events: none;
}

.sf-reviews-homepage-carousel__nav:focus-visible {
	outline: 3px solid rgba(0, 136, 206, 0.35);
	outline-offset: 3px;
}

.sf-reviews-homepage-carousel__icon {
	display: block;
	width: 18px;
	height: 18px;
	flex: 0 0 18px;
}

.sf-reviews-homepage-carousel__track {
	display: flex;
	align-items: stretch;
	gap: 24px;
	width: 100%;
	margin: 0;
	padding: 2px 2px 14px;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-behavior: smooth;
	scroll-padding-inline: 2px;
	scroll-snap-type: x mandatory;
	overscroll-behavior-x: contain;
	-webkit-overflow-scrolling: touch;
}

.sf-reviews-homepage-carousel__track:focus {
	outline: none;
}

.sf-reviews-homepage-carousel__track:focus-visible {
	outline: 3px solid rgba(0, 136, 206, 0.26);
	outline-offset: 4px;
}

.sf-reviews-homepage-carousel__track::-webkit-scrollbar {
	height: 8px;
}

.sf-reviews-homepage-carousel__track::-webkit-scrollbar-track {
	background: #edf3f6;
	border-radius: 999px;
}

.sf-reviews-homepage-carousel__track::-webkit-scrollbar-thumb {
	background: #b8c9d4;
	border-radius: 999px;
}

.sf-reviews-homepage-carousel__slide {
	display: flex;
	align-items: stretch;
	flex: 0 0 min(420px, calc((100% - 48px) / 3));
	min-width: 0;
	max-width: 420px;
	scroll-snap-align: start;
}

.sf-reviews-homepage-carousel__slide .sf-review-card,
.sf-reviews-homepage-carousel__slide .sf-review-video-card {
	flex: 1 1 auto;
	height: 100%;
	min-height: 372px;
}

.sf-reviews-homepage-carousel__slide .sf-review-card__text {
	overflow-wrap: break-word;
	word-break: normal;
	-webkit-hyphens: none;
	        hyphens: none;
}

.sf-reviews-homepage-carousel__slide .sf-review-video-card__quote {
	overflow-wrap: break-word;
	word-break: normal;
	-webkit-hyphens: none;
	        hyphens: none;
}

.sf-review-video-card__poster,
.sf-review-video-card__media,
.sf-review-video-card__shade {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

.sf-review-video-card__poster,
.sf-review-video-card__media {
	max-width: none !important;
	max-height: none !important;
	height: 100% !important;
	object-fit: cover;
	object-position: center center;
}

.sf-review-video-card__media {
	opacity: 0;
	transition: opacity 220ms ease;
}

.sf-review-video-card[data-preview-playing="true"] .sf-review-video-card__media {
	opacity: 1;
}

.sf-review-video-card__shade {
	z-index: 1;
	background: linear-gradient(180deg, rgba(16, 27, 41, 0.18) 0%, rgba(16, 27, 41, 0.38) 42%, rgba(16, 27, 41, 0.84) 100%);
}

.sf-review-video-card__model {
	position: absolute;
	z-index: 2;
	top: 18px;
	right: 18px;
	display: inline-flex;
	align-items: center;
	max-width: calc(100% - 36px);
	padding: 5px 10px;
	border-radius: 7px;
	background: rgba(16, 27, 41, 0.58);
	color: rgba(255, 255, 255, 0.92);
	font-size: var(--wp--preset--font-size--sf-small, .8125rem);
	font-weight: 800;
	line-height: 1.2;
	white-space: nowrap;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	overflow: hidden;
	text-overflow: ellipsis;
	pointer-events: none;
}

.sf-review-video-card__content {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
	min-width: 0;
	margin-top: auto;
	pointer-events: none;
}

.sf-review-video-card__quote {
	display: block;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	color: #fff;
	font-size: 30px;
	font-style: italic;
	font-weight: 900;
	letter-spacing: 0;
	line-height: 1.05;
	text-shadow: 0 2px 18px rgba(0, 0, 0, 0.32);
	overflow-wrap: normal;
	word-break: normal;
	-webkit-hyphens: none;
	        hyphens: none;
	white-space: normal !important;
}

.sf-review-video-card__rating {
	margin-top: 16px;
	color: #fff;
	font-size: 15px;
	font-weight: 900;
	line-height: 1;
	text-shadow: 0 1px 12px rgba(0, 0, 0, 0.28);
}

.sf-review-video-card__verified {
	margin-top: 20px;
	background: rgba(255, 255, 255, 0.96);
	box-shadow: 0 10px 26px rgba(0, 0, 0, 0.14);
}

.sf-review-video-card:hover .sf-review-video-card__poster,
.sf-review-video-card:focus-visible .sf-review-video-card__poster {
	transform: scale(1.02);
}

.sf-review-video-card__poster {
	transition: transform 260ms ease;
}

.sf-review-video-card:focus-visible {
	outline: 3px solid rgba(0, 136, 206, 0.48);
	outline-offset: 4px;
}

.sf-reviews-video-modal[hidden] {
	display: none !important;
}

.sf-reviews-video-modal,
.sf-reviews-video-modal * {
	box-sizing: border-box;
}

.sf-reviews-video-modal {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1000000;
	display: grid;
	place-items: center;
	padding: 24px;
}

.sf-reviews-video-modal-open {
	overflow: hidden;
}

body .sf-reviews-video-modal__backdrop {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0 !important;
	border: 0 !important;
	background: rgba(14, 28, 40, 0.88) !important;
	background-color: rgba(14, 28, 40, 0.88) !important;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	box-shadow: none !important;
	cursor: zoom-out;
}

.sf-reviews-video-modal__shell {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	width: min(960px, calc(100vw - 48px));
	max-height: calc(100vh - 48px);
	max-height: calc(100dvh - 48px);
	padding: 14px;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 16px;
	background: #101b29;
	box-shadow: 0 28px 80px rgba(0, 0, 0, 0.38);
}

.sf-reviews-video-modal__stage {
	display: grid;
	place-items: center;
	overflow: hidden;
	width: 100%;
	max-height: calc(100vh - 76px);
	max-height: calc(100dvh - 76px);
	border-radius: 10px;
	background: #101b29;
}

.sf-reviews-video-modal__media {
	display: block;
	width: auto !important;
	height: auto !important;
	max-width: 100% !important;
	max-height: calc(100vh - 76px) !important;
	max-height: calc(100dvh - 76px) !important;
	object-fit: contain !important;
	object-position: center center;
	background: #101b29;
}

.sf-reviews-video-modal__media:focus {
	outline: none;
}

body .sf-reviews-video-modal__close {
	-moz-appearance: none;
	     appearance: none;
	-webkit-appearance: none;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	min-width: 0;
	min-height: 0;
	margin: 0;
	padding: 0 !important;
	border: 1px solid #dbe5eb !important;
	border-radius: 999px;
	background: #fff !important;
	background-color: #fff !important;
	color: #304150 !important;
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.2) !important;
	cursor: pointer;
	transition: background-color 160ms ease, color 160ms ease, border-color 160ms ease;
}

body .sf-reviews-video-modal__close {
	position: absolute;
	top: 14px;
	right: 14px;
	z-index: 3;
}

.sf-reviews-video-modal__icon {
	display: block;
	width: 17px;
	height: 17px;
	flex: 0 0 17px;
	stroke-width: 2.2;
}

body .sf-reviews-video-modal__close:hover {
	border-color: #b9d9eb !important;
	background: #e9f5fb !important;
	background-color: #e9f5fb !important;
	color: var(--wp--preset--color--sf-action, #0073c4) !important;
}

.sf-reviews-video-modal__close:focus-visible {
	outline: 3px solid rgba(0, 136, 206, 0.4);
	outline-offset: 3px;
}

.sf-review-submission-form,
.sf-review-submission-form * {
	box-sizing: border-box;
}

.sf-review-submission-form {
	display: flex;
	flex-direction: column;
	gap: 20px;
	width: 100%;
	margin: 0;
	background: #fff;
	color: #304150;
	font-family: Montserrat, Arial, sans-serif;
}

.sf-review-submission-form__intro {
	padding-right: 56px;
}

.sf-review-submission-form__eyebrow,
.sf-review-submission-form__title,
.sf-review-submission-form__lead {
	margin: 0;
	padding: 0;
}

.sf-review-submission-form__eyebrow {
	margin-bottom: 10px;
	color: var(--wp--preset--color--sf-action, #0073c4);
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 0.12em;
	line-height: 1.15;
	text-transform: uppercase;
}

.sf-review-submission-form__title {
	max-width: 660px;
	color: #304150;
	font-size: 36px;
	font-weight: 900;
	line-height: 1.12;
}

.sf-review-submission-form__lead {
	max-width: 720px;
	margin-top: 16px;
	color: #6b7280;
	font-family: "Source Sans Pro", Arial, sans-serif;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.55;
}

.sf-review-submission-form__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.sf-review-submission-form__field {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0;
	color: #304150;
	font-size: 15px;
	font-weight: 800;
	line-height: 1.25;
}

.sf-review-submission-form__field small {
	color: #6b7280;
	font-family: "Source Sans Pro", Arial, sans-serif;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.35;
}

.sf-review-submission-form input[type="text"],
.sf-review-submission-form input[type="email"],
.sf-review-submission-form select,
.sf-review-submission-form textarea {
	width: 100%;
	min-height: 52px;
	border: 1px solid #dbe5eb;
	border-radius: 8px;
	background: #fff;
	box-shadow: none;
	color: #304150;
	font-family: "Source Sans Pro", Arial, sans-serif;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.35;
	outline: none;
	padding: 12px 14px;
	transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.sf-review-submission-form textarea {
	min-height: 150px;
	resize: vertical;
}

.sf-review-submission-form input:not([type="range"]):focus,
.sf-review-submission-form select:focus,
.sf-review-submission-form textarea:focus {
	border-color: var(--wp--preset--color--sf-action, #0073c4);
	box-shadow: 0 0 0 3px rgba(0, 136, 206, 0.14);
}

.sf-review-submission-form input:disabled,
.sf-review-submission-form select:disabled,
.sf-review-submission-form textarea:disabled {
	cursor: wait;
	opacity: 0.72;
}

.sf-review-submission-form__field-error {
	margin: 0;
	color: #b42318;
	font-family: "Source Sans Pro", Arial, sans-serif;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.35;
}

.sf-review-submission-form__rating,
.sf-review-submission-form__preview {
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	background: #f8fafc;
	padding: 22px;
}

.sf-review-submission-form__rating-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	color: #304150;
	font-size: 16px;
	font-weight: 900;
	line-height: 1.2;
}

.sf-review-submission-form__rating-head strong {
	font-size: 30px;
	font-weight: 900;
	line-height: 1;
}

.sf-review-submission-form__stars {
	position: relative;
	width: -webkit-max-content;
	width: max-content;
	margin-top: 18px;
	color: #d1d5db;
	font-size: 35px;
	font-weight: 900;
	letter-spacing: 2px;
	line-height: 1;
}

.sf-review-submission-form__stars-fill {
	position: absolute;
	top: 0;
	right: auto;
	bottom: 0;
	left: 0;
	width: 100%;
	overflow: hidden;
	color: #f59e0b;
	white-space: nowrap;
}

	.sf-review-submission-form input[type="range"] {
		--sf-review-rating-progress: 100%;
		-moz-appearance: none;
		     appearance: none;
		-webkit-appearance: none;
		width: 100%;
		height: 36px;
		margin-top: 18px;
		background: transparent;
		border: 0;
		cursor: pointer;
		outline: none;
		padding: 0;
		touch-action: pan-y;
		-webkit-tap-highlight-color: transparent;
	}

	.sf-review-submission-form input[type="range"]:focus,
	.sf-review-submission-form input[type="range"]:focus-visible,
	.sf-review-submission-form input[type="range"]:active {
		box-shadow: none;
		outline: none;
	}

.sf-review-submission-form input[type="range"]::-webkit-slider-runnable-track {
	width: 100%;
	height: 8px;
	border: 1px solid #dbe5eb;
	border-radius: 999px;
	background: linear-gradient(to right, #0088ce 0 var(--sf-review-rating-progress), #dbe5eb var(--sf-review-rating-progress) 100%);
}

.sf-review-submission-form input[type="range"]::-webkit-slider-thumb {
	appearance: none;
	-webkit-appearance: none;
	width: 22px;
	height: 22px;
	margin-top: -8px;
	border: 2px solid #fff;
	border-radius: 50%;
	background: #5f6c7a;
	box-shadow: 0 2px 7px rgba(48, 65, 80, 0.26);
}

.sf-review-submission-form input[type="range"]::-moz-range-track {
	width: 100%;
	height: 8px;
	border: 1px solid #dbe5eb;
	border-radius: 999px;
	background: #dbe5eb;
}

.sf-review-submission-form input[type="range"]::-moz-range-progress {
	height: 8px;
	border-radius: 999px;
	background: #0088ce;
}

.sf-review-submission-form input[type="range"]::-moz-range-thumb {
	width: 20px;
	height: 20px;
	border: 2px solid #fff;
	border-radius: 50%;
	background: #5f6c7a;
	box-shadow: 0 2px 7px rgba(48, 65, 80, 0.26);
}

.sf-review-submission-form__preview {
	display: flex;
	flex-direction: column;
	gap: 16px;
	background: #fff;
}

.sf-review-submission-form__preview-label {
	margin: 0;
	color: #6b7280;
	font-size: 14px;
	font-weight: 900;
	letter-spacing: 0.08em;
	line-height: 1.2;
	text-transform: uppercase;
}

.sf-review-submission-form__preview-card {
	display: grid;
	grid-template-columns: 52px minmax(0, 1fr);
	align-items: start;
	column-gap: 16px;
}

.sf-review-submission-form__preview-content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-width: 0;
	gap: 8px;
}

.sf-review-submission-form__preview-avatar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: #7d57c1;
	color: #fff;
	font-family: Roboto, Arial, sans-serif;
	font-size: 27px;
	font-weight: 500;
	line-height: 1;
}

.sf-review-submission-form__preview-name-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	min-width: 0;
}

.sf-review-submission-form__preview-name-row strong {
	color: #304150;
	font-size: 18px;
	font-weight: 900;
	line-height: 1.2;
}

.sf-review-submission-form__preview-rating,
.sf-review-submission-form__preview-model,
.sf-review-submission-form__preview-text {
	margin: 0;
	font-family: "Source Sans Pro", Arial, sans-serif;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.45;
}

.sf-review-submission-form__preview-rating {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #304150;
	font-family: Montserrat, Arial, sans-serif;
	font-weight: 900;
	line-height: 1;
}

.sf-review-submission-form__preview-rating > span:first-child {
	flex: 0 0 auto;
}

.sf-review-submission-form__preview-stars {
	position: relative;
	display: inline-block;
	width: -webkit-max-content;
	width: max-content;
	color: #d1d5db;
	font-size: 19px;
	font-weight: 900;
	letter-spacing: 1px;
	line-height: 1;
	white-space: nowrap;
}

.sf-review-submission-form__preview-stars-fill {
	position: absolute;
	top: 0;
	right: auto;
	bottom: 0;
	left: 0;
	width: 100%;
	overflow: hidden;
	color: #f59e0b;
	white-space: nowrap;
}

.sf-review-submission-form__preview-model {
	display: inline-flex;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	border-radius: 999px;
	background: #e8f5fc;
	color: #006da6;
	font-family: Montserrat, Arial, sans-serif;
	font-size: 13px;
	font-weight: 900;
	line-height: 1.2;
	padding: 6px 11px;
}

.sf-review-submission-form__preview-model[hidden] {
	display: none;
}

.sf-review-submission-form__preview-text {
	color: #5f6c7a;
	overflow-wrap: break-word;
}

.sf-review-submission-form__preview .sf-review-card__verified {
	margin-top: 3px;
	max-width: 100%;
}

.sf-review-submission-form__honeypot {
	position: absolute;
	left: -10000px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.sf-review-submission-form__notice {
	min-height: 22px;
	color: #5f6c7a;
	font-family: "Source Sans Pro", Arial, sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.35;
}

.sf-review-submission-form__notice.is-error {
	color: #b42318;
}

.sf-review-submission-form__notice.is-success {
	color: #0f766e;
}

body .sf-review-submission-form__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	min-height: 54px;
	border: 0;
	border-radius: 8px;
	background: #0088ce;
	color: #fff;
	cursor: pointer;
	font-family: Montserrat, Arial, sans-serif;
	font-size: 16px;
	font-weight: 900;
	line-height: 1.2;
	padding: 15px 24px;
	text-align: center;
	transition: background-color 0.18s ease, opacity 0.18s ease;
}

body .sf-review-submission-form__submit:focus {
	box-shadow: 0 0 0 3px rgba(0, 136, 206, 0.22);
	outline: none;
}

	body .sf-review-submission-form__submit:disabled {
		cursor: wait;
		opacity: 0.64;
	}

	body .elementor-popup-modal.sf-review-submission-dialog-modal {
		padding: 0;
	}

	body .elementor-popup-modal .sf-review-submission-dialog-message {
		background: #fff;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior: contain;
		scroll-padding-bottom: 96px;
	}

	@media (max-width: 1024px) {
		.sf-review-card {
			min-height: 348px;
	}

	.sf-reviews-homepage-carousel__track {
		gap: 20px;
	}

	.sf-reviews-homepage-carousel__slide {
		flex-basis: min(390px, calc((100% - 20px) / 2));
		max-width: 390px;
	}

	body .sf-review-video-card {
		min-height: 348px;
	}

	.sf-review-video-card__quote {
		font-size: 28px;
	}
	}

			@media (max-width: 767px) {
				body .elementor-popup-modal .sf-review-submission-dialog-content {
					height: auto !important;
					max-height: calc(100vh - 104px) !important;
					max-height: calc(100dvh - 104px) !important;
					margin-top: 28px !important;
					margin-top: max(28px, calc(env(safe-area-inset-top) + 12px)) !important;
					margin-bottom: 76px !important;
					margin-bottom: max(76px, calc(env(safe-area-inset-bottom) + 64px)) !important;
				}

				body .elementor-popup-modal .sf-review-submission-dialog-message {
					height: auto !important;
					max-height: calc(100vh - 104px) !important;
					max-height: calc(100dvh - 104px) !important;
					padding-bottom: 104px !important;
					padding-bottom: max(104px, calc(env(safe-area-inset-bottom) + 92px)) !important;
				}

				.sf-review-submission-form {
					gap: 18px;
					padding-bottom: 152px;
					padding-bottom: max(152px, calc(env(safe-area-inset-bottom) + 136px));
				}

	.sf-review-submission-form__intro {
		padding-right: 42px;
	}

	.sf-review-submission-form__title {
		font-size: 30px;
	}

	.sf-review-submission-form__lead {
		font-size: 16px;
	}

	.sf-review-submission-form__grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}

		.sf-review-submission-form__rating,
		.sf-review-submission-form__preview {
			padding: 18px;
		}

			.sf-review-submission-form__preview-card {
				grid-template-columns: 48px minmax(0, 1fr);
				column-gap: 14px;
			}

			.sf-review-submission-form__preview-content {
				gap: 9px;
			}

		.sf-review-submission-form__preview-avatar {
			width: 48px;
			height: 48px;
			font-size: 25px;
		}

		.sf-review-submission-form__preview-name-row strong {
			font-size: 18px;
		}

			.sf-review-submission-form__preview-rating {
				font-size: 15px;
			}

		.sf-review-submission-form__preview-stars {
			font-size: 17px;
			letter-spacing: 0.5px;
		}

		.sf-review-submission-form__preview-text {
			font-size: 15px;
			line-height: 1.5;
		}

		.sf-review-submission-form__stars {
			font-size: 31px;
	}

	body .sf-review-submission-form__submit {
		width: 100%;
	}

	.sf-reviews-homepage-carousel__controls {
		margin-bottom: 12px;
	}

	body .sf-reviews-homepage-carousel__nav {
		width: 40px;
		height: 40px;
		min-width: 40px;
		min-height: 40px;
	}

	.sf-reviews-homepage-carousel__track {
		gap: 16px;
		padding-bottom: 12px;
		scroll-padding-inline: 0;
	}

	.sf-reviews-homepage-carousel__slide {
		flex-basis: min(360px, calc(100vw - 48px));
		max-width: 360px;
	}

	.sf-reviews-homepage-carousel__slide .sf-review-card,
	.sf-reviews-homepage-carousel__slide .sf-review-video-card {
		height: 100%;
		min-height: 336px;
	}

	.elementor-20730 .elementor-element.elementor-element-sfrloop .elementor-loop-container.elementor-grid {
		grid-auto-rows: auto !important;
	}

	.elementor-widget-springfree_review_card,
	.elementor-widget-springfree_review_card .elementor-widget-container,
	.sf-review-card {
		height: auto;
		min-height: 0;
	}

	.elementor-20730 .elementor-element.elementor-element-sfrloop .elementor-loop-container > .e-loop-item {
		align-self: start;
	}

	.sf-review-card--text {
		padding: 20px;
	}

	.sf-review-card--endcap {
		margin-top: 16px;
		padding: 28px 24px;
	}

	.sf-review-endcap__eyebrow {
		font-size: var(--wp--preset--font-size--sf-small, .8125rem);
	}

	.sf-review-endcap__title {
		max-width: 100%;
		font-size: 28px;
	}

	.sf-review-endcap__text {
		max-width: 100%;
		font-size: 16px;
		line-height: 1.62;
	}

	.sf-review-card__header {
		grid-template-columns: 44px minmax(0, 1fr);
		column-gap: 14px;
	}

	.sf-review-card__avatar,
	.sf-review-card__avatar img,
	.sf-review-card__avatar svg {
		width: 44px;
		height: 44px;
	}

	.sf-review-card__text {
		font-size: 15px;
		line-height: 1.62;
	}

	body .sf-review-video-card {
		height: auto;
		min-height: 336px;
		padding: 20px;
	}

	.sf-review-video-card__model {
		top: 16px;
		right: 16px;
		max-width: calc(100% - 32px);
	}

	.sf-review-video-card__quote {
		font-size: 25px;
	}

	.sf-reviews-video-modal {
		padding: 12px;
	}

	.sf-reviews-video-modal__shell {
		width: calc(100vw - 24px);
		max-height: calc(100vh - 24px);
		max-height: calc(100dvh - 24px);
		padding: 10px;
		border-radius: 14px;
	}

	.sf-reviews-video-modal__stage,
	.sf-reviews-video-modal__media {
		max-height: calc(100vh - 48px) !important;
		max-height: calc(100dvh - 48px) !important;
	}

	body .sf-reviews-video-modal__close {
		width: 38px;
		height: 38px;
	}

	body .sf-reviews-video-modal__close {
		top: 10px;
		right: 10px;
	}

}

	@media (max-width: 360px) {
	.sf-review-submission-form__intro {
		padding-right: 34px;
	}

	.sf-review-submission-form__title {
		font-size: 27px;
	}

	.sf-review-submission-form input[type="text"],
	.sf-review-submission-form input[type="email"],
	.sf-review-submission-form select,
	.sf-review-submission-form textarea {
		font-size: 16px;
	}

		.sf-review-submission-form__preview-card {
				grid-template-columns: 46px minmax(0, 1fr);
				column-gap: 12px;
		}

	.sf-review-submission-form__preview-avatar {
		width: 46px;
		height: 46px;
		font-size: 24px;
	}

	.sf-review-submission-form__rating-head strong {
		font-size: 26px;
	}

	.sf-reviews-homepage-carousel__controls {
		flex-wrap: wrap;
	}

	.sf-reviews-homepage-carousel__all-link {
		flex: 1 1 100%;
		min-height: 40px;
		padding: 0 14px;
		font-size: 13px;
	}

	.sf-reviews-homepage-carousel__nav-group {
		width: 100%;
	}

	.sf-reviews-homepage-carousel__slide {
		flex-basis: calc(100vw - 32px);
	}

	.sf-review-card--text {
		padding: 18px;
	}

	.sf-review-card--endcap {
		padding: 24px 20px;
	}

	.sf-review-endcap__title {
		font-size: 25px;
	}

	.sf-review-endcap__button {
		width: 100%;
		min-height: 52px;
		padding-right: 18px;
		padding-left: 18px;
	}

	body .sf-review-video-card {
		padding: 18px;
	}

	.sf-review-card__verified,
	.sf-review-video-card__verified {
		gap: 5px;
		padding: 7px 9px;
		font-size: var(--wp--preset--font-size--sf-small, .8125rem);
	}

	.sf-review-video-card__quote {
		font-size: 23px;
	}
}

