.reviews-form-card,
.reviews-form-card * ,
.reviews-form-card *::before,
.reviews-form-card *::after {
	box-sizing: border-box;
}

.reviews-form-card {
	width: 100%;
	max-width: 610px;
	margin: 0 auto;
	padding: 0 0 40px;
	background: #f0f0f0;
	border: 10px solid #fff;
	border-radius: 60px;
	font-family: Rubik, Arial, sans-serif;
	color: #16122c;
	overflow: hidden;
}

.reviews-form-card__hero {
	display: flex;
	justify-content: center;
	padding: 20px 20px 0;
}

.reviews-form-card__hero-frame {
	position: relative;
	width: min(100%, 251px);
}

.reviews-form-card__hero-img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: contain;
}

.reviews-form-card__hero-label {
	position: absolute;
	left: 50%;
	top: 69.5%;
	transform: translateX(-50%);
	font-family: Rubik, Arial, sans-serif;
	font-weight: 500;
	font-size: 10px;
	line-height: 1;
	letter-spacing: 0.04em;
	color: #f94200;
	pointer-events: none;
	user-select: none;
}

.reviews-form-card__title {
	margin: 4px 0 8px;
	padding: 0 40px;
	font-weight: 500;
	font-size: 36px;
	line-height: 1.2;
	text-align: center;
}

.reviews-form-card__lead {
	margin: 0 0 22px;
	padding: 0 40px;
	font-family: Montserrat, Arial, sans-serif;
	font-weight: 500;
	font-size: 16px;
	line-height: 1.35;
	text-align: center;
}

.reviews-form-errors {
	margin: 0 40px 16px;
	padding: 12px 16px;
	border-radius: 15px;
	background: #fff8f7;
	border: 1px solid #fcd0cc;
	color: #e34234;
	font-size: 14px;
	line-height: 1.45;
}

.reviews-form-body {
	padding: 0 60px;
}

.reviews-form-field {
	margin-bottom: 20px;
}

.reviews-form-field__label {
	display: block;
	margin-bottom: 10px;
	font-family: Rubik, Arial, sans-serif;
	font-weight: 500;
	font-size: 18px;
	line-height: 1.2;
	color: #16122c;
}

.reviews-form-field__req {
	color: #e34234;
}

.reviews-form-field__error {
	margin-top: 8px;
	font-size: 12px;
	line-height: 1.35;
	color: #e34234;
}

.reviews-form-field.has-error .reviews-form-input,
.reviews-form-field.has-error .reviews-form-textarea,
.reviews-form-field.has-error .reviews-form-file {
	border-color: #e34234;
}

.reviews-form-field__native--hidden {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
	opacity: 0;
	pointer-events: none;
}

.reviews-form-field--rating {
	text-align: center;
}

.reviews-form-field--rating .reviews-form-field__label {
	margin-bottom: 10px;
}

.reviews-form-rating {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin: 0 auto;
}

.reviews-form-rating__star {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 45px;
	height: 45px;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	line-height: 0;
	-webkit-tap-highlight-color: transparent;
}

.reviews-form-rating__visual {
	position: relative;
	display: block;
	width: 45px;
	height: 45px;
}

.reviews-form-rating__icon {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	transition:
		opacity 0.42s cubic-bezier(0.4, 0, 0.2, 1),
		transform 0.48s cubic-bezier(0.34, 1.18, 0.64, 1),
		filter 0.42s ease;
	will-change: opacity, transform;
}

.reviews-form-rating__icon--muted {
	color: rgb(139, 139, 139);
	opacity: 0.55;
	transform: scale(1);
	filter: none;
}

.reviews-form-rating__icon--active {
	opacity: 0;
	transform: scale(0.62);
	filter: drop-shadow(0 0 0 rgba(189, 97, 0, 0));
	mix-blend-mode: normal;
}

.reviews-form-rating__star.is-active .reviews-form-rating__icon--muted,
.reviews-form-rating__star.is-hover .reviews-form-rating__icon--muted {
	opacity: 0;
	transform: scale(0.88);
}

.reviews-form-rating__star.is-active .reviews-form-rating__icon--active,
.reviews-form-rating__star.is-hover .reviews-form-rating__icon--active {
	opacity: 1;
	transform: scale(1);
	filter: drop-shadow(1px 1px 0 rgba(189, 97, 0, 0.55));
}

.reviews-form-rating__star:nth-child(1) .reviews-form-rating__icon--active { transition-delay: 0ms; }
.reviews-form-rating__star:nth-child(2) .reviews-form-rating__icon--active { transition-delay: 35ms; }
.reviews-form-rating__star:nth-child(3) .reviews-form-rating__icon--active { transition-delay: 70ms; }
.reviews-form-rating__star:nth-child(4) .reviews-form-rating__icon--active { transition-delay: 105ms; }
.reviews-form-rating__star:nth-child(5) .reviews-form-rating__icon--active { transition-delay: 140ms; }

