

/* Start:/local/templates/aspro-premier/css/pages/otzyvy-reviews.css?17855182326880*/
/* /otzyvy/ — hero и title block по макету A101 innovation */

.otzyvy-page {
	--otzyvy-base-50: #f4f4f6;
	--otzyvy-body-color: #1b1d24;
	--otzyvy-base-600: #43495a;
	color: var(--otzyvy-body-color);
	box-sizing: border-box;
}

.otzyvy-page > .maxwidth-theme {
	width: 100%;
}

.otzyvy-page__section {
	box-sizing: border-box;
	width: 100%;
}

.otzyvy-page__hero {
	margin-bottom: clamp(32px, 4vw, 64px);
}

/* ---------- Page hero (A101 PageHeroSection) ---------- */
.otzyvy-page .page-hero-section {
	--shadow-default: transparent;
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	overflow: hidden;
	box-sizing: border-box;
	min-height: clamp(420px, 42vw, 580px);
	height: clamp(420px, 42vw, 580px);
	background-color: var(--otzyvy-base-50);
	color: #fff;
}

.otzyvy-page .page-hero-section--overlay .page-hero-section__image::after {
	content: "";
	position: absolute;
	inset: 0;
	background-color: #282829;
	opacity: 0.15;
	pointer-events: none;
	z-index: 1;
}

.otzyvy-page .page-hero-section--large {
	border-radius: clamp(20px, 4vw, 64px);
	padding: clamp(32px, 4vw, 64px);
}

.otzyvy-page .page-hero-section__image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
}

.otzyvy-page .page-hero-section__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.otzyvy-page .page-hero-section__image--adaptive {
	display: none;
}

.otzyvy-page .page-hero-section__wrapper {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 100%;
	min-height: 0;
}

/* Перебиваем глобальные h2 (base-tags: color + margin) */
.otzyvy-page .page-hero-section__title {
	margin: 0;
	font-size: clamp(30px, 5.2vw, 72px);
	font-weight: 500;
	line-height: 0.9;
	letter-spacing: -0.035em;
	max-width: min(900px, 100%);
	color: #fff;
}

.otzyvy-page .page-hero-section__title--adaptive {
	display: none;
}

.otzyvy-page .page-hero-section__text {
	margin: 0;
	max-width: min(478px, 100%);
	font-size: clamp(14px, 1.1vw, 16px);
	font-weight: 400;
	line-height: 1.28;
	letter-spacing: -0.002em;
	color: #fff;
}

.otzyvy-page .page-hero-section__text--adaptive {
	display: none;
}

.otzyvy-page .page-hero-section__bottom {
	display: flex;
	flex-direction: column;
	gap: clamp(20px, 2vw, 28px);
}

/* ---------- Title block (A101 TitleBlockSection) ---------- */
.otzyvy-page__title-block {
	padding-top: clamp(8px, 1.5vw, 16px);
	padding-bottom: clamp(32px, 4vw, 48px);
}

