@charset "UTF-8";
/*
	Theme Name: My-site
	Version: 1.0.0
	Theme URI: http://place-start.ru/
	Description: place-start создание продвижение сайтов
	Author: place-start.ru
	Author URI: http://place-start.ru/
*/

.product-card {
	border: 0;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	position: relative;
}

.product-card::before {
	content: '';
	width: 100%;
	height: calc(100% - 15.333rem);
	position: absolute;
	top: 15.333rem;
	left: 0;
	border: 1px solid #7E7E7E;
}

.product-card[product-modal] {
	cursor: pointer;
}

.product-card .img {
	object-fit: contain;
	object-position: top center;
	height: 23.333rem;
	position: relative;
}

@media (max-width: 1279px) {
	.product-card::before {
		height: calc(100% - 12rem);
		top: 12rem;
	}

	.product-card .img {
		height: fit-content;
	}
}

.modal-production {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	overflow: auto;
	z-index: 100;
	display: none;
	align-items: center;
	justify-content: center;
}

.modal-production-backgraund {
	position: absolute;
	background: #000;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	transition: all .3s;
}

.modal-production-content {
	position: absolute;
	padding: 6.666rem 10.666rem;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	display: flex;
	flex-wrap: wrap;
	gap: 3.333rem;
	background: #fff;
	overflow: auto;
	max-height: 80dvh;
	opacity: 0;
	transition: all .3s;
	width: 100%;
	justify-content: center;
}

.modal-production-content.container {
	max-width: 64%;
}

@media (max-width: 992px) {
	.modal-production-content {
		padding: 4rem 3rem;
	}
}

.modal-production-content .product-card {
	height: fit-content;
	max-width: 27.866rem;
}

.modal-production-content::-webkit-scrollbar-track {
	border-radius: 8px;
	background-color: transparent
}

.modal-production-content::-webkit-scrollbar {
	width: 2px;
}

.modal-production-content::-webkit-scrollbar-thumb {
	border-radius: 8px;
	background: #989898;
}


.modal-production-applications {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	overflow: auto;
	z-index: 100;
	display: none;
	align-items: center;
	justify-content: center;
}

.modal-production-applications-backgraund {
	position: absolute;
	background: #000;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	transition: all .3s;
}

.modal-production-applications-content {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	display: flex;
	flex-wrap: wrap;
	gap: 3.333rem;
	background: #fff;
	overflow: auto;
	height: fit-content;
	max-height: 80dvh;
	opacity: 0;
	transition: all .3s;
}

.modal-production-applications-content.container {
	padding: 0 !important;
}

.modal-production-applications-content img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center center;
}

.modal-production-applications-content::-webkit-scrollbar-track {
	border-radius: 8px;
	background-color: transparent
}

.modal-production-applications-content::-webkit-scrollbar {
	width: 2px;
}

.modal-production-applications-content::-webkit-scrollbar-thumb {
	border-radius: 8px;
	background: #989898;
}

.sigle-content {
	width: 100%;
	padding-bottom: 5.333rem;
	background-color: #fff;
	border-radius: 0 0 5.3333333333rem 5.3333333333rem;
	position: relative;
}

.sigle-content.stop {
	padding-bottom: 0;
	border-radius: 6rem;
}

.product-information {
	padding-top: 7.333rem;
}

.product-information .container {
	padding: 0 8.666rem;
}

.product-information .content .content-title {
	font-weight: 700;
	font-size: 6.466rem;
	line-height: 7.242rem;
	padding-bottom: 6.666rem;
}

@media (max-width: 1279px) {
	.sigle-content {
		padding-bottom: 2.666rem;
		border-radius: 0 0 2.666rem 2.666rem;
	}

	.product-information {
		padding-top: 2.666rem;
	}

	.product-information .container {
		padding: 0 1.333rem;
	}

	.product-information .content .content-title {
		font-size: 5.466rem;
		line-height: 5.242rem;
		padding-bottom: 5.666rem;
	}
}

@media (max-width: 992px) {
	.product-information .content .content-title {
		font-size: 3rem;
		line-height: 3rem;
		padding-bottom: 3rem;
	}
}

.product-information .content-images {
	display: flex;
	gap: 6.666rem;
	padding-bottom: 5rem;
}

.product-information .content-images .product-image {
	width: 45.533rem;
	height: 38.066rem;
	object-fit: contain;
	object-position: center center;
	margin-left: 11.333rem;
}

.product-information .content-images .product-gallery {
	width: calc(100% - 45.533rem - 6.666rem - 11.333rem);
	height: 38.133rem;
	position: relative;
	--arrow-bg: #f0b668;
	--arrow-color: #fff;
	--arrow-border-color: #f0b668;
}

