@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap");

:root {
	--color-light-green: #81d98c;
	--color-dark-green: #06473c;

	--color-accent-primary: var(--color-light-green);
	--color-accent-primary-hover: var(--color-dark-green);

	--color-text-primary: #3d3d3d;
	--color-text-secondary: white;
	--color-text-dark-green: #07473c;
	--color-text-light-green: var(--color-light-green);

	--color-gradient-left-top: #046756;
	--color-gradient-right-bottom: #02110e;

	--color-button-primary: var(--color-accent-primary);
	--color-button-primary-hover: var(--color-accent-primary-hover);

	--another-hero-color-80: #0a3a3acc;
	--another-hero-color-60: #0a3a3a8c;

	--color-gradient-80: #0a3a3acc;
	--color-gradient-60: #0a3a3a8c;
}

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	font-family: "Inter", sans-serif;
	font-size: 16px;
	font-weight: 400;
	scroll-behavior: smooth;
}

body {
	min-height: 100vh;
	background-color: #f3f9fe;
}

.container {
	max-width: 1340px;
	padding: 0 20px;
	width: 100%;
	margin: 0 auto;
}

.burger-menu {
	display: none;
}

a {
	text-decoration: none;
	color: inherit;
	outline: none;
}

ul {
	list-style: none;
}

.btn {
	display: block;
	width: 240px;
	padding: 22px 24px;
	text-align: center;
	background-color: var(--color-button-primary);
	color: var(--color-text-dark-green);
	border: none;
	outline: none;
	cursor: pointer;
	transition: background-color 0.3s ease;
}

.btn a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

.btn:hover {
	background-color: var(--color-button-primary-hover);
	color: var(--color-text-secondary);
}

.gradient {
	background: linear-gradient(
		to bottom right,
		var(--color-gradient-left-top) 0%,
		var(--color-gradient-right-bottom) 100%
	);
}

.header-fixed .language svg path {
	fill: none !important;
	stroke: white !important;
}

h1 {
	font-size: 40px;
	font-weight: 700;
	line-height: 100%;
	text-transform: uppercase;
	color: var(--color-text-light-green);
}

h2 {
	font-size: 22px;
	font-weight: 500;
	line-height: 100%;
	color: var(--color-text-secondary);
	text-transform: uppercase;
}

.section-title {
	font-size: 14px;
	color: var(--color-text-dark-green);
	position: relative;
	padding-left: 16px;
	text-transform: none;
	font-weight: normal;
	text-align: left;
}

.section-title::before {
	content: "";
	width: 6px;
	height: 6px;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	background-color: var(--color-accent-primary);
	border-radius: 50%;
}

/* ===== CUSTOM DROPDOWN ===== */
.custom-dropdown {
	position: relative;
	width: 100%;
}

.custom-dropdown .placeholder {
	font-size: 18px;
}

.dropdown-toggle {
	position: relative;
	width: 100%;
	border: 1px solid #e5e5e5;
	padding: 14px 19px;
	background: #fff;
	text-align: left;
	font-size: 18px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	cursor: pointer;
	height: 60px;
}

.dropdown-toggle::after {
	content: "";
	width: 19px;
	height: 19px;
	background: url("../img/icons/arrow_dropdown.svg") no-repeat center;
	background-size: contain;
	transition: transform 0.3s ease;
	position: absolute;
	right: 20px;
}

.custom-dropdown.open .dropdown-toggle::after {
	transform: rotate(180deg);
}

.dropdown-list {
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	background: #fff;
	border: 1px solid #e5e5e5;
	border-top: none;
	max-height: 200px;
	overflow-y: auto;
	display: none;
	z-index: 20;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.custom-dropdown.open .dropdown-list {
	display: block;
}

.dropdown-list li {
	padding: 12px 18px;
	cursor: pointer;
	font-weight: 400;
	font-size: 18px;
	display: flex;
	align-items: center;
	gap: 10px;
}

.dropdown-list li:hover {
	background: #e7f6eb;
}

.dropdown-list li.selected {
	background: var(--color-accent-primary);
	color: var(--color-text-dark-green);
}

/* === form errors === */
.agree a {
	color: var(--color-text-dark-green);
}

.agree.field-error {
	color: #ff4d4f;
}

.agree.field-error a {
	color: #ff4d4f;
}

.field-error {
	border-color: #ff4d4f !important;
	margin-bottom: 0px !important;
}

.error-msg {
	color: #ff4d4f;
	font-size: 12px;
	margin-top: 4px;
	display: block;
}

legend.error-star::after {
	content: " *";
	color: #ff4d4f;
}

.placeholder.error-star::after {
	content: " *";
	color: #ff4d4f;
}

/* Phone input */
.phone-input {
	display: flex;
	position: relative;
	align-items: center;
	width: 100%;
	border: 1px solid #d9d9d9;
	border-radius: 4px;
	height: 48px;
}

.phone-input .phone-code {
	display: flex;
	align-items: center;
	gap: 6px;
	background: none;
	border: none;
	cursor: pointer;
	padding: 0 12px;
}

.phone-arrow {
	position: absolute;
	right: 12px;
	pointer-events: none;
	transition: transform 0.3s ease;
}

.phone-arrow.open {
	transform: rotate(180deg);
}

.phone-input .phone-code svg {
	transition: transform 0.3s ease;
}

.phone-input .phone-code.open svg {
	transform: rotate(180deg);
}

.phone-input .phone-number {
	flex: 1;
	height: 100%;
	border: none;
	outline: none;
	padding: 0 12px;
	font-size: 16px;
}

.phone-code-list {
	position: absolute;
	left: 0;
	top: 100%;
	margin-top: 4px;
	background: #fff;
	border: 1px solid #d9d9d9;
	border-radius: 4px;
	list-style: none;
	width: 180px;
	display: none;
	z-index: 20;
}

.phone-code-list.open {
	display: block;
}

.phone-code-list li {
	padding: 6px 12px;
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: 6px;
}

.phone-code-list li:hover {
	background: #f5f5f5;
}

/* label error star */
.floating-input label.error-star::after {
	content: " *";
	color: #ff4d4f;
}

.placeholder.error-star::after {
	content: " *";
	color: #ff4d4f;
}

/* placeholder & value handling */
.custom-dropdown .placeholder {
	color: var(--color-text-primary);
	pointer-events: none;
	transition: all 0.2s ease;
}

.custom-dropdown .value {
	transform: translateY(7px);
	order: -1;
	display: none;
	color: var(--color-text-primary);
}

.custom-dropdown.filled .placeholder,
.custom-dropdown .field-error .placeholder,
.my-dropdown.filled label {
	color: #b8b8b8;
	position: absolute;
	font-size: 12px;
	transform: translateY(-13px);
	opacity: 0.8;
}

.custom-dropdown.filled .value {
	display: block;
}

/* ================== HEADER ================== */
header {
	top: 0;
	left: 0;
	right: 0;
	position: sticky;
	background: var(--color-dark-green);
	display: flex;
	align-items: center;
	z-index: 1001;
}

.header-fixed .logo svg {
	width: 232px;
	transition: all 0.4s ease;
}

.header-fixed.scrolled .logo svg {
	width: 140px;
}

.header-fixed {
	height: 90px;
	transition: all 0.4s ease;
}

.header-fixed.scrolled {
	height: 60px;
}

/* Стили для фиксированного хедера */
.header-fixed .container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	position: relative;
	z-index: 100;
	padding-top: 20px;
	padding-bottom: 20px;
}

