/* Keep the shared company/service layouts within the mobile viewport. */
@media (max-width: 900px) {
	/* Clip horizontal decoration without creating a scrolling parent for sticky. */
	body:not(.ac-mobile-menu-open) {
		overflow-x: clip;
	}

	body > .arbosite-header {
		position: -webkit-sticky;
		position: sticky;
		top: 0;
	}

	body.home .arbosite-header .header-content {
		padding: 15px 0 !important;
	}

	/* Keep the menu's close button reachable after the discount bar scrolls away. */
	body.ac-mobile-menu-open .ac-topbar {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		z-index: 1101;
	}

	body.ac-mobile-menu-open > .arbosite-header {
		position: fixed;
		top: 40px;
		left: 0;
		right: 0;
	}

	body.ac-mobile-menu-open > #header-spacer {
		height: var(--ac-mobile-menu-placeholder-height, 0px) !important;
	}
}

/* Reserve the home header row before its logo and web font finish loading. */
@media (max-width: 699.98px) {
	body.home .arbosite-header .header-content {
		box-sizing: border-box;
		min-height: 86px;
		padding: 13px 0 !important;
	}
}

@media (max-width: 380px) {
	body.home .arbosite-header .header-content {
		min-height: 78px;
		padding: 9px 0 !important;
	}
}

@media (max-width: 539.98px) {
	body.home .hero-text h1 {
		font-size: clamp(24px, 7.7vw, 30px) !important;
	}

	body.home .hero #fluentform_12 .ff-t-container.ff-column-container {
		row-gap: 5px !important;
	}

	body.home .stats .stat-item__mobile-line {
		display: block;
	}
}

@media (max-width: 860px) {
	body.single-post.has-sidebar > .wrap {
		display: block;
	}

	body.single-post.has-sidebar > .wrap > .site-main,
	body.single-post .the-post {
		width: 100%;
		max-width: 100%;
		min-width: 0;
		flex: none;
	}

	body.single-post.has-sidebar > .wrap > .aside-sidebar {
		width: auto;
		max-width: none;
		margin: 32px 20px;
		padding: 0;
	}

	body .arbosite-page .arbosite-page__topband::before {
		left: 0;
		right: 0;
		width: 100%;
		margin-left: 0;
		transform: none;
	}

	body .arbosite-page .arbosite-page__intro {
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 16px !important;
	}

	body .arbosite-page .arbosite-page__title,
	body .arbosite-page .arbosite-page__lead {
		grid-column: auto !important;
		min-width: 0;
		max-width: 100%;
	}

	body .ac-consult .ac-consult__inner {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	body .ac-team-feature {
		grid-template-columns: minmax(0, 1fr);
	}

	.ac-team-feature__content,
	.ac-team-feature__media {
		min-width: 0;
	}

	body .ac-team-feature__media img {
		width: 100%;
		max-width: 360px;
		transform: none;
	}

	body .arbosite-page .about-us-top.ac-method {
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 24px !important;
	}

	body .arbosite-page .arbosite-page__content .about-us-top.ac-method > .about-us-intro,
	body .arbosite-page .arbosite-page__content .about-us-top.ac-method > .about-us-media {
		grid-column: auto !important;
		grid-row: auto !important;
		min-width: 0;
	}

	.ac-method .about-us-intro {
		order: 1;
		min-width: 0;
		width: 100%;
	}

	body .ac-method .about-us-media {
		order: 2;
		width: 100% !important;
		max-width: 320px !important;
		height: auto !important;
		margin-inline: auto;
		justify-content: center;
	}

	body .ac-method .about-us-media__rect {
		width: 100% !important;
		max-width: 100%;
		height: auto !important;
		aspect-ratio: 1;
		transform: none !important;
	}

	.ac-method .about-us-media__rect img {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.arbosite-page .table-wrap,
	.entry-content .table-wrap {
		width: 100%;
		max-width: 100%;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.arbosite-page__content .our-blog--works::before,
	.arbosite-page__content section.cena-spila::before,
	.arbosite-page__content section.kak-zakazat::before,
	.arbosite-page__content section.vopros-otvet::before {
		width: 100vw !important;
	}

	.ac-consult__left,
	.ac-consult__right,
	.ac-consult__card,
	.ac-consult__card .fluentform,
	.ac-consult__card .ff-t-cell,
	.ac-consult__card .ff-el-group {
		min-width: 0;
		max-width: 100%;
	}
}

@media (max-width: 600px) {
	body.single-post .ac-single-post-title {
		font-size: 32px !important;
		line-height: 1.12 !important;
		overflow-wrap: break-word;
	}

	body .ac-home-calc .ac-home-calc__copy {
		padding-inline: 32px;
	}

	body .arbocalc--copy .arbocalc__servicePrev {
		left: -32px;
	}

	body .arbocalc--copy .arbocalc__serviceNext {
		right: -32px;
	}

	body .arbocalc__resultForm #fluentform_11 .arbocalc__ffSubmitRow {
		flex-direction: column;
		min-width: 0;
	}

	body .arbocalc__resultForm #fluentform_11 .arbocalc__ffSubmitRow > * {
		width: 100% !important;
		min-width: 0;
		max-width: 100%;
	}

	body .arbocalc__resultForm #fluentform_11 button.ff-btn-submit {
		width: 100% !important;
		min-width: 0 !important;
		padding: 12px 14px;
		font-size: 16px;
		line-height: 1.25;
		white-space: normal;
	}

	body .arbosite-page .arbosite-page__title {
		font-size: 32px !important;
		line-height: 1.12 !important;
		overflow-wrap: break-word;
	}

	body .arbosite-page .arbosite-page__intro {
		margin-bottom: 30px !important;
	}

	body .ac-consult {
		padding-top: 40px;
		padding-bottom: 40px;
	}

	body .ac-consult__card {
		padding: 20px 18px 10px;
	}

	.ac-consult__card .ff-t-container.ff-column-container {
		flex-direction: column;
		gap: 12px;
	}

	.ac-consult__card .ff-t-container.ff-column-container > .ff-t-cell {
		width: 100%;
		flex-basis: auto;
	}

	body .ac-consult__card #fluentform_13 button.ff-btn-submit,
	body .ac-consult__card #fluentform_13 .ff-btn {
		padding: 12px 16px !important;
		font-size: 16px !important;
		line-height: 1.25 !important;
		white-space: normal;
	}

	body .ac-consult__card #fluentform_13 .ff_t_c {
		font-size: 14px;
		line-height: 1.5;
	}
}