.product-information .content-images .product-gallery .swiper {
	width: 100%;
	height: 100%;
}

.product-information .content-images .product-gallery img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

.product-information .content-images .product-gallery .arrows {
	display: flex;
	justify-content: center;
	gap: 1.3333333333rem;
	margin-top: -2rem;
	position: absolute;
	z-index: 1;
	left: 8.4rem;
}

.content-text h4 {
	color: #0F7B79;
	font-size: 1.866rem;
	line-height: 2.639rem;
	margin-bottom: 2.866rem;
}

.product-information .content .content-text {
	padding-bottom: 6.666rem;
}

@media (max-width: 1279px) {
	.product-information .content-images {
		gap: 3.666rem;
	}

	.product-information .content-images .product-image {
		width: 35.533rem;
		height: 28.066rem;
		margin-left: 1.333rem;
	}

	.product-information .content-images .product-gallery {
		height: 28.066rem;
	}

	.product-information .content-images .product-gallery .arrows {
		left: 5.4rem;
	}

	.product-information .content .content-text {
		padding-bottom: 4.666rem;
	}
}

.product-information .content .content-text.sub {
	padding-bottom: 0;
}

.product-information .content .content-subtext .content-subtext-button {
	color: #474747;
	position: relative;
	width: fit-content;
	cursor: pointer;
	margin-bottom: 2.666rem;
	font-size: 1.066rem;
	transition: all .3s;
}

.product-information .content .content-subtext .content-subtext-button::before {
	content: '';
	width: 100%;
	height: 1px;
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: #474747;
	transition: all .3s;
}

.product-information .content .content-subtext .content-subtext-button:hover {
	color: #0F7B79;
}

.product-information .content .content-subtext .content-subtext-button:hover::before {
	background-color: #0F7B79;
}

.product-information .content .content-subtext .content-subtext-content {
	height: 0;
	overflow: hidden;
	transition: all .3s;
}

.product-information .content .content-features .content-features-title {
	font-weight: 700;
	font-size: 3.866rem;
	padding-bottom: 3rem;
}

@media (max-width: 992px) {
	.product-information .content-images {
		flex-direction: column;
	}

	.product-information .content-images .product-image {
		margin: 0 auto;
		width: 100%;
		height: auto;
	}

	.product-information .content .content-features .content-features-title {
		font-size: 3rem;
		padding-bottom: 2rem;
	}
}