.header-left {
	display: flex;
	align-items: center;
	justify-content: space-between;
	max-width: 833px;
	width: 100%;
	gap: 10px;
	transition: gap 0.4s ease;
}

/* Стили для навигации */

.menu {
	display: flex;
	gap: 15px;
	align-items: center;
}

/* --- top level items --- */
.menu > li {
	position: relative;
	transition: all 0.3s ease;
	font-size: 14px;
	cursor: pointer;
}

.nav.active .menu > li:hover {
	margin-left: 0;
}

.nav.active .menu > li:hover::before {
	content: "";
}

.menu-item {
	color: var(--color-text-secondary);
}

.menu > li:hover::before {
	content: "•";
	position: absolute;
	left: -12px;
	color: var(--color-accent-primary);
}

.menu > li:hover {
	margin-left: 6px;
	color: var(--color-accent-primary);
}

.menu > li:first-child:hover {
	margin-left: 0;
}

/* --- submenu dropdown --- */
.menu-item-has-children {
	position: relative;
}

/* Invisible bridge to prevent hover gap */
.menu-item-has-children::after {
	content: "";
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	height: 11px;
	pointer-events: auto;
	/* keep hover state */
}

.submenu {
	display: none;
	transform: translateY(11px);
	/* gap handled by pseudo bridge */
	flex-direction: column;
	position: absolute;
	top: 100%;
	left: 0;
	background: #ffffff;
	gap: 0;
	z-index: 50;
}

@media (min-width: 1021px) {
	.menu-item:hover .submenu {
		display: flex;
	}
}

/* show submenu on hover (desktop) */
.menu-item-has-children.open > .submenu {
	display: flex;
}

.submenu li {
	width: 100%;
}

.submenu li:before {
	display: none;
}

.submenu li a {
	display: block;
	padding: 8px 14px;
	color: var(--color-text-primary);
	font-size: 14px;
	transition: background 0.3s ease, color 0.3s ease;
}

.submenu li:hover {
	margin-left: 0;
	color: var(--color-text-primary);
}

.submenu li a:hover {
	background: #e7f6eb;
}

/* ===== LANGUAGE SELECT DROPDOWN ===== */
.lang-select {
	position: relative;
}

.lang-select .lang-current {
	display: flex;
	align-items: center;
	gap: 4px;
}

.lang-select .lang-list {
	position: absolute;
	top: 100%;
	right: 0;
	background: #ffffff;
	display: none;
	z-index: 20;
	margin-top: 5px;
}

.lang-select.open .lang-list {
	display: block;
}

.lang-select .lang-list li {
	padding: 10px 14px;
	cursor: pointer;
	color: var(--color-text-primary);
}

.lang-select .lang-list li:hover {
	background: #e7f6eb;
}

.lang-select .lang-list li.selected {
	background: var(--color-accent-primary);
	color: var(--color-text-dark-green);
}

.lang-select .arrow {
	transition: transform 0.3s ease;
}

.lang-select.open .arrow {
	transform: rotate(180deg);
}

/* Стили для правой части хедера */
.header-right {
	display: flex;
	align-items: center;
	justify-content: end;
	gap: 20px;
}

.search,
.language,
.profile {
	cursor: pointer;
}

.search svg,
.search input {
	display: block;
}

.search {
	display: flex;
	align-items: center;
	gap: 8px;
	position: relative;
}

.search input {
	width: 0;
	padding: 0 10px;
	border: 1px solid var(--color-text-secondary);
	background: transparent;
	color: var(--color-text-secondary);
	outline: none;
	transition: width 0.3s ease;
}

.search input::placeholder {
	color: #fff;
}

.search.open {
	border: 1px solid var(--color-text-secondary);
}

.search.open input {
	width: 200px;
}

/* === Figma pill search === */
.search {
	width: 40px;
	height: 40px;
	padding-left: 0;
	gap: 0;
	transition: width 0.5s ease, padding-left 0.5s ease;
	border-radius: 20px;
}

.search-input {
	display: flex;
	align-items: center;
}

.search input {
	flex: 0 0 0;
	border: none;
	background: transparent;
	color: var(--color-text-secondary);
	width: 0;
	opacity: 0;
	pointer-events: none;
	transition: width 0.5s ease, opacity 0.5s ease;
}

.search.open {
	width: 100%;
	max-width: 350px;
	padding-left: 20px;
	background-color: #ffffff1a;
}

.search.open input {
	flex: 1 1 auto;
	width: calc(100% - 40px);
	opacity: 1;
	pointer-events: auto;
	margin-right: 60px;
}

.search:not(.open) ul {
	display: none;
}

.search-suggestions {
	position: absolute;
	top: calc(100% + 10px);
	left: 0;
	width: 100%;
	max-height: 240px;
	overflow-y: auto;
	background: #fff;
	border: none;
	/* border-top: 1px solid var(--color-text-secondary); */
	list-style: none;
	margin: 0;
	padding: 0;
	z-index: 10;
}

.search-suggestions::-webkit-scrollbar {
	width: 3px;
}

.search-suggestions::-webkit-scrollbar-thumb {
	background: #d0d0d0;
}

.search-suggestions::-webkit-scrollbar-track {
	background: #fafafa;
}

.search-suggestions li {
	padding: 10px 16px;
	cursor: pointer;
}

.search-suggestions li:hover,
.search-suggestions li:focus {
	background: #e8f6ef;
}

.search-suggestions .no-results {
	color: #999;
	cursor: default;
}

.search svg {
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	pointer-events: none;
	z-index: 999;
}

.search img,
.profile img {
	display: block;
}

.language {
	display: flex;
	align-items: center;
	color: var(--color-text-secondary);
}

.language span {
	margin-right: 1px;
}

.language svg {
	margin-bottom: 1px;
	display: block;
}

@media (max-width: 1200px) {
	.search.open {
		max-width: 250px;
		padding-left: 10px;
	}

	.menu {
		gap: 10px;
	}
}

@media (max-width: 1070px) {
	.header-fixed .logo svg {
		width: 180px;
	}

	.header-left {
		max-width: 700px;
	}

	.header-right {
		gap: 10px;
	}
}