.reviews-form-rating__star:nth-child(1) .reviews-form-rating__icon--muted { transition-delay: 0ms; }
.reviews-form-rating__star:nth-child(2) .reviews-form-rating__icon--muted { transition-delay: 35ms; }
.reviews-form-rating__star:nth-child(3) .reviews-form-rating__icon--muted { transition-delay: 70ms; }
.reviews-form-rating__star:nth-child(4) .reviews-form-rating__icon--muted { transition-delay: 105ms; }
.reviews-form-rating__star:nth-child(5) .reviews-form-rating__icon--muted { transition-delay: 140ms; }

.reviews-form-input,
.reviews-form-textarea {
	display: block;
	width: 100%;
	padding: 0 18px;
	border: 2px solid #d2ced4;
	border-radius: 15px;
	background: #fff;
	font-family: Montserrat, Arial, sans-serif;
	font-weight: 500;
	font-size: 18px;
	line-height: 1.35;
	color: #16122c;
	outline: none;
	transition: border-color .15s ease, box-shadow .15s ease;
}

.reviews-form-input {
	height: 48px;
}

.reviews-form-input::placeholder,
.reviews-form-textarea::placeholder {
	color: #b5b1b8;
}

.reviews-form-textarea {
	min-height: 103px;
	padding-top: 14px;
	padding-bottom: 14px;
	resize: vertical;
}

.reviews-form-text-counter {
	margin: 6px 2px 0;
	font-family: Montserrat, Arial, sans-serif;
	font-weight: 500;
	font-size: 12px;
	line-height: 1.35;
	color: #918f93;
	text-align: right;
}

.reviews-form-text-counter.is-complete {
	color: #6f9b5c;
}

.reviews-form-field--text.has-error .reviews-form-text-counter:not(.is-complete) {
	color: #e34234;
}

.reviews-form-input:focus,
.reviews-form-textarea:focus {
	border-color: #ff9a09;
	box-shadow: 0 0 0 2px rgba(255, 154, 9, 0.15);
}

.reviews-form-field--file {
	position: relative;
}

.reviews-form-file {
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
	min-height: 63px;
	padding: 12px 18px;
	border: 2px solid #d2ced4;
	border-radius: 15px;
	background: #fff;
	cursor: pointer;
}

.reviews-form-file__icon {
	flex: 0 0 auto;
	width: 34px;
	height: 34px;
	object-fit: contain;
}

.reviews-form-file__text {
	font-family: Montserrat, Arial, sans-serif;
	font-weight: 500;
	font-size: 18px;
	line-height: 1.35;
	color: #b5b1b8;
}

.reviews-form-file__name {
	font-family: Montserrat, Arial, sans-serif;
	font-weight: 500;
	font-size: 14px;
	line-height: 1.35;
	color: #16122c;
	word-break: break-word;
}

.reviews-form-file__input {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}

.reviews-form-field--file.has-file .reviews-form-file__text {
	display: none;
}

.reviews-form-field--file.has-file .reviews-form-file__name {
	display: block !important;
}

.reviews-form-card .main-user-consent-request {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 8px 0 20px;
	cursor: pointer;
	font-family: Montserrat, Arial, sans-serif;
	font-weight: 500;
	font-size: 12px;
	line-height: 1.4;
	color: #918f93;
}

.reviews-form-card .main-user-consent-request input[type="checkbox"] {
	appearance: none;
	-webkit-appearance: none;
	flex: 0 0 21px;
	width: 21px;
	height: 21px;
	margin: 0;
	padding: 0;
	border: 2px solid #ff9a09;
	border-radius: 50%;
	background: transparent;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 11px 8px;
	cursor: pointer;
	position: relative;
	box-sizing: border-box;
	transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}

.reviews-form-card .main-user-consent-request input[type="checkbox"]:checked {
	border-color: #ff9a09;
	background-color: #ff9a09;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'%3E%3Cpath fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M1.5 5.2 4.4 8.1 10.5 2'/%3E%3C/svg%3E");
	animation: reviews-form-consent-pop .32s cubic-bezier(.34, 1.45, .64, 1);
}

.reviews-form-card .main-user-consent-request input[type="checkbox"]:focus-visible {
	outline: none;
	box-shadow: 0 0 0 3px rgba(255, 154, 9, 0.25);
}

.reviews-form-card .main-user-consent-request-announce {
	flex: 1 1 auto;
	min-width: 0;
	color: #918f93;
	font-family: Montserrat, Arial, sans-serif;
	font-weight: 500;
	font-size: 12px;
	line-height: 1.4;
}

.reviews-form-card .main-user-consent-request-announce a,
.reviews-form-card .main-user-consent-request-announce-link {
	color: #ff9a09;
	text-decoration: none;
	cursor: pointer;
}

.reviews-form-card .main-user-consent-request-announce a:hover,
.reviews-form-card .main-user-consent-request-announce a:focus-visible,
.reviews-form-card .main-user-consent-request-announce-link:hover,
.reviews-form-card .main-user-consent-request-announce-link:focus-visible {
	text-decoration: underline;
}