.product-information .content .content-features .content-features-list {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.product-information .content .content-features .content-features-list .features-item {
	display: flex;
	align-items: center;
	gap: 2rem;
}

.product-information .content .content-features .content-features-list .features-item .features-item-icon {
	width: 3.266rem;
	height: 3.066rem;
	object-fit: contain;
	object-position: center center;
}

.product-information .content .content-features .content-features-list .features-item .features-item-text {
	font-size: 1.466rem;
	line-height: 110%;
}

.content-applications {
	background-color: #0F7C7A;
	padding: 5.333rem 0;
	border-radius: 0 0 5.333rem 5.333rem;
	color: #fff;
	position: relative;
	overflow: hidden;
	margin-bottom: 6.666rem;
}

.content-applications::before {
	content: '';
	width: 100%;
	height: 5.333rem;
	background-color: #fff;
	border-radius: 0 0 5.333rem 5.333rem;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}

@media (max-width: 1279px) {
	.content-applications {
		padding: 2.666rem 0;
		border-radius: 0 0 2.666rem 2.666rem;
		margin-bottom: 4.666rem;
	}

	.content-applications::before {
		height: 2.666rem;
		border-radius: 0 0 2.666rem 2.666rem;
	}
}

.content-applications .content {
	padding-top: 6rem;
}

.content-applications .content .content-applications-title {
	font-weight: 700;
	font-size: 3.733rem;
	line-height: 100%;
	padding-bottom: 4.733rem;
}

.content-applications .content .content-applications-list {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1rem;
	padding-left: 1.666rem;
	max-width: 50%;
}

.content-applications .content-applications-list .applications-item-text {
	position: relative;
	cursor: pointer;
	font-size: 1.466rem;
	line-height: 130%;
}

.invis-gallery {
	display: none;
}

.content-applications .content-applications-list .applications-item-text:hover {
	color: #fff;
}

.content-applications .content-applications-list .applications-item-text::before {
	content: '<';
	position: absolute;
	top: 50%;
	left: -1.666rem;
	transform: translate(0, -50%);
}

@media (max-width: 1279px) {
	.content-applications .content {
		padding-top: 4rem;
	}

	.content-applications .content .content-applications-title {
		padding-bottom: 2.733rem;
	}

	.content-applications .content .content-applications-list {
		padding-left: 1.2rem;
	}

	.content-applications .content-applications-list .applications-item-text {
		font-size: 1.2rem;
	}

	.content-applications .content-applications-list .applications-item-text::before {
		left: -1.2rem;
	}
}

@media (max-width: 992px) {
	.content-applications .content .content-applications-title {
		font-size: 3rem;
		padding-bottom: 3rem;
	}
}

.content-applications .content-applications-list .applications-item-text::after {
	content: '';
	width: 100%;
	height: 1px;
	position: absolute;
	top: 100%;
	left: 0;
	background-color: #fff;
	transition: all .3s;
}

.content-applications .content-applications-list .applications-item-text:hover::after {
	opacity: 0;
}

.content-applications .applications-item-image {
	position: absolute;
	top: 0;
	right: 0;
	width: 50%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

.product-information .documents-section {
	padding-bottom: 9.666rem;
}

@media (max-width: 1279px) {
	.product-information .documents-section {
		padding-bottom: 5.666rem;
	}
}

@media (max-width: 992px) {
	.content-applications {
		padding-bottom: 0;
	}

	.content-applications .content .content-applications-list {
		max-width: 100%;
	}

	.content-applications .applications-item-image {
		position: relative;
		width: 100%;
		height: 30rem;
		margin-top: 5rem;
	}

	.product-information .documents-section {
		padding-bottom: 3rem;
	}
}

.product-information .documents-section .wrap {
	margin: 0;
}

.product-information .documents-section .title {
	font-weight: 700;
	font-size: 3.866rem;
	line-height: 100%;
}

.content-varieties {
	padding-bottom: 6.666rem;
}

.content-varieties .content-title {
	font-weight: 700 !important;
	font-size: 3.866rem !important;
	padding-bottom: 3rem !important;
	line-height: 100% !important;
}

.content-varieties .content-list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem;
	max-width: 85%;
}

@media (max-width: 1279px) {
	.content-varieties {
		padding-bottom: 4.666rem;
	}

	.content-varieties .content-list {
		max-width: 100%;
	}
}

@media (max-width: 992px) {
	.content-varieties .content-list {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 767px) {
	.content-varieties .content-list {
		grid-template-columns: repeat(1, 1fr);
	}
}

.content-varieties .content-list .variety {
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.content-varieties .content-list .variety .variety-image {
	width: 100%;
	height: 16.666rem;
	object-fit: cover;
}

.content-varieties .content-list .variety .variety-text {
	font-size: 1.466rem;
	line-height: 110%;
}

.content-specifications {
	padding-bottom: 6.666rem;
}

@media (max-width: 1279px) {
	.content-specifications {
		padding-bottom: 4.666rem;
	}
}

.content-specifications .content .content-title {
	font-weight: 700;
	font-size: 3.866rem;
	padding-bottom: 3rem;
	line-height: 100%;
}

@media (max-width: 992px) {
	.product-information .documents-section .title {
		font-size: 2rem;
	}

	.content-specifications .content .content-title {
		font-size: 2rem;
		padding-bottom: 2rem;
	}
}

.content-specifications .document .specification {
	display: flex;
	flex-direction: column;
}

.content-specifications .document .specification td {
	padding: 1.333rem 2.666rem;
}

.content-specifications .document .specification tr {
	background-color: #e9f8f8;
}

.content-specifications .document .specification tr:nth-child(2n) {
	background-color: #fff;
}

.content-specifications .document .specification .content-specification {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	background-color: #e9f8f8;
	font-size: 1.2rem;
	line-height: 130%;
}

.content-specifications .document .specification .content-specification:nth-child(2n) {
	background-color: #fff;
}

.document {
	border-bottom: 2px solid #8AB5B4;
}

:first-child.document {
	border-top: 2px solid #8AB5B4;
}

.document-head {
	border: 0;
}

.callback-section .img {
	height: 100%;
}

.form-block {
	display: flex;
	gap: 15px;
}

.callback-section .form-col .form {
	flex-direction: column;
}

.callback-section .form-col .personal {
	margin-top: 0px;
}

.checkbox-label {
	display: flex;
	align-items: center;
	gap: 8px;
	/* расстояние между чекбоксом и текстом */
	cursor: pointer;
}

.checkbox-label input[type="checkbox"] {
	margin: 0;
	width: 18px;
	height: 18px;
	min-width: 18px;
}

.checkbox-text {
	display: inline-block;
	font-size: 16px;
	line-height: 1.4;
}

.cookieinfo {
	justify-content: center;
	align-items: center;
	border: 1px solid #107c79;
	margin-bottom: 40px;
	margin-left: 75px;
	width: fit-content;
	padding: 32px 40px !important
}

.cookieinfo span {
	text-align: justify;
	line-height: 26px;
	display: flex !important;
	padding-right: 50px !important;
	align-items: center;
	gap: 30px
}

.cookieinfo-close {
	text-align: center;
	order: 2;
	max-height: 30px;
	background-color: #107c79 !important;
	color: #fff !important;
	height: 60px;
	max-height: 100% !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	min-width: 140px !important
}

.cookieinfo span a {
	display: contents;
	/*display: none*/
}

.cookieinfo span:before {
	content: url('/wp-content/uploads/2025/05/cookie_2594523-1.png');
	display: block;
	width: 64px
}

@media (max-width: 991px) {
	.cookieinfo span {
		font-size: 12px !important;
		line-height: 12px !important;
		padding-right: 0 !important;
	}

	.cookieinfo {
		margin-left: 10px !important;
		flex-direction: column;
		margin-bottom: 10px !important;
		margin-right: 10px;
		gap: 10px;
		padding: 10px 20px !important;
	}

	.cookieinfo-close {
		height: 40px;
	}
}

@media (max-width: 768px) {
	.cookieinfo {
		display: flex
	}
}

@media(max-width: 1279px) {
	.form-block {
		flex-direction: column;
	}

	.checkbox-text {
		font-size: 1.0666666667rem;
	}

	.callback-section .form-col {
		padding: 6rem 1rem 1rem;
	}
}

.production-section {
	.grid {
		grid-template-columns: repeat(4, 1fr) !important;
		margin-top: 100px;
		gap: 30px;
	}
}

.product-card {
	min-width: 0;
}

.product-card .title {
	/* min-height: 11.3333333333rem; */
	min-height: 0;
	padding: 15px;
	font-size: 1.5rem;
	line-height: 1.2;
	font-weight: 500;
	padding-bottom: 25px;
}


.product-card .img {
	object-fit: contain;
	/* object-position: top center; */
	/* height: 23.333rem; */
	/* position: relative; */
	position: absolute;
	object-position: auto;
	height: auto;
	top: -6rem;
}


.product-card::before {
	content: '';
	width: 100%;
	height: calc(100% - 3rem);
	position: absolute;
	/* top: 0; */
	/* top: 15.333rem; */
	top: auto;
	left: 0;
	bottom: 0;
	/* inset: 0; */
	border: 1px solid #7E7E7E;
}


.product-card {
	min-width: 0;
}

.product-card {
	border: 0;
	height: 20rem;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: flex-end;
	gap: 20px;
	position: relative;
}


.product-card {
	all: unset;
	border: 0;
	/* height: 20rem; */
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 20px;
	position: relative;
	min-width: 0;
}

.product-card::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	height: 60%;
	width: 100%;
	border: 1px solid #7E7E7E;
	z-index: -1;
}


.product-card::before {
	display: none;
}


.product-card .img {
	all: unset;
	object-fit: contain;
	/* object-position: top center; */
	/* height: 23.333rem; */
	/* position: relative; */
	/* position: absolute; */
	object-position: auto;
	/* height: auto; */
	/* top: -6rem; */
	width: 100%;
	height: auto;
}


.product-card .title {
	all: unset;
	/* min-height: 11.3333333333rem; */
	min-height: 0;
	padding: 15px;
	font-size: 1.5rem;
	line-height: 1.2;
	font-weight: 500;
	padding-bottom: 25px;
}


@media (max-width: 1024px) {
	.production-section {
		.grid {
			grid-template-columns: repeat(3, 1fr) !important;
		}
	}
}

@media (max-width: 768px) {
	.production-section {
		.grid {
			grid-template-columns: repeat(2, 1fr) !important;
			gap: 15px;
		}
	}
}

@media (max-width: 480px) {
	.production-section {
		.grid {
			grid-template-columns: repeat(1, 1fr) !important;
		}
	}
}

/* ТЗ п. 3.2 — логотип в шапке увеличен до размеров логотипа в подвале.
   Исходные значения: десктоп 7.4666666667rem × 6rem, до 1279px — 5.2rem × 4.2rem.
   Размеры подвала (.logo-col .img): 8.4rem × 6.7333333333rem. */
.header .logo .img {
	width: 8.4rem;
	height: 6.7333333333rem;
}

/* На узких экранах логотип подвала (8.4rem) занимал бы треть закреплённой
   шапки — 126×100 px против исходных 78×63. Увеличиваем умереннее. */
@media (max-width: 1279px) {
	.header .logo .img {
		width: 6.5rem;
		height: 5.2rem;
	}
}

@media (max-width: 767px) {
	.header .logo .img {
		width: 5.6rem;
		height: 4.5rem;
	}
}


/* ТЗ п. 3.7 — текст блока «Производство» выровнен по верхнему краю фотографии.
   Слайдер спозиционирован абсолютно с top: 0, а текстовая колонка была опущена
   отступом: 4rem на десктопе и 1.3333333333rem до 1279px. Обнуляем.
   Брейкпоинт 991px не трогаем: там фото уходит под текст, отступ уже нулевой. */
.fabrication-section .text-col {
	padding-top: 0;
}

@media (max-width: 1279px) {
	.fabrication-section .text-col {
		padding-top: 0;
	}
}


/* ТЗ п. 3.5 — два поля контактов в шапке: «Приёмная» и «Служба продаж».
   Название сверху, под ним в один ряд — телефон, почта и кнопка мессенджера. */
.header .header-contacts {
	display: flex;
	align-items: flex-start;
	gap: 2.6666666667rem;
}

.header .header-contact {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.4rem 1.6rem;
}

/* Название занимает всю ширину, поэтому телефон, почта и мессенджер
   переносятся под него и выстраиваются в один ряд. */
.header .header-contact__title {
	flex: 0 0 100%;
	font-size: 1.2rem;
	line-height: 1.2;
	font-weight: 600;
	color: #107c79;
}

/* Прежний отступ телефона от почты был рассчитан на строку, в колонке он лишний. */
.header .header-contact .contact-link.phone {
	margin-right: 0;
	margin-left: 0;
}

.header .header-contact .messenger__icon {
	width: 1.4rem;
	height: 1.4rem;
	object-fit: contain;
}

@media (max-width: 1279px) {
	.header .header-contacts {
		display: flex;
		flex-direction: column;
		gap: 1.3333333333rem;
	}
}

/* На телефоне телефон, почта и мессенджер в одну строку не помещаются
   и переносятся вразнобой — выстраиваем их столбиком. */
@media (max-width: 767px) {
	.header .header-contact {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.5rem;
	}

	.header .header-contact__title {
		flex: 0 0 auto;
	}
}


/* Блок «Контакты»: карты убраны, обе группы стоят рядом в одной строке.
   Вторая группа занимает место, где раньше была карта первой.
   В бандле .row задавал min-height под высоту карты, а группы были
   спозиционированы под неё отступами — всё это перекрываем. */
.contacts-section .row {
	min-height: 0;
}

.contacts-section .row .container {
	display: flex;
	align-items: flex-start;
	gap: 9.3333333333rem;
}

.contacts-section .row .top-content,
.contacts-section .row .bottom-content {
	flex: 1 1 0;
	width: auto;
	margin: 0;
	padding: 4rem 0;
}

@media (max-width: 1279px) {
	.contacts-section .row .container {
		gap: 4rem;
	}

	.contacts-section .row .top-content,
	.contacts-section .row .bottom-content {
		padding: 2.8rem 0 0;
	}
}

@media (max-width: 991px) {
	.contacts-section .row .container {
		flex-direction: column;
		gap: 0;
	}

	.contacts-section .row .bottom-content {
		padding-top: 2.8rem;
	}
}


/* Выравнивание двух групп контактов по строкам.
   Адреса разной длины: одна строка против двух — из-за этого списки отделов
   ниже начинались на разной высоте. Колонки переводим на сетку с общими
   строками (subgrid), тогда «город», «адрес» и «отделы» встают на одном
   уровне независимо от длины текста. У каждой группы ровно три блока.
   Где subgrid не поддерживается, остаётся прежняя раскладка на flex. */
@supports (grid-template-rows: subgrid) {
	.contacts-section .row .container {
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-template-rows: auto auto auto;
		/* по горизонтали — прежний отступ между колонками,
		   по вертикали строки задают сами блоки своими отступами */
		gap: 0 9.3333333333rem;
		align-items: start;
	}

	.contacts-section .row .top-content,
	.contacts-section .row .bottom-content {
		display: grid;
		grid-row: span 3;
		grid-template-rows: subgrid;
	}

	@media (max-width: 991px) {
		.contacts-section .row .container {
			grid-template-columns: 1fr;
			grid-template-rows: auto;
			gap: 0;
		}

		.contacts-section .row .top-content,
		.contacts-section .row .bottom-content {
			display: block;
			grid-row: auto;
		}
	}
}


/* Шапка в два ряда: сверху логотип, контакты и переключатель языков,
   снизу — меню одной полосой.
   Разметка остаётся прежней: меню и контакты лежат внутри .right, который
   до 1279px служит выпадающей панелью бургера. На десктопе .right не рисует
   собственный бокс (display: contents), поэтому его содержимое участвует
   в сетке шапки напрямую и раскладывается по строкам. */
@media (min-width: 1280px) {
	.header .container {
		display: grid;
		/* третья колонка забирает остаток, поэтому контакты стоят сразу
		   за логотипом, а переключатель языков прижат к правому краю */
		grid-template-columns: auto auto 1fr auto;
		grid-template-areas:
			"logo contacts .    lang"
			"logo menu     menu menu";
		align-items: center;
		column-gap: 3rem;
		row-gap: 0.8rem;
	}

	.header .right {
		display: contents;
	}

	.header .logo {
		grid-area: logo;
		align-self: center;
	}

	.header .header-contacts {
		grid-area: contacts;
		justify-self: start;
	}

	.header .languagepicker {
		grid-area: lang;
	}

	.header .menu {
		grid-area: menu;
		justify-self: start;
		display: flex;
		flex-wrap: wrap;
		gap: 2rem;
		margin: 0;
	}

	/* В арабской версии ряды разворачиваются вместе с направлением текста. */
	.header.rtl .container {
		grid-template-areas:
			"lang .    contacts logo"
			"menu menu menu     logo";
	}

	.header.rtl .header-contacts {
		justify-self: end;
	}

	.header.rtl .menu {
		justify-self: end;
	}
}


/* ТЗ п. 3.6 — «Местонахождение» на главном экране ведёт на точку
   организации в Яндекс.Картах. Текст с иконкой обёрнут в ссылку,
   поэтому раскладку flex переносим с абзаца на неё.
   Тема глобально задаёт a:hover { color: #107c79 } — на фоне фотографии
   такой цвет теряется, поэтому при наведении подчёркиваем, а цвет
   оставляем прежним. */
.main-screen .location__link {
	display: flex;
	gap: 0.4rem;
	align-items: flex-start;
	color: inherit;
	text-decoration: none;
}

.main-screen .location__link:hover {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 0.2em;
}


/* Блок «Учредители» встал перед «Историей компании», а та наезжает
   на предыдущую секцию отрицательным отступом (margin-top: -7rem) —
   так задумано для наложения скруглённого зелёного блока.
   У «Учредителей» нижнего отступа не было вовсе (margin: 10rem 0 0),
   поэтому наложение срезало описание. Компенсируем с запасом. */
.founders-section {
	margin-bottom: 10rem;
}

@media (max-width: 1279px) {
	.founders-section {
		margin-bottom: 8rem;
	}
}


/* ТЗ Этап 2, п. 3.2 — высота главного баннера уменьшена примерно на 10%.
   Высоту задают вертикальные отступы: было 8.3333333333rem сверху
   и 13.3333333333rem снизу. Убираем ~4.7rem, распределяя пропорционально
   исходным значениям, чтобы композиция внутри блока не сместилась. */
.main-screen {
	padding: 6.5rem 0 10.4rem;
}

@media (max-width: 1279px) {
	.main-screen {
		padding: 3.3rem 0;
	}
}


/* Блок «Сравнение сортов» — в карточке продукта (между «Сортами»
   и «Характеристиками») и на главной после «Продукции».
   В каждом правиле два селектора: короткий работает на главной,
   длинный — в карточке, где выше объявлено
   .product-information .content .content-title с размером 6.466rem
   и при равной длине селектора победило бы оно. */
.content-sorts-comparison,
.product-information .content-sorts-comparison {
	padding-bottom: 6.666rem;
}

.content-sorts-comparison .content .content-title,
.product-information .content-sorts-comparison .content .content-title {
	font-weight: 700;
	font-size: 3.866rem;
	line-height: 100%;
	padding-bottom: 3rem;
}

.content-sorts-comparison .content .sorts-comparison-text,
.product-information .content-sorts-comparison .content .sorts-comparison-text {
	max-width: 60rem;
	margin-bottom: 3rem;
	font-size: 1.466rem;
	line-height: 1.5;
}

.content-sorts-comparison .content .sorts-comparison-text p + p,
.product-information .content-sorts-comparison .content .sorts-comparison-text p + p {
	margin-top: 1rem;
}

/* На главной блок идёт между секциями и нуждается в верхнем отступе.
   Содержимое сдвигаем от края контейнера на те же 8.6666666667rem,
   что у «Документов» (.wrap) и «Производства» (.text-col), — иначе
   заголовок стоит левее соседних блоков. */
.content-sorts-comparison--home {
	padding-top: 6.666rem;
}

.content-sorts-comparison--home .content {
	margin-left: 8.6666666667rem;
}

@media (max-width: 1279px) {
	.content-sorts-comparison,
	.product-information .content-sorts-comparison {
		padding-bottom: 4.666rem;
	}

	.content-sorts-comparison--home {
		padding-top: 4.666rem;
	}

	.content-sorts-comparison--home .content {
		margin-left: 0;
	}
}

@media (max-width: 992px) {
	.content-sorts-comparison .content .content-title,
	.product-information .content-sorts-comparison .content .content-title {
		font-size: 2rem;
		padding-bottom: 2rem;
	}

	.content-sorts-comparison .content .sorts-comparison-text,
	.product-information .content-sorts-comparison .content .sorts-comparison-text {
		max-width: none;
		margin-bottom: 2rem;
	}
}


/* Слайдер встал сразу после главного баннера (ТЗ Этап 2, п. 3.1).
   У него margin-top: -8rem — он поднимался на предыдущий блок, а кнопки
   баннера спозиционированы у нижнего края с transform: translateY(50%),
   то есть наполовину выступают наружу. В новом порядке слайдер их накрывал.
   Убираем отрицательный отступ и поднимаем кнопки над слайдером. */
.gallery-slider {
	margin-top: 3rem;
}

.main-screen .buttons {
	z-index: 3;
}

@media (max-width: 1279px) {
	.gallery-slider {
		margin-top: 2rem;
	}
}


/* ТЗ Этап 2, п. 3.4 — адрес в блоке «Контакты» ведёт на точку в Яндекс.Картах.
   Тема глобально сбрасывает оформление ссылок (color: inherit,
   text-decoration: none), поэтому подчёркивание задаём явно. */
.contacts-section .address__link {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 0.2em;
	text-decoration-color: rgba(16, 124, 121, 0.4);
}

.contacts-section .address__link:hover {
	color: #107c79;
	text-decoration-color: currentColor;
}


/* ТЗ Этап 2, п. 3.10 — модальное окно с формой «Напишите нам».
   Оформление повторяет модалки темы: тот же контейнер, крестик и кнопка. */
.modal-feedback {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 100;
	align-items: center;
	justify-content: center;
	overflow: auto;
}

.modal-feedback .modal__overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	/* Не center: при контенте выше экрана flex-центрирование срезает верх,
	   и до него нельзя долистать. Прижимаем к началу, а margin: auto
	   у контейнера центрирует его, пока он помещается. */
	align-items: flex-start;
	justify-content: center;
	padding: 2rem 1.3333333333rem;
	background: rgba(0, 0, 0, 0.55);
	overflow: auto;
}

.modal-feedback .modal__container {
	position: relative;
	width: 100%;
	max-width: 42rem;
	margin: auto;
	padding: 3.3333333333rem;
	background: #fff;
	border-radius: 1.3333333333rem;
}

/* Крестик нарисован прямо в разметке, без обращения к спрайту:
   символ из общего файла в этом окне не отрисовывался. */
.modal-feedback .modal-feedback__close {
	position: absolute;
	top: 1rem;
	right: 1rem;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.4rem;
	height: 2.4rem;
	padding: 0;
	color: #474747;
	background: transparent;
	border: 0;
	border-radius: 50%;
	cursor: pointer;
	transition: color 0.3s, background 0.3s;
	z-index: 2;
}

.modal-feedback .modal-feedback__close:hover {
	color: #107c79;
	background: #f0f0f0;
}

.modal-feedback .modal-feedback__close-icon {
	width: 1.0666666667rem;
	height: 1.0666666667rem;
	display: block;
}

.modal-feedback__title {
	margin-bottom: 0.8rem;
	font-size: 2.4rem;
	line-height: 1.2;
	font-weight: 600;
}

.modal-feedback__text {
	margin-bottom: 2rem;
	font-size: 1.2rem;
	line-height: 1.4;
	color: #6b6b6b;
}

.feedback-form .form-elem {
	margin-bottom: 1.3333333333rem;
}

.feedback-form .form-input {
	width: 100%;
	padding: 0.9333333333rem 1.2rem;
	font-size: 1.2rem;
	line-height: 1.4;
	color: #474747;
	background: #f5f5f5;
	border: 1px solid transparent;
	border-radius: 0.5333333333rem;
	transition: border-color 0.3s;
}

.feedback-form .form-input:focus {
	outline: none;
	border-color: #107c79;
}

.feedback-form .form-elem.error .form-input,
.feedback-form .form-input.error {
	border-color: #d05353;
}

.feedback-form__textarea {
	min-height: 7rem;
	resize: vertical;
	font-family: inherit;
}

/* Тема прячет нативный плейсхолдер (opacity: 0) и рисует вместо него
   плавающую подпись .form-placeholder. В компактной модалке подписи
   не помещаются, поэтому возвращаем обычные плейсхолдеры. */
.feedback-form .form-placeholder {
	display: none;
}

.feedback-form .form-input::placeholder {
	opacity: 1;
	color: #9a9a9a;
}

/* Модалка политики открывается поверх формы, из которой её вызвали.
   У модалок темы z-index: 12, поэтому поднимаем её явно. */
#modal-privacy-policy {
	z-index: 120;
}