@media (max-width: 1020px) {
	.header-left {
		max-width: max-content;
	}

	/* Бургер-меню */
	.burger-menu {
		display: flex;
		flex-direction: column;
		gap: 6px;
		flex-shrink: 0;
		width: 24px;
		background: transparent;
		border: none;
		cursor: pointer;
		position: relative;
		z-index: 10;
		margin-left: 20px;
	}

	.burger-menu span {
		display: block;
		width: 100%;
		height: 2px;
		flex-shrink: 0;
		background-color: white;
		transition: transform 0.3s ease, opacity 0.3s ease;
	}

	.header-fixed.scrolled .burger-menu span {
		background-color: white;
	}

	/* Превращение в крестик */
	.burger-menu.active span:nth-child(1) {
		transform: translateY(8px) rotate(45deg);
	}

	.burger-menu.active span:nth-child(2) {
		opacity: 0;
	}

	.burger-menu.active span:nth-child(3) {
		transform: translateY(-8px) rotate(-45deg);
	}

	/* Основное меню */
	.header-left .nav {
		display: none;
		position: absolute;
		top: 100%;
		right: 0;
		width: 260px;
		max-height: 70vh;
		overflow-y: auto;
		background: #ffffff;
		z-index: 9;
		transition: top 0.3s ease;
	}

	.header-fixed.scrolled .header-left .nav {
		top: calc(100% - 16px);
	}

	.header-fixed .header-left .nav {
		top: calc(100% - 2px);
	}

	/* Показ меню */
	.header-left .nav.active {
		display: block;
	}

	/* Верстка списка */
	.menu {
		flex-direction: column;
		gap: 0;
	}

	nav.active .menu > li {
		width: 100%;
	}

	.menu:not(.submenu) > li > a {
		display: block;
		padding: 12px 20px;
		font-size: 16px;
		color: var(--color-text-dark-green);
		transition: background 0.2s ease;
		width: 100%;
	}

	.menu > li > a:hover {
		background: #f8fbfc;
	}

	/* Подменю */
	li.menu-item-has-children > .submenu {
		display: flex;
		transform: none;
		position: initial;
		max-height: 0;
		overflow: hidden;
		transition: max-height 0.3s ease, opacity 0.3s ease;
		box-shadow: none;
		background: rgba(255, 255, 255, 0.1);
		opacity: 0;
	}

	li.menu-item-has-children.open > .submenu {
		max-height: 500px;
		opacity: 1;
	}

	/* Стрелка у пункта с подменю */
	li.menu-item-has-children > a {
		position: relative;
		font-weight: 500;
	}

	li.menu-item-has-children > a::after {
		content: "";
		position: absolute;
		right: 16px;
		top: 50%;
		width: 8px;
		height: 8px;
		border-right: 2px solid var(--color-text-dark-green);
		border-bottom: 2px solid var(--color-text-dark-green);
		transform: translateY(-50%) rotate(45deg);
		transition: transform 0.25s ease;
	}

	li.menu-item-has-children.open > a::after {
		transform: translateY(-50%) rotate(-135deg);
	}

	/* Элементы подменю */
	.submenu li a {
		display: block;
		padding: 10px 24px 10px 36px;
		font-size: 15px;
	}

	.submenu li a:hover {
		background: #f0f4f5;
	}

	/* Разделители между пунктами */
	.menu li + li {
		border-top: 1px solid #eef2f3;
	}
}

@media (max-width: 650px) {
	header.search-active .container {
		justify-content: center;
	}

	header.search-active .header-right {
		width: 100%;
		justify-content: end;
	}

	header.search-active .container {
		gap: 0px;
	}

	.logo svg {
		width: 120px !important;
	}

	.logo.hide {
		display: none;
	}

	.search.open {
		width: 100%;
		padding-left: 10px;
	}

	.burger-menu {
		margin-left: 15px;
	}
}

/* === ANOTHER HERO === */

.another-hero {
	position: relative;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	height: 400px;
	display: flex;
	align-items: center;
	margin-bottom: 120px;
	overflow: hidden;
}

.another-hero-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to right,
		var(--another-hero-color-80),
		var(--another-hero-color-60)
	);
}

.single-services .btn-wrap {
	margin-top: 50px;
}

.another-hero-content {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
}

.another-hero-left {
	width: max-content;
	display: flex;
	flex-direction: column;
}

.breadcrumb {
	color: white;
	margin-bottom: 22px;
}

.breadcrumb span,
.breadcrumb a {
	font-weight: 400;
	font-size: 14px;
	line-height: 20px;
	letter-spacing: 0px;
	vertical-align: middle;
}

.breadcrumb span span:last-child {
	color: var(--color-text-light-green);
}

.dark-breadcrumb {
	margin-bottom: 32px;
}

.dark-breadcrumb a {
	color: black;
}

.dark-breadcrumb span {
	color: black;
}

.another-hero-title {
	font-size: 40px;
	color: var(--color-text-light-green);
	margin-bottom: 16px;
	font-weight: 700;
}

.another-hero-text {
	max-width: 433px;
	color: var(--color-text-secondary);
	text-transform: uppercase;
}

/* === another hero === */

.banner-right {
	width: 392px;
	height: 265px;
	background: url("../img/sign.svg") no-repeat center center/cover;
	text-align: center;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	padding-bottom: 32px;
	position: absolute;
	bottom: 0;
	right: 0;
	z-index: 1;
}

.banner-slogan {
	color: var(--color-text-light-green);
	font-weight: 500;
	font-size: 20px;
	line-height: 100%;
	letter-spacing: 0px;
	text-align: center;
	text-transform: uppercase;
}

/* ---------------------- RESPONSIVE: ANOTHER HERO ---------------------- */
/* Large tablets / small desktops */
@media (max-width: 1199px) {
	.another-hero-left {
		width: auto;
	}

	.another-hero-title {
		max-width: 800px;
	}

	.another-hero {
		height: 340px;
	}

	.another-hero-content {
		gap: 40px;
	}

	.another-hero-title {
		font-size: 32px;
	}

	.another-hero-text {
		font-size: 18px;
	}

	.banner-right {
		width: 350px;
		padding-bottom: 32px;
	}

	.banner-slogan {
		font-size: 18px;
	}
}

/* Tablets */
@media (max-width: 992px) {
	.another-hero-left {
		width: auto;
		z-index: 3;
	}

	.another-hero {
		height: 320px;
	}

	.another-hero-content {
		gap: 32px;
	}

	.another-hero-title {
		width: auto;
		font-size: 28px;
	}

	.banner-right {
		position: absolute;
		bottom: 0;
		right: 0;
		margin-top: 0;
		z-index: 1;
		width: 270px;
		height: auto;
		aspect-ratio: 1.47/1;
		padding-bottom: 16px;
	}
}

/* Tablets / landscape mobiles */
@media (max-width: 768px) {
	.another-hero {
		padding: 60px 0 80px;
		margin-bottom: 60px;
	}

	.another-hero-content {
		flex-direction: column;
		align-items: flex-start;
	}

	/* Слоган уменьшен */
	.banner-slogan {
		font-size: 14px;
	}

	.banner-right {
		width: 230px;
	}

	.another-hero-text {
		max-width: 350px !important;
	}
}

/* Mobile portrait */
@media (max-width: 576px) {
	.another-hero-title {
		font-size: 28px;
		width: auto;
	}

	.banner-text {
		font-size: 16px;
		line-height: 22px;
	}
}

@media (max-width: 530px) {
	.banner-right {
		width: 150px;
		padding-bottom: 0;
		bottom: -15px;
		z-index: 0;
	}

	.banner-slogan {
		display: none;
	}
}