.otzyvy-page .title-block-section {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.otzyvy-page .title-block-section__heading {
	margin: 0;
	font-size: clamp(28px, 3.8vw, 52px);
	font-weight: 500;
	line-height: 1;
	letter-spacing: -0.027em;
	color: var(--otzyvy-body-color);
}

.otzyvy-page .title-block-section__heading svg {
	display: inline-block;
	vertical-align: middle;
	width: clamp(22px, 2.4vw, 38px);
	height: clamp(22px, 2.4vw, 38px);
	margin: 0 4px;
}

.otzyvy-page .title-block-section__subtitle {
	margin: clamp(20px, 3vw, 40px) 0 0;
	max-width: min(710px, 100%);
	font-size: clamp(14px, 1.1vw, 16px);
	font-weight: 400;
	line-height: 1.28;
	letter-spacing: -0.002em;
	color: var(--otzyvy-base-600);
}

/* ---------- Smart widgets ---------- */
.otzyvy-page__widgets {
	padding-bottom: clamp(32px, 4vw, 48px);
}

.otzyvy-page__widgets .sw-app {
	min-height: 120px;
	max-width: 100%;
	overflow-x: auto;
}

/* ---------- FAQ section ---------- */
.otzyvy-page__faq {
	padding-bottom: clamp(48px, 6vw, 80px);
}

.otzyvy-page__faq .index-faq-figma__answer a {
	color: var(--theme-base-color);
	text-decoration: underline;
}

.otzyvy-page__faq .index-faq-figma__answer ol {
	margin: 16px 0;
	padding-left: 1.25em;
}

.otzyvy-page__faq .index-faq-figma__answer li + li {
	margin-top: 12px;
}

/* Fallback: скрывать ответы до инициализации bootstrap collapse (критично для aspro-premier-mobile) */
.otzyvy-page__faq .index-faq-figma__row > .panel-collapse.collapse:not(.in):not(.show) {
	display: none;
}

/* ---------- Desktop wide (1280+) ---------- */
@media (min-width: 1280px) {
	.otzyvy-page .page-hero-section__title:not(.page-hero-section__title--adaptive),
	.otzyvy-page .page-hero-section__text:not(.page-hero-section__text--adaptive) {
		color: #fff;
	}
}

/* ---------- Tablet / mobile hero (A101 adaptive, <1280) ---------- */
@media (max-width: 1279px) {
	.otzyvy-page .page-hero-section--large {
		border-radius: 0;
		padding: 0;
		height: auto;
		min-height: 0;
		gap: 8px;
		background-color: transparent;
		color: var(--otzyvy-body-color);
	}

	.otzyvy-page .page-hero-section--has-image-mobile .page-hero-section__image:not(.page-hero-section__image--adaptive) {
		display: none;
	}

	.otzyvy-page .page-hero-section__image--adaptive {
		display: block;
		position: relative;
		order: -1;
		height: clamp(200px, 42vw, 400px);
		border-radius: clamp(20px, 3vw, 32px);
		overflow: hidden;
	}

	.otzyvy-page .page-hero-section--has-title-mobile .page-hero-section__title {
		display: block;
		font-size: clamp(28px, 4.5vw, 42px);
		letter-spacing: -0.021em;
		line-height: 1;
		color: var(--otzyvy-body-color);
		margin-bottom: clamp(20px, 3vw, 28px);
		max-width: none;
	}

	.otzyvy-page .page-hero-section__title--adaptive {
		display: none;
	}

	.otzyvy-page .page-hero-section--has-text-mobile .page-hero-section__text:not(.page-hero-section__text--adaptive) {
		display: none;
	}

	.otzyvy-page .page-hero-section__text--adaptive {
		display: block;
		color: var(--otzyvy-base-600);
		font-size: 14px;
		letter-spacing: -0.002em;
		max-width: min(466px, 100%);
	}

	.otzyvy-page .page-hero-section__wrapper {
		align-items: center;
		text-align: center;
		height: auto;
		background: var(--otzyvy-base-50);
		border-radius: clamp(20px, 3vw, 32px);
		padding: clamp(32px, 5vw, 40px) clamp(20px, 4vw, 48px);
	}
}

@media (max-width: 767px) {
	.otzyvy-page .page-hero-section {
		gap: 4px;
	}

	.otzyvy-page .page-hero-section__image--adaptive {
		height: clamp(180px, 52vw, 220px);
		border-radius: 20px;
	}

	.otzyvy-page .page-hero-section__wrapper {
		border-radius: 20px;
		padding: 32px 20px;
	}

	.otzyvy-page .page-hero-section--has-title-mobile .page-hero-section__title {
		font-size: clamp(24px, 7vw, 30px);
		letter-spacing: -0.012em;
		margin-bottom: 20px;
	}

	.otzyvy-page .page-hero-section__text--adaptive {
		max-width: 100%;
	}

	.otzyvy-page .page-hero-section__bottom {
		gap: 24px;
		justify-content: center;
		width: 100%;
	}

	.otzyvy-page .title-block-section__subtitle {
		max-width: 100%;
	}
}

@media (max-width: 374px) {
	.otzyvy-page .page-hero-section--has-title-mobile .page-hero-section__title {
		font-size: 22px;
	}

	.otzyvy-page .title-block-section__heading {
		font-size: 24px;
	}
}

/* End */


/* Start:/local/templates/aspro-premier/css/pages/sluzhba-zaboty.css?17835831876586*/
/* /sluzhba_zaboty/ — полноширинная форма под hero/title */

.sluzhba-zaboty-page__form-section {
	margin-top: clamp(24px, 3vw, 48px);
	margin-bottom: clamp(48px, 6vw, 96px);
}

.sluzhba-zaboty-form-block {
	width: 100%;
	background: #f4f4f6;
	border-radius: clamp(20px, 3vw, 32px);
	padding: clamp(24px, 3.5vw, 40px);
}

.sluzhba-zaboty-form__success {
	margin-bottom: 16px;
	padding: 14px 16px;
	border-radius: 12px;
	background: rgba(46, 160, 67, 0.12);
	color: #1f7a33;
	font-size: 15px;
	font-weight: 600;
}

.sluzhba-zaboty-form {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.sluzhba-zaboty-form__row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}

.sluzhba-zaboty-form__row--4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.sluzhba-zaboty-form__row--complex {
	grid-template-columns: minmax(0, 2.2fr) minmax(0, 1fr);
}

.sluzhba-zaboty-form__field {
	display: block;
	width: 100%;
	margin: 0;
}

.sluzhba-zaboty-form__input,
.sluzhba-zaboty-form__select,
.sluzhba-zaboty-form__textarea {
	width: 100%;
	box-sizing: border-box;
	border: 1px solid rgba(27, 29, 36, 0.12);
	border-radius: 12px;
	background: #fff;
	color: #1b1d24;
	font-size: 15px;
	line-height: 1.4;
	padding: 14px 16px;
	outline: none;
	appearance: none;
	-webkit-appearance: none;
}

.sluzhba-zaboty-form__input:focus,
.sluzhba-zaboty-form__select:focus,
.sluzhba-zaboty-form__textarea:focus {
	border-color: rgba(27, 29, 36, 0.35);
}

.sluzhba-zaboty-form__textarea {
	min-height: 140px;
	resize: vertical;
}

.sluzhba-zaboty-form__select {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%231b1d24' d='M1.4.6 6 5.2 10.6.6 12 2 6 8 0 2z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 16px center;
	padding-right: 40px;
}

.sluzhba-zaboty-form__actions {
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding-top: 4px;
}

.sluzhba-zaboty-form__repeat {
	display: flex;
	align-items: center;
	gap: 16px;
	width: fit-content;
}

.sluzhba-zaboty-form__repeat-label {
	font-size: 15px;
	color: #757575;
}

.sluzhba-zaboty-form__switch {
	position: relative;
	display: inline-flex;
	width: 48px;
	height: 28px;
	margin: 0;
	cursor: pointer;
}

.sluzhba-zaboty-form__switch input {
	position: absolute;
	opacity: 0;
	inset: 0;
	margin: 0;
	cursor: pointer;
}

.sluzhba-zaboty-form__switch-ui {
	position: absolute;
	inset: 0;
	border-radius: 999px;
	background: #d0d3db;
	transition: background 0.2s ease;
}

.sluzhba-zaboty-form__switch-ui::after {
	content: "";
	position: absolute;
	top: 3px;
	left: 3px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
	transition: transform 0.2s ease;
}

.sluzhba-zaboty-form__switch input:checked + .sluzhba-zaboty-form__switch-ui {
	background: var(--theme-base-color, #e87722);
}

.sluzhba-zaboty-form__switch input:checked + .sluzhba-zaboty-form__switch-ui::after {
	transform: translateX(20px);
}

.sluzhba-zaboty-form__repeat-fields[hidden] {
	display: none !important;
}

.sluzhba-zaboty-form__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
	padding-top: 4px;
	border-top: 1px solid rgba(27, 29, 36, 0.08);
}

.sluzhba-zaboty-form__files {
	position: relative;
	flex: 1 1 auto;
	min-width: 0;
	width: auto;
}

/* Если Uniform успел обернуть input — не даём .uploader раздувать блок */
.sluzhba-zaboty-form__files .uploader {
	all: unset;
	display: contents;
}

.sluzhba-zaboty-form__files .uploader .filename,
.sluzhba-zaboty-form__files .uploader .action,
.sluzhba-zaboty-form__files .uploader .resetfile {
	display: none !important;
}

.sluzhba-zaboty-form__file-input {
	position: absolute;
	left: 0;
	top: 0;
	width: 0.1px;
	height: 0.1px;
	margin: 0;
	padding: 0;
	opacity: 0;
	overflow: hidden;
	z-index: -1;
	pointer-events: none;
}

.sluzhba-zaboty-form__file-label {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin: 0;
	cursor: pointer;
}

.sluzhba-zaboty-form__file-btn,
.sluzhba-zaboty-form__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 0 28px;
	border: 0;
	border-radius: 999px;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease, opacity 0.2s ease, border-color 0.2s ease;
}