body.modal-feedback-open {
	overflow: hidden;
}

.feedback-form__honeypot {
	position: absolute;
	width: 0;
	height: 0;
	opacity: 0;
	pointer-events: none;
}

.feedback-form__personal {
	margin-bottom: 1.6rem;
	font-size: 1rem;
	line-height: 1.4;
	color: #6b6b6b;
}

.feedback-form__personal .checkbox-label {
	display: flex;
	gap: 0.6rem;
	align-items: flex-start;
	cursor: pointer;
}

.feedback-form__personal input[type="checkbox"] {
	margin-top: 0.15rem;
	width: 1.0666666667rem;
	height: 1.0666666667rem;
	flex: 0 0 auto;
	accent-color: #107c79;
	cursor: pointer;
}

.feedback-form__personal .personal__link {
	color: #107c79;
	text-decoration: underline;
	text-underline-offset: 0.2em;
	cursor: pointer;
}

.feedback-form__personal .personal__link:hover {
	text-decoration: none;
}

.feedback-form__bottom .btn {
	width: 100%;
}

/* На телефоне окно не помещалось по высоте — ужимаем отступы и поля. */
@media (max-width: 767px) {
	.modal-feedback .modal__overlay {
		padding: 1rem 0.8rem;
	}

	.modal-feedback .modal__container {
		padding: 2rem 1.2rem 1.6rem;
	}

	.modal-feedback__title {
		font-size: 1.6rem;
	}

	.modal-feedback__text {
		margin-bottom: 1.2rem;
		font-size: 1.0666666667rem;
	}

	.feedback-form .form-elem {
		margin-bottom: 0.8rem;
	}

	.feedback-form .form-input {
		padding: 0.7333333333rem 1rem;
		font-size: 1.0666666667rem;
	}

	.feedback-form__textarea {
		min-height: 4.6666666667rem;
	}

	.feedback-form__personal {
		margin-bottom: 1.2rem;
	}
}