/* ================== REQUEST SECTION ================== */

.request-wrapper {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 60px;
	background: var(--color-text-dark-green);
	padding: 30px;
	padding-left: 110px;
}

.light-theme .request-wrapper {
	padding: 40px 60px;
	flex-direction: column;
	background-color: white;
	gap: 0;
}

.light-theme .request-form {
	max-width: unset;
}

.light-theme .request-form form {
	display: grid;
	gap: 20px;
}

.light-theme .request-form .form-row {
	display: flex;
	justify-content: space-between;
	gap: 18px;
	width: 100%;
}

.light-theme .request-form .form-row select {
	width: 100%;
}

.wpcf7 {
	width: 100%;
}

.floating-input {
	width: 100%;
}

.checkbox-file {
	display: flex;
	flex-direction: column;
	width: 100%;
	gap: 32px;
}

.request-info {
	margin-top: 50px;
	color: var(--color-text-light-green);
}

.request-heading {
	font-size: 40px;
	font-weight: 500;
	margin-bottom: 50px;
}

.request-subtitle {
	color: var(--color-text-secondary);
}

.request-subtitle br {
	display: none;
}

.request-form {
	background: #fff;
	padding: 45px 65px;
	display: flex;
	flex-direction: column;
	gap: 20px;
	width: 100%;
	max-width: 592px;
}

.request-fieldset {
	border: none;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.request-fieldset:not(:first-child) {
	margin-top: 20px;
}

.request-fieldset .error-msg {
	margin-top: 4px;
}

.request-fieldset legend {
	font-size: 20px;
	font-weight: 500;
	color: var(--color-text-dark-green);
	margin-bottom: 20px;
	text-transform: uppercase;
}

.request-form select,
.request-form input[type="text"],
.request-form input[type="email"],
.request-form input[type="date"],
.request-form input[type="tel"],
.request-form textarea {
	border: 1px solid #d8d8d8;
	padding: 18px;
	font-size: 18px;
	height: 60px;
	resize: none;
	outline: none;
	width: 100%;
}

.request-form select:focus,
.request-form input[type="text"]:focus,
.request-form input[type="email"]:focus,
.request-form input[type="date"]:focus,
.request-form textarea:focus {
	border: 1px solid var(--color-text-dark-green);
}

.request-form textarea {
	min-height: 92px;
}

/* Floating placeholder for inputs */
.floating-input {
	position: relative;
	overflow: hidden;
}

.floating-input input,
.floating-input textarea {
	width: 100%;
	padding: 14px 19px;
	transition: all 0.2s ease;
}

.floating-input label {
	position: absolute;
	text-wrap: nowrap;
	left: 19px;
	top: 20px;
	font-size: 18px;
	color: var(--color-text-primary);
	pointer-events: none;
	transition: all 0.2s ease;
}

.floating-input input:focus,
.floating-input textarea:focus,
.floating-input input:not(:placeholder-shown),
.floating-input textarea:not(:placeholder-shown) {
	padding-bottom: 12px;
	padding-top: 20px;
}

.floating-input input:focus ~ label,
.floating-input textarea:focus ~ label,
.floating-input input:not(:placeholder-shown) ~ label,
.floating-input textarea:not(:placeholder-shown) ~ label,
.floating-input label.error-star {
	transform: translateY(-13px);
	font-size: 12px;
	color: #b8b8b8;
	opacity: 0.8;
}

form label.active,
.floating-input:has(input[type="date"]) label,
.floating-input:has(input[type="tel"]) label {
	transform: translateY(-13px);
	font-size: 12px;
	color: #b8b8b8;
	opacity: 0.8;
}

.file-upload {
	display: inline-block;
	background: var(--color-text-dark-green);
	color: white;
	padding: 14px 18px;
	font-size: 14px;
	cursor: pointer;
	width: 100%;
	/* margin: 20px 0; */
}

.file-upload span {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
}

.file-upload input {
	display: none;
}

.agree {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	font-size: 12px;
	color: var(--color-text-primary);
}

.agree a {
	color: var(--color-text-dark-green);
}

.request-form .btn {
	width: 100%;
}

#requestForm .request-form .btn {
	max-width: unset;
}

/* Стили для кастомных чекбоксов */
input[type="checkbox"] {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.checkbox-label,
.agree {
	display: flex;
	align-items: center;
	cursor: pointer;
	position: relative;
	color: var(--color-text-primary);
}

.checkbox-label span,
.agree span {
	/* display: inline-flex; */
	margin-left: 8px;
	gap: 3px;
}

.checkbox-label input[type="checkbox"] + span::before,
.agree input[type="checkbox"] + span::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 20px;
	height: 20px;
	background-image: url("../img/icons/checkbox.svg");
	background-repeat: no-repeat;
	background-position: center;
}

.checkbox-label input[type="checkbox"]:checked + span::before,
.agree input[type="checkbox"]:checked + span::before {
	background-image: url("../img/icons/checkbox_checked.svg");
	background-position: center;
}

.request-form .btn {
	margin-top: 15px;
}

@media (max-width: 768px) {
	.request-form form {
		gap: 10px !important;
		padding: 10px;
	}

	section.request-section .container {
		padding-left: 5px;
		padding-right: 5px;
	}

	.request-wrapper {
		padding-left: 5px !important;
		padding-right: 5px !important;
	}
	.floating-input label,
	.my-dropdown label {
		font-size: 14px !important;
		top: 16px !important;
		left: 14px !important;
	}

	.dropdown-toggle {
		font-size: 14px;
		padding: 14px;
		height: 40px;
	}

	.dropdown-toggle .placeholder {
		font-size: 14px;
	}

	.my-dropdown label {
		font-size: 14px !important;
	}

	.my-dropdown input[type="text"] {
		padding-top: 16px !important;
		padding-bottom: 12px !important;
		padding-left: 14px !important;
	}

	.custom-dropdown.filled .placeholder {
		transform: translateY(-10px);
	}

	.dropdown-toggle::after {
		width: 14px;
		height: 14px;
	}

	.request-form select {
		height: 50px;
		padding: 12px;
		padding-left: 14px;
	}
	.request-form input[type="text"],
	.request-form input[type="email"],
	.request-form textarea {
		padding: 14px;
		padding-bottom: 12px;
		padding-top: 16px;
		height: 50px;
	}

	.dropdown-toggle .value {
		font-size: 14px;
	}

	.dropdown-list li {
		font-size: 14px;
		padding: 10px 14px;
	}

	.request-form {
		gap: 10px;
	}

	.agree span,
	.checkbox-label span {
		font-size: 14px !important;
	}

	.checkbox-file {
		gap: 10px !important;
	}

	.checkbox-file .checkbox-group {
		gap: 8px !important;
	}

	.form-row {
		gap: 10px !important;
	}
}

/* ================== ABOUT SECTION ================== */
.about-section {
	background: #f1f8fc;
}

.about-wrapper {
	display: flex;
	align-items: center;
	gap: 80px;
}

.about-img img {
	width: 100%;
	max-width: 640px;
	height: auto;
	display: block;
}