.sluzhba-zaboty-form__file-btn {
	background: #fff;
	color: #1b1d24;
	border: 1px solid rgba(27, 29, 36, 0.16);
	width: fit-content;
}

.sluzhba-zaboty-form__file-btn:hover {
	border-color: rgba(27, 29, 36, 0.35);
}

.sluzhba-zaboty-form__submit {
	background: var(--theme-base-color, #e87722);
	color: #fff;
	min-width: 200px;
	flex: 0 0 auto;
}

.sluzhba-zaboty-form__submit:hover {
	opacity: 0.92;
}

.sluzhba-zaboty-form__submit:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

.sluzhba-zaboty-form__file-names {
	font-size: 13px;
	line-height: 1.4;
	color: #43495a;
	word-break: break-word;
}

.sluzhba-zaboty-form__file-names:empty {
	display: none;
}

.sluzhba-zaboty-form__file-hint {
	margin: 8px 0 0;
	font-size: 13px;
	line-height: 1.4;
	color: #757575;
}

.sluzhba-zaboty-form__agreement {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 4px 0 0;
	font-size: 13px;
	line-height: 1.45;
	color: #43495a;
	cursor: pointer;
}

.sluzhba-zaboty-form__agreement input {
	margin-top: 2px;
	flex: 0 0 auto;
}

.sluzhba-zaboty-form__agreement a {
	color: inherit;
	text-decoration: underline;
}

.sluzhba-zaboty-form__error {
	padding: 12px 14px;
	border-radius: 12px;
	background: rgba(220, 53, 69, 0.1);
	color: #b42318;
	font-size: 14px;
}

.sluzhba-zaboty-form__error[hidden],
.sluzhba-zaboty-form__success[hidden] {
	display: none !important;
}

@media (max-width: 1100px) {
	.sluzhba-zaboty-form__row--4 {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 640px) {
	.sluzhba-zaboty-form__row,
	.sluzhba-zaboty-form__row--4,
	.sluzhba-zaboty-form__row--complex {
		grid-template-columns: 1fr;
	}

	.sluzhba-zaboty-form__footer {
		flex-direction: column;
		align-items: stretch;
		gap: 12px;
	}

	.sluzhba-zaboty-form__files {
		flex: 0 0 auto;
		width: 100%;
	}

	.sluzhba-zaboty-form__file-label {
		gap: 8px;
	}

	.sluzhba-zaboty-form__file-hint {
		margin-top: 6px;
	}

	.sluzhba-zaboty-form__submit,
	.sluzhba-zaboty-form__file-btn {
		width: 100%;
	}

	.sluzhba-zaboty-form__repeat {
		width: 100%;
		justify-content: space-between;
	}
}

/* End */
/* /local/templates/aspro-premier/css/pages/otzyvy-reviews.css?17855182326880 */
/* /local/templates/aspro-premier/css/pages/sluzhba-zaboty.css?17835831876586 */
