/* Aspro theme fonts + mobile fixes for homepage, header, footer, menu */

body,
#main,
#main .header,
#main .footer,
#main .btn,
#main input,
#main textarea,
#main select,
#main button,
#main .mobilemenu,
#main .mobileheader {
	font-family: var(--theme-font-family), Arial, sans-serif !important;
}

/* Перебиваем глобальное правило custom.css p { color: #2b2b2b } в тёмных блоках */
.footer.footer--rspak p,
.rspak-consult-section p {
	color: inherit !important;
}

.footer.footer--rspak .rspak-footer-col__contacts p {
	color: rgba(255, 255, 255, 0.8) !important;
}

/* Главная: размеры как у Aspro font_* вместо жёстких px из custom.css */
.ban-bg,
.ban-bg2 {
	font-size: clamp(1rem + 16px, 3vw, 1rem + 32px) !important;
	line-height: calc(1em + 8px) !important;
	font-weight: 600 !important;
}

p.ban-p {
	font-size: clamp(1rem, 2vw, 1rem + 2px) !important;
	line-height: calc(1em + 8px) !important;
}

.banner-anim-header {
	font-size: clamp(1rem + 10px, 3vw, 1rem + 20px) !important;
	line-height: calc(1em + 8px) !important;
	font-weight: 600 !important;
	min-width: 0 !important;
}

.index-block__title-wrapper .index-block__title,
h2.index-block__title {
	font-size: clamp(1rem + 8px, 2vw, 1rem + 12px) !important;
	line-height: calc(1em + 8px) !important;
	font-weight: 600 !important;
}

.com_bg_header {
	font-size: clamp(1rem + 4px, 2vw, 1rem + 8px) !important;
	line-height: calc(1em + 8px) !important;
}

/* Убираем фон с оборудованием у блока перед формой */
.index-block.index-block--padding-top-80.index-block--padding-bottom-80.index-block--fon,
.index-block--fon {
	background-image: none !important;
	background-color: transparent !important;
	height: auto !important;
	min-height: 0 !important;
	margin-bottom: 0 !important;
}

/* Мобильное меню: меньше отступы между пунктами */
#mobilemenu .line-block.line-block--gap.line-block--gap-12 {
	margin: 0 !important;
	gap: 4px !important;
}

#mobilemenu .mobilemenu__menu-item > .link-wrapper a:not(.flexbox, .icon-block__content) {
	padding-block: 8px !important;
	font-size: 1rem !important;
	line-height: 1.35 !important;
}

#mobilemenu .mobilemenu__menu-item > .link-wrapper button:not(.btn, .no-gutters) {
	padding-block: 8px !important;
}

#mobilemenu .mobilemenu__inner {
	padding-top: 16px;
	padding-bottom: 16px;
}

@media (max-width: 991px) {
	.banner-anim-text {
		padding: 24px 0 !important;
		max-width: 100% !important;
	}

	.ban-bg,
	.ban-bg2 {
		width: 100% !important;
	}

	.banner-anim-bg {
		padding: 48px 0 !important;
	}

	p.ban-p {
		margin-bottom: 28px !important;
		min-height: 0 !important;
	}

	.index-block.index-block--padding-top-80 {
		padding-top: 48px !important;
	}

	.index-block .index-block__title-wrapper {
		margin-top: 20px !important;
		margin-bottom: 16px !important;
	}

	.com_header_block {
		margin-top: 24px !important;
	}

	.grid-list__item {
		min-width: 0 !important;
	}
}

@media (max-width: 767px) {
	.rspak-consult-section .rspak-consult-title.font_48 {
		font-size: clamp(1.125rem, 5vw, 1.625rem) !important;
		line-height: 1.2 !important;
	}

	.rspak-consult-section .font_28 {
		font-size: clamp(1rem + 4px, 4vw, 1rem + 8px) !important;
		line-height: calc(1em + 6px) !important;
	}

	.rspak-contact-panel__title.font_28 {
		font-size: clamp(1.0625rem, 4.2vw, 1.3125rem) !important;
		line-height: 1.25 !important;
	}

	.rspak-contact-panel__value.font_28 {
		font-size: clamp(0.9375rem, 3.4vw, 1.0625rem) !important;
		line-height: 1.3 !important;
		word-break: break-word;
		overflow-wrap: anywhere;
	}

	.rspak-contact-panel__hint.font_18,
	.rspak-contact-panel__messengers-text.font_18 {
		font-size: clamp(0.8125rem, 3vw, 0.9375rem) !important;
		line-height: 1.35 !important;
	}

	.rspak-contact-panel__item > div:not(.rspak-contact-panel__icon) {
		min-width: 0;
		flex: 1;
	}

	.rspak-consult-inner {
		padding-left: 16px;
		padding-right: 16px;
	}

	.rspak-contact-panel__icon {
		flex: 0 0 64px;
		width: 64px;
		height: 64px;
	}

	.rspak-contact-panel__item {
		gap: 14px;
		margin-bottom: 28px;
	}

	.rspak-footer-cols {
		grid-template-columns: 1fr !important;
		gap: 20px !important;
	}

	.rspak-footer-col__list a {
		line-height: 28px;
	}

	.footer.footer--rspak .maxwidth-theme {
		padding-left: 16px;
		padding-right: 16px;
	}

	.banner-anim-header {
		font-size: clamp(1.125rem, 4.5vw, 1.5rem) !important;
		line-height: 1.25 !important;
	}

	.ban-bg,
	.ban-bg2 {
		font-size: clamp(1.125rem, 4.5vw, 1.5rem) !important;
		line-height: 1.25 !important;
	}

	img.banner-anim-img.ls-is-cached.lazyloaded {
		position: relative !important;
		transform: none !important;
		right: auto !important;
		top: auto !important;
		max-width: 100%;
	}
}

@media (max-width: 430px) {
	.rspak-form-area .form-body {
		gap: 12px !important;
	}

	.rspak-footer-legal {
		flex-direction: column;
		gap: 12px !important;
	}
}