.about-pretitle {
	color: var(--color-text-dark-green);
	font-size: 30px;
	font-weight: 600;
	margin-bottom: 15px;
	text-transform: uppercase;
}

.about-title {
	font-size: 20px;
	font-weight: 500;
	color: var(--color-text-dark-green);
	margin-bottom: 10px;
	text-transform: uppercase;
}

.about-content p {
	margin-bottom: 50px;
	max-width: 480px;
	color: var(--color-text-primary);
}

/* ================== FOOTER ================== */
.footer {
	padding: 60px 0;
	color: var(--color-text-secondary);
	height: auto;
	min-height: 458px;
	margin-top: 120px;
}

.footer .container {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 67px;
	height: 100%;
}

.footer-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-bottom: 30px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.2);
	flex-wrap: wrap;
	gap: 20px;
}

.footer-tagline {
	font-size: 34px;
	text-transform: uppercase;
}

.footer-middle {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 30px;
}

.footer-email {
	font-size: 30px;
	line-height: 100%;
	color: var(--color-text-secondary);
}

.footer-social {
	display: flex;
	align-items: center;
	gap: 20px;
	flex-wrap: wrap;
}

.footer-social a img {
	display: block;
	width: 40px;
	height: 40px;
}

.footer-bottom {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	padding-top: 30px;
	font-size: 12px;
	border-top: 1px solid rgba(255, 255, 255, 0.2);
	gap: 20px;
}

.footer-bottom p {
	font-size: 14px;
	max-width: 267px;
}

.copyright-wrap,
.copyright-wrap p {
	width: 100%;
	max-width: unset;
}

.copyright-wrap p br{
	display: none;
}

.footer-links {
	display: flex;
	gap: 32px;
	flex-wrap: wrap;
}

.footer-links a {
	color: var(--color-text-secondary);
}

@media (max-width: 992px) {
	.footer {
		margin-top: 80px;
		padding: 40px 0;
		min-height: 0;
	}

	.footer .container {
		gap: 40px;
	}

	.footer-tagline {
		font-size: 28px;
	}

	.footer-email {
		font-size: 24px;
	}
}

@media (max-width: 768px) {
	.footer-head {
		align-items: start;
	}

	.footer-middle {
		flex-direction: column;
		align-items: start;
	}

	.footer-bottom {
		flex-direction: column;
	}

	.footer-links {
		margin-top: 20px;
	}
}

@media (max-width: 576px) {
	.footer-tagline {
		font-size: 24px;
	}

	.footer-email {
		font-size: 20px;
	}

	.footer-links {
		gap: 20px;
	}
}

body {
	width: 100%;
	overflow-x: hidden;
}

#cookie-modal {
	display: none !important;
}

.section {
	padding: 60px 0;
}

@media (max-width: 576px) {
	.section {
		padding: 30px 0;
	}
}

.full-width-image {
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	min-height: 400px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}

.full-width-image.large {
	min-height: 840px;
}

.full-width-image.with-overlay:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(
		90deg,
		rgba(10, 58, 58, 0.8) 0%,
		rgba(10, 58, 58, 0.6) 100%
	);
}

.full-width-image__content {
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	height: 100%;
	position: relative;
	z-index: 1;
}

.full-width-image__content h3 {
	font-size: 40px;
	font-weight: 500;
	color: var(--color-text-light-green);
	text-transform: uppercase;
	margin-bottom: 30px;
}

.full-width-image__content p {
	color: var(--color-text-secondary);
	font-size: 20px;
	max-width: 635px;
}

.full-width-image__content .btn-wrap {
	margin-top: 80px;
}

@media (max-width: 640px) {
	.full-width-image.large {
		min-height: 640px;
	}

	.full-width-image__content .btn-wrap {
		margin-top: 40px;
	}
}

.banner {
	min-height: 400px;
	overflow: hidden;
	color: var(--color-text-secondary);
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

.banner::after {
	/* тёмный фильтр */
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(
		90deg,
		rgb(10, 58, 58, 0.8) 0%,
		rgb(10, 58, 58, 0.6) 100%
	);
	/* opacity: 0.6; */
	z-index: 0;
}

.banner .container {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 60px;
}

.banner-left {
	position: relative;
	z-index: 2;
}

.banner-left h2 {
	font-weight: 400;
	font-size: 14px;
	line-height: 20px;
	letter-spacing: 0px;
	text-transform: none;
	color: #ffffff;
	margin-bottom: 22px;
}

.banner-left h2 span {
	color: var(--color-text-light-green);
	font-weight: 400;
	font-size: 14px;
	line-height: 20px;
	letter-spacing: 0px;
	vertical-align: middle;
}

.banner-left h1 {
	font-weight: 700;
	font-size: 40px;
	line-height: 100%;
	letter-spacing: 0px;
	vertical-align: middle;
	color: var(--color-text-light-green);
	margin-bottom: 16px;
	text-transform: none;
}

.banner-left p {
	max-width: 665px;
	font-weight: 500;
	font-size: 22px;
	line-height: 28px;
	letter-spacing: 0px;
	vertical-align: middle;
	text-transform: uppercase;
}

.banner-left p.medium-text {
	font-size: 16px;
	line-height: 21px;
}

/* .banner-right {
	width: 392px;
	height: 265px;
	background: url("../img/sign.svg") no-repeat center center/cover;
	text-align: center;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	padding-bottom: 45px;
	position: absolute;
	bottom: 0;
	right: 0;
	z-index: 1;
}

.banner-slogan {
	color: var(--color-text-light-green);
	font-weight: 500;
	font-size: 20px;
	line-height: 100%;
	letter-spacing: 0px;
	text-align: center;
	text-transform: uppercase;
}

@media (max-width: 640px) {
	.banner-right {
		z-index: 0;
	}
} */

@media (max-width: 640px) {
	.banner {
		padding: 10px 0;
	}
}

.single-services .banner-left h1 {
	text-transform: none;
}

.single-services .banner-left p {
	font-size: 16px;
	max-width: 786px;
	color: var(--color-text-secondary);
	text-transform: uppercase;
}

.plain-text p:not(:last-child) {
	margin-bottom: 24px;
}

.plain-text h2 {
	font-size: 30px;
	font-weight: 500;
	color: var(--color-text-dark-green);
	text-transform: uppercase;
	margin-bottom: 30px;
}

.plain-text h3 {
	font-size: 20px;
	font-weight: 500;
	color: var(--color-text-dark-green);
	margin-bottom: 10px;
	text-transform: uppercase;
	margin-bottom: 24px;
}

.plain-text ul {
}

.plain-text ul li, .about-content ul li {
	position: relative;
	padding-left: 24px;
	font-size: 16px;
	font-weight: 300;
	line-height: 22px;
	color: var(--color-text-dark-green);
}

.plain-text ul li:before, .about-content ul li:before {
	position: absolute;
	content: "";
	top: 7px;
	left: 0;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background-color: var(--color-text-dark-green);
}

.plain-text p ~ h2,
.plain-text p ~ h3,
.plain-text ul ~ p,
.plain-text ul ~ h3 {
	margin-top: 30px;
}

.plain-text strong {
	font-weight: 600;
}

.btn-wrap {
	margin-top: 40px;
}

.news-detail-banner {
	align-items: end;
}

.extra-pt {
	padding-top: 120px;
}

.extra-pb {
	padding-bottom: 120px;
}

.pt-0 {
	padding-top: 0;
}

.pb-0 {
	padding-bottom: 0;
}

.items-align-left .princibles-title,
.items-align-left .princibles-text {
	text-align: left;
	width: 100%;
}

.items-align-left .princibles-card {
	align-items: unset;
}

.items-align-left .princibles-card p {
	text-align: left;
}

.four-elems .life-card {
	width: calc((100% - 60px) / 4);
	height: 200px;
}

@media (max-width: 640px) {
	.four-elems .life-card {
		width: 100%;
	}
}

.transport-offer-form {
	max-width: unset;
}

.request-form form {
	gap: 20px;
	display: grid;
}

.request-section h3 {
	color: var(--color-text-dark-green);
	font-weight: 500;
	font-size: 30px;
	text-transform: uppercase;
}

#requestForm.request-section h3 {
	color: var(--color-text-light-green);
}