/* Мобильная панель шапки: меню в две колонки, контакты под ним,
   вся панель со своей прокруткой — содержимое не помещалось в экран. */
@media (max-width: 1279px) {
	.header .right {
		max-height: calc(100vh - 100%);
		overflow-y: auto;
		overscroll-behavior: contain;
	}

	.header .menu {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.9rem 1.3333333333rem;
		margin: 0 0 1.6rem;
	}

	.header .menu .link {
		font-size: 1.0666666667rem;
		line-height: 1.3;
	}

	.header .header-contacts {
		gap: 1rem;
	}

	.header .header-contact__title {
		font-size: 1.0666666667rem;
	}
}

@media (max-width: 767px) {
	.header .menu .link {
		font-size: 1rem;
	}
}


/* Та же форма в блоке «Остались вопросы?» — на тёмно-зелёном фоне.
   Секция объявляет переменные темы (--form-placeholder-color и другие),
   опираемся на них: поля прозрачные со светлой рамкой, текст белый. */
.callback-section .feedback-form--section .form-input {
	color: #fff;
	background: transparent;
	border-color: #8ab5b4;
}

.callback-section .feedback-form--section .form-input::placeholder {
	color: #8ab5b4;
}

.callback-section .feedback-form--section .form-input:focus {
	border-color: #fff;
}