.reviews-form-card .main-user-consent-request-announce-required {
	color: #e34234;
}

.reviews-form-card .main-user-consent-request.has-error input[type="checkbox"] {
	border-color: #e34234;
	box-shadow: 0 0 0 2px rgba(227, 66, 52, 0.18);
}

.reviews-form-card .main-user-consent-request.has-error .main-user-consent-request-announce {
	color: #e34234;
}

.reviews-form-card .consent-field-error {
	display: none;
	margin-top: -12px;
	margin-bottom: 20px;
	font-family: Montserrat, Arial, sans-serif;
	font-size: 12px;
	line-height: 1.35;
	color: #e34234;
}

.reviews-form-card .main-user-consent-request.has-error + .consent-field-error {
	display: block;
}

@keyframes reviews-form-consent-pop {
	0% {
		box-shadow: 0 0 0 0 rgba(255, 154, 9, 0.35);
		background-size: 0 0;
	}

	55% {
		box-shadow: 0 0 0 4px rgba(255, 154, 9, 0.18);
		background-size: 13px 10px;
	}

	100% {
		box-shadow: 0 0 0 0 rgba(255, 154, 9, 0);
		background-size: 11px 8px;
	}
}

.reviews-form-footer {
	display: flex;
	justify-content: center;
	padding: 0 60px;
}

.reviews-form-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 241px;
	height: 42px;
	padding: 0 30px;
	border: 3px solid #ffe9a2;
	border-radius: 25px;
	background: #fe8b39;
	box-shadow: 0 2px 2px rgba(0, 0, 0, 0.25);
	font-family: Rubik, Arial, sans-serif;
	font-weight: 600;
	font-size: 18px;
	line-height: 1;
	color: #fff;
	cursor: pointer;
	transition: background .2s ease;
}

.reviews-form-submit:hover,
.reviews-form-submit:focus-visible {
	background: #ff9b52;
}

.reviews-form-submit:disabled {
	opacity: 0.7;
	cursor: default;
}

.reviews-form-success {
	padding: 48px 40px 40px;
	text-align: center;
}

.reviews-form-success__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	margin: 0 auto 20px;
	border-radius: 50%;
	background: #fff5e8;
}

.reviews-form-success__icon svg {
	width: 32px;
	height: 32px;
	fill: none;
	stroke: #fe8b39;
	stroke-width: 2.5;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.reviews-form-success__title {
	margin: 0 0 12px;
	font-size: 28px;
	line-height: 1.2;
	font-weight: 500;
}

.reviews-form-success__text {
	margin: 0 0 24px;
	font-family: Montserrat, Arial, sans-serif;
	font-size: 16px;
	line-height: 1.45;
	color: #625e67;
}

.testing_humanity_wrap,
.testing_humanity {
	position: absolute !important;
	left: -9999px !important;
	top: auto !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

#reviews_form.form_hidden {
	display: none;
}

/* Fancybox 3 добавляет .fancybox-content на сам #reviews_form — сбрасываем дефолт 80%×100% */
#reviews_form.fancybox-content,
.fancybox-container #reviews_form.fancybox-content {
	display: inline-block !important;
	width: auto !important;
	height: auto !important;
	max-width: min(100%, 630px) !important;
	margin: 0 auto !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	overflow: visible !important;
	vertical-align: middle;
	line-height: normal;
	text-align: left;
	white-space: normal;
}

.fancybox-container #reviews_form,
.fancybox-content#reviews_form {
	display: inline-block !important;
}

.fancybox-slide--inline .fancybox-content:has(#reviews_form),
.fancybox-slide--inline .fancybox-content:has(.reviews-form-card) {
	padding: 0;
	background: transparent;
	overflow: visible;
}

.fancybox-container .fancybox-slide--inline:has(#reviews_form) {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px 16px;
	box-sizing: border-box;
	text-align: center;
}

.fancybox-container .fancybox-slide--inline:has(#reviews_form)::before {
	display: none;
}

@media (max-width: 767.98px) {
	.reviews-form-card {
		max-width: none;
		border-width: 6px;
		border-radius: 30px;
		padding-bottom: 28px;
	}

	.reviews-form-card__title {
		padding: 0 24px;
		font-size: clamp(24px, calc(24px + ((100vw - 320px) * 12 / 671)), 36px);
	}

	.reviews-form-card__lead,
	.reviews-form-errors {
		padding-left: 24px;
		padding-right: 24px;
	}

	.reviews-form-body,
	.reviews-form-footer {
		padding-left: 24px;
		padding-right: 24px;
	}

	.reviews-form-rating__star,
	.reviews-form-rating__visual,
	.reviews-form-rating__icon {
		width: 36px;
		height: 36px;
	}

	.reviews-form-input,
	.reviews-form-textarea,
	.reviews-form-file__text {
		font-size: 16px;
	}

	.reviews-form-submit {
		width: 100%;
		min-width: 0;
		font-size: 16px;
	}
}