.request-form .btn {
	max-width: 300px;
}

section.request-section .request-form .btn {
	max-width: unset;
}

.request-modal-form {
	width: 100%;
	max-width: 100%;
	padding: 0;
}

.request-modal-form form {
	display: grid;
	gap: 20px;
}

.request-modal-form .form-row {
	display: flex;
	justify-content: space-between;
	gap: 18px;
}

.request-modal .request-form {
	max-width: unset;
}

/* Стили для модального окна отправки резюме */
.request-modal {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1000;
	display: none;
	overflow-y: auto;
}

.request-modal {
	/* display: flex; */
	align-items: flex-start;
	justify-content: center;
}

.request-modal .floating-input {
	width: 100%;
}

.request-modal-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.7);
	z-index: -1;
}

.request-modal-content {
	background: #fff;
	margin: 100px auto;
	max-width: 1038px;
	width: 100%;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
	position: relative;
	padding: 60px 50px;
	overflow: hidden;
}

.request-modal-close {
	position: absolute;
	top: 20px;
	right: 20px;
	background: none;
	border: none;
	cursor: pointer;
	padding: 10px;
	transition: transform 0.3s;
}

.request-modal-close:hover {
	transform: scale(1.5);
}

.request-modal-form {
	width: 100%;
	max-width: 100%;
	padding: 0;
}

.request-modal-form .form-row {
	display: flex;
	gap: 10px;
	justify-content: space-between;
}

.request-modal-wrapper {
	padding: 0;

	flex-direction: column;
	background-color: white;
	gap: 0;
}

.request-modal-form .form-row {
	display: flex;
	justify-content: space-between;
	gap: 18px;
}

.request-modal h3 {
	font-size: 30px;
	font-weight: 500;
	color: var(--color-text-dark-green);
	text-transform: uppercase;
	margin-bottom: 50px;
}

.request-modal textarea {
	height: auto;
}

/* ----------------- Адаптив формы в модальном окне ----------------- */
@media (max-width: 768px) {
	.form-row {
		flex-direction: column;
		gap: 16px;
	}

	.checkbox-file {
		gap: 24px;
	}

	.checkbox-file .checkbox-group {
		gap: 12px;
	}

	.request-wrapper {
		padding: 32px 20px;
	}

	.request-modal-content {
		padding: 15px;
	}

}

@media (max-width: 576px) {
	.request-modal h2 {
		font-size: 24px;
		line-height: 30px;
		margin-bottom: 32px;
	}

	.request-modal-content {
		margin: 60px auto;
	}
}

.page-id-59 header {
	background-color: transparent;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1000;
	display: flex;
	align-items: center;
}

.page-id-59 .header-fixed.scrolled {
	transition: all 0.3s ease;
	background-color: white;
}

.page-id-59 .header-fixed.scrolled .menu-item,
.page-id-59 .header-fixed.scrolled .search svg path,
.page-id-59 .header-fixed.scrolled .language span,
.page-id-59 .header-fixed.scrolled .profile svg rect,
.page-id-59 .header-fixed.scrolled .profile svg path {
	stroke: #3d3d3d !important;
	color: #3d3d3d !important;
}

.page-id-59 .header-fixed .language svg path {
	fill: none !important;
	stroke: white !important;
}

.page-id-59 .header-fixed.scrolled .language svg path {
	stroke: #3d3d3d !important;
}

.page-id-59 .header-fixed.scrolled .logo svg g g path:not([fill="#81D98C"]) {
	fill: var(--color-dark-green);
}

.page-id-59 .header-fixed.scrolled .lang-select .code,
.page-id-59 .header-fixed.scrolled .lang-select .arrow {
	color: #3d3d3d;
}

.page-id-59 .header-fixed.scrolled .search.open {
	border: 1px solid var(--color-text-primary);
}

.page-id-59 .header-fixed.scrolled .search input {
	color: var(--color-text-primary);
}

.page-id-59 .header-fixed.scrolled .burger-menu span {
	background-color: var(--color-text-primary);
}

/* Стили для секции hero */

/* Структура героя с текстом и слайдером */
.hero-container {
	position: relative;
	height: 800px;
	overflow: hidden;
}

/* Контейнер для текста - позиционируем абсолютно поверх слайдера */
.hero-text-container,
.hero-container .container {
	position: relative;
	pointer-events: none;
	/* Пропускаем клики на слой слайдера */
}

/* Кнопка и ссылки должны быть кликабельными */
.hero-text-container button,
.hero-text-container a {
	pointer-events: auto;
}

/* Стили для текстовых блоков */
.hero-text {
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.5s ease, visibility 0.5s ease;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding-top: 200px;
	/* Фиксированное расстояние от верха */
}

.hero-text.active {
	opacity: 1;
	visibility: visible;
}

/* Слайдер (только фоновые изображения) */
.hero.swiper {
	height: 800px;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1;
}

.hero .swiper-pagination {
	position: absolute;
	bottom: 30px !important;
	text-align: center;
	z-index: 10;
}

.hero .swiper-pagination-bullet {
	width: 30px;
	height: 6px;
	border-radius: 3px;
	background: rgba(255, 255, 255, 0.5);
	opacity: 1;
	transition: width 0.3s ease;
}

.hero .swiper-pagination-bullet-active {
	width: 60px;
	background: #81d98c;
}

.hero.swiper .swiper-wrapper,
.hero.swiper .swiper-slide {
	height: 100%;
}

.hero.swiper .swiper-slide {
	background-position: bottom center;
	background-size: cover;
	position: relative;
}

.hero.swiper .swiper-slide::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.3);
	z-index: 1;
}

.hero {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
}

.hero .hero-text {
	max-width: 688px;
}

.hero-title {
	margin-bottom: 20px;
	max-width: 595px;
	font-size: 40px;
	font-weight: 700;
	line-height: 100%;
	text-transform: uppercase;
	color: var(--color-text-light-green);
}