.callback-section .feedback-form--section .feedback-form__personal {
	color: #fff;
}

.callback-section .feedback-form--section .personal__link {
	color: #fff;
}

.callback-section .feedback-form--section input[type="checkbox"] {
	accent-color: #fff;
}

/* Кнопка .btn--accent залита цветом #107c79 — тем же, что фон секции,
   и на нём не видна. В прежней форме здесь стояла песочная .btn--sand,
   возвращаем её цвета через переменные кнопки. */
.callback-section .feedback-form--section .btn {
	width: auto;
	min-width: 16rem;
	--bg-color: #f0b668;
	--border-color: #f0b668;
	--text-color: #fff;
}

/* Прежняя форма стояла в строку; новая — в столбец, поэтому правило
   темы .form { display: flex } здесь не нужно. */
.callback-section .form-col .feedback-form {
	display: block;
	margin-top: 2.6666666667rem;
	max-width: 34rem;
}

@media (max-width: 991px) {
	.callback-section .form-col .feedback-form {
		max-width: none;
	}

	.callback-section .feedback-form--section .btn {
		width: 100%;
	}
}


/* Верхняя часть блока «История компании» была велика: блок наезжает
   на предыдущий отрицательным отступом (-7rem) и компенсировал это
   паддингом в 14rem. Уменьшаем, наложение сохраняется. */
.company-history {
	padding-top: 7rem;
}

@media (max-width: 1279px) {
	.company-history {
		padding-top: 6rem;
	}
}