.hero-subtitle {
	margin-bottom: 150px;
	font-size: 22px;
	font-weight: 500;
	line-height: 100%;
	color: var(--color-text-secondary);
	text-transform: uppercase;
}

.hero-text p {
	color: var(--color-text-secondary);
	margin-bottom: 50px;
	max-width: 650px;
	font-weight: 500;
}

.hero-container .container {
	position: relative;
	height: 100%;
	z-index: 10;
}

/* ================== EXPERTISE SECTION ================== */
.expertise-header {
	display: flex;
	align-items: start;
	justify-content: space-between;
	margin-bottom: 80px;
}

.expertise-header-left {
	margin-top: 5px;
}

.expertise-header-right {
	display: flex;
	flex-direction: column;
	gap: 15px;
	max-width: 566px;
}

.expertise-title {
	font-size: 30px;
	font-weight: 500;
	color: var(--color-text-dark-green);
	text-transform: uppercase;
}

.expertise-text {
	color: var(--color-text-primary);
}

.expertise-wrapper {
	display: flex;
	flex-direction: column;
	gap: 60px;
}

.expertise-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 20px;
}

.expertise-card {
	padding: 40px;
	min-height: 310px;
	width: 100%;
	color: var(--color-text-light-green);
	display: flex;
	flex-direction: column;
	gap: 12px;
	transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
	cursor: pointer;
}

@media (max-width: 1162px) { 
	.expertise-cards {
		grid-template-columns: repeat(2, minmax(260px, 1fr));
	}

	.card-title br{
		display: none;
	}

	.expertise-card {
		min-height: unset;
		height: unset;
	}

	.expertise-card .card-title br {
		display: none;
	}
}

@media (max-width: 768px) {
	.expertise-cards {
		grid-template-columns: repeat(1, minmax(260px, 1fr));
	}
}

.expertise-card:hover {
	transform: translateY(-7px) scale(1.03);
}

.card-number {
	font-size: 40px;
	font-weight: 600;
	color: var(--color-text-light-green);
}

.card-title {
	font-size: 20px;
	font-weight: 400;
	color: var(--color-text-light-green);
}

.card-desc {
	color: var(--color-text-secondary);
	font-size: 14px;
	font-weight: 300;
	max-width: 191px;
}

/* ================== SERVICES SECTION ================== */
.services-header {
	display: flex;
	align-items: start;
	justify-content: space-between;
	margin-bottom: 80px;
}

.services-header-left {
	margin-top: 5px;
}

.services-header-right {
	display: flex;
	flex-direction: column;
	gap: 15px;
	width: max-content;
}

.services-title {
	font-size: 26px;
	font-weight: 500;
	color: var(--color-text-dark-green);
	text-transform: uppercase;
}

.services-text {
	color: var(--color-text-primary);
	max-width: 553px;
}

.services-wrapper {
	display: flex;
	flex-direction: column;
	gap: 60px;
}

.services-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 20px;
}

.services-card {
	padding: 40px;
	height: 310px;
	width: 100%;
	color: var(--color-text-light-green);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding-bottom: 57px;
	transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
	cursor: pointer;
}

.services-card:hover {
	transform: translateY(-7px) scale(1.03);
	box-shadow: 0 12px 24px rgba(0, 0, 0, 0.13);
}

.services-card img {
	display: block;
	width: 54px;
	height: 40px;
}

.services-card .card-title {
	margin-bottom: 10px;
}

/* ================== BECOME OUR CUSTOMER SECTION ================== */
.become-our-customer {
	min-height: 338px;
	display: flex;
	align-items: center;
}

.become-our-customer-content {
	margin: 0 auto;
	width: max-content;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.become-our-customer-content h3 {
	font-size: 30px;
	font-weight: 500;
	color: var(--color-text-secondary);
	text-transform: uppercase;
	margin-bottom: 13px;
}

.become-our-customer-content p {
	color: var(--color-text-secondary);
	margin-bottom: 31px;
	max-width: 578px;
}

/* ================== NEWS SECTION ================== */
.news-section {
	margin-bottom: 70px;
}

.news-header {
	margin-bottom: 50px;
}

.page-id-59 .news-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 20px;
	margin-bottom: 60px;
}

.page-id-59 .news-card {
	color: #7f7f7f;
	display: flex;
	flex-direction: column;
	transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
	cursor: pointer;
}

.page-id-59 .news-card:hover {
	transform: translateY(-7px) scale(1.03);
}

.page-id-59 .news-card img {
	width: 100%;
	height: 230px;
	object-fit: cover;
	margin-bottom: 22px;
}

@media (max-width: 640px) {
	.page-id-59 .news-card {
		max-width: unset;
	}
}

.news-date {
	font-size: 12px;
	color: #7f7f7f;
	margin-bottom: 5px;
}

.news-title {
	color: var(--color-text-dark-green);
	margin-bottom: 5px;
}

.news-desc {
	font-size: 14px;
	color: #7f7f7f;
}

.news-button-wrapper {
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* ================== JOURNEY BANNER ================== */
.journey-banner {
	position: relative;
	background: url("../img/home/journey-home.png") no-repeat center
		center/cover;
	height: 840px;
	display: flex;
	align-items: end;
}

.journey-overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.2);
}

.journey-content {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	padding-left: 70px;
}

.journey-left {
	width: max-content;
	display: flex;
	flex-direction: column;
	gap: 15px;
	margin-bottom: 180px;
}

.journey-left .section-title {
	color: var(--color-text-secondary);
	margin-bottom: 54px;
}

.journey-title {
	font-size: 30px;
	color: var(--color-text-light-green);
	text-transform: uppercase;
}

.journey-text {
	max-width: 433px;
	color: var(--color-text-secondary);
}

.journey-right {
	width: 660px;
	height: 447px;
	background: url("../img/sign.svg") no-repeat center center/cover;
	display: flex;
	align-items: flex-end;
	justify-content: end;
	padding-bottom: 75px;
	padding-right: 78px;
	position: absolute;
	right: 0;
	bottom: 0;
}

.journey-slogan {
	color: var(--color-text-light-green);
	font-size: 30px;
	font-weight: 500;
	text-transform: uppercase;
	text-align: center;
	padding-left: 20px;
}


.quality-system-title {
    color: var(--color-text-dark-green) !important;
    font-weight: 500;
    font-size: 20px;
    line-height: 100%;
    letter-spacing: 0px;
    vertical-align: middle;
    text-transform: uppercase;
    margin-bottom: 32px;
}

.quality-goals {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 20px;
}

.quality-goal {
    position: relative;
    background: #ffffff;
    color: var(--color-text-primary);
    padding: 40px;
    width: 100%;
    min-height: 177px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.quality-goal::before {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 89px;
    height: 67px;
	z-index: 1;
    background: url('../img/icons/berg.svg') no-repeat bottom right / contain;
}

.quality-goal:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15);
}

.quality-goal-text {
    font-size: 14px;
    line-height: 150%;
	position: relative;
	z-index: 2;
}


/* ================== REQUEST FORM RESPONSIVE ================== */
@media (max-width: 1020px) {
	.request-wrapper {
		flex-direction: column;
		gap: 40px;
		padding: 30px;
		padding-left: 30px;
	}

	.request-info {
		margin-top: 0;
		max-width: 100%;
	}

	.request-heading {
		font-size: 32px;
		margin-bottom: 20px;
	}

	.request-subtitle {
		max-width: none;
	}

	.request-form {
		max-width: 100%;
		padding: 35px 40px;
	}
}

@media (max-width: 600px) {
	.request-wrapper {
		gap: 30px;
		padding: 20px;
	}

	.request-modal
	.request-wrapper {
		gap: 0;
	}

	.request-modal
	.request-wrapper form {
		padding: 0;
	}

	.request-form {
		padding: 0;
	}

	.request-form legend {
		font-size: 16px;
		margin-bottom: 6px;
	}

	.request-form select,
	.request-form input[type="text"],
	.request-form input[type="email"],
	.request-form textarea {
		padding: 14px;
		font-size: 14px;
	}

	.floating-input label {
		left: 16px;
		font-size: 16px;
	}

	.file-upload {
		width: 100%;
		justify-content: center;
	}
}

/* ================== GLOBAL PAGE RESPONSIVE (HOME) ================== */
@media (max-width: 1200px) {
	.journey-right {
		transform: scale(0.7);
		transform-origin: bottom right;
	}
}

@media (max-width: 1020px) {
	.become-our-customer-content {
		width: auto;
	}

	/* HERO */
	.hero {
		height: 650px;
		position: relative;
		margin-bottom: 50px;
	}

	.hero::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: rgba(0, 0, 0, 0.3);
		z-index: 1;
	}

	.hero > * {
		position: relative;
		z-index: 2;
	}

	.hero .hero-text {
		display: flex;
		flex-direction: column;
	}

	.about-wrapper {
		gap: 20px;
		flex-direction: column;
	}

	.about-content {
		display: flex;
		flex-direction: column;
		/* align-items: center; */
		margin-top: 24px;
	}

	.about-content p {
		max-width: 640px;
	}

	.about-content .btn {
		margin: 0 auto;
	}

	/* EXPERTISE & SERVICES headers */
	.expertise-header,
	.services-header {
		flex-direction: column;
		align-items: center;
		text-align: center;
		gap: 30px;
		margin-bottom: 40px;
	}

	.expertise-header-right,
	.services-header-right {
		max-width: 100%;
		align-items: center;
	}

	.expertise-section {
		margin-bottom: 60px;
	}

	.expertise-card {
		max-width: 100%;
		width: 100%;
		height: auto;
	}

	/* FROM VISION banner */
	.from-vision {
		height: 600px;
		margin-bottom: 56.5px;
	}

	.from-vision-text {
		width: auto;
	}

	.from-vision-text p {
		margin-bottom: 138px;
	}

	/* SERVICES cards */
	.services-cards {
		grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	}

	.services-wrapper {
		gap: 40px;
	}

	.services-card {
		width: 100%;
		max-width: 100%;
		height: auto;
		gap: 20px;
		padding: 40px !important;
	}

	.card-desc {
		max-width: 100%;
	}

	.card-title br {
		display: none;
	}

	/* BECOME CUSTOMER */
	.become-our-customer {
		height: auto;
		padding: 60px 20px;
		margin-bottom: 40px;
	}

	/* NEWS */
	.news-section {
		margin-bottom: 35px;
	}

	.news-header {
		text-align: center;
		margin-bottom: 25px;
	}

	.news-cards {
		grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
		margin-bottom: 30px;
	}

	/* JOURNEY */
	.journey-banner {
		height: 600px;
		align-items: start;
		margin-bottom: 60px;
	}

	.journey-content {
		flex-direction: column;
		align-items: center;
		padding: 0 20px;
		gap: 30px;
		height: 100%;
	}

	.journey-left {
		margin-top: 60px;
		margin-bottom: 0;
		width: auto;
	}

	.journey-right {
		height: 300px;
		aspect-ratio: 1;
		justify-content: end;
		background-position: bottom right;
		background-size: contain;
		padding-right: 0;
		transform: scale(1);
		padding-bottom: 0;
	}

	.journey-slogan {
		font-size: clamp(18px, 3vw, 24px);
		padding-bottom: 20px;
		padding-right: 20px;
	}
}

@media (max-width: 640px) {
	.hero-container, .hero.swiper {
		height: 688px;
	}
}

@media (max-width: 600px) {
	/* HERO */
	.hero {
		height: 550px;
		margin-bottom: 25px;
	}

	.hero h1 {
		font-size: 28px;
	}

	.hero h2 {
		font-size: 20px;
	}

	.hero p {
		max-width: none;
		margin-bottom: 25px;
	}

	/* EXPERTISE */
	.expertise-section {
		margin-bottom: 30px;
	}

	.expertise-cards {
		grid-template-columns: 1fr;
	}

	/* SERVICES */
	.services-cards {
		grid-template-columns: 1fr;
	}

	/* FROM VISION */
	.from-vision {
		height: 450px;
		margin-bottom: 28.25px;
	}

	.from-vision-text h3 {
		font-size: 28px;
	}

	.from-vision-text p {
		margin-bottom: 40px;
		font-size: 16px;
	}

	/* NEWS */
	.news-section {
		margin-bottom: 17.5px;
	}

	.news-cards {
		grid-template-columns: 1fr;
		margin-bottom: 15px;
	}

	.news-card {
		max-width: 100%;
	}

	.news-header {
		margin-bottom: 12.5px;
	}

	/* JOURNEY */
	.journey-banner {
		height: 500px;
		margin-bottom: 60px;
	}

	.journey-title {
		font-size: 24px;
	}

	.journey-left {
		margin-top: 30px;
	}

	.journey-left .section-title {
		margin-bottom: 30px;
	}

	.journey-right {
		height: 250px;
	}

	.footer-social {
		display: grid;
		grid-template-columns: repeat(3, minmax(40px, 1fr));
	}
}

@media (max-width: 400px) {
	.journey-right {
		height: 230px;
	}

	.journey-slogan {
		font-size: 16px;
	}
}

@media (max-width: 768px) {
    .quality-system-title {
        font-size: 20px;
    }

    .quality-goals{
        flex-direction: column;
        gap: 20px;
    }

    .quality-goal{
        width: 100%;
		padding: 24px 20px;
    }
}

#cookieadmin_notice_title {
	margin-bottom: 5px;
}

.cookieadmin_notice_group {
	flex-direction: column;
}

.cookieadmin_notice_con {
	max-height: 300px;
	overflow-y: auto;
}

.cookieadmin_notice_con::-webkit-scrollbar {
	width: 6px;
	background: #f1f1f1;
	border-radius: 6px;
}

.cookieadmin_notice_con::-webkit-scrollbar-thumb {
	background: #b6d7c9;
	border-radius: 6px;
}

.cookieadmin_law_container, .cookieadmin_box {
	width: 100%;
}

@media (max-width: 500px) {
	.cookieadmin_consent_inside .cookieadmin_btn {
		width: 100%;
		margin: 5px 0;
	}

	.cookieadmin_consent_btns {
		width: 100%;
	}
}