/* === FOOTER === */
:root {
	--eco-page-shell: min(1320px, calc(100vw - 120px));
}

.site-footer {
	margin: 8px;
}

.footer-main {
	background: #004735;
	border-radius: 20px;
	color: #fff;
	margin: 0 auto;
	max-width: none;
	padding: clamp(44px, 4.8vw, 72px) clamp(20px, 4.8vw, 52px) 42px;
	width: var(--eco-page-shell);
}

.footer-grid,
.prefooter-inner,
.footer-bottom {
	max-width: 1320px;
	margin: 0 auto;
}

.footer-grid {
	display: grid;
	grid-template-columns: minmax(250px, 360px) minmax(260px, 1fr) minmax(260px, 1fr);
	column-gap: clamp(36px, 8vw, 130px);
	row-gap: 42px;
	align-items: start;
}

.footer-about {
	max-width: 330px;
}

.footer-logo {
	margin-bottom: 20px;
}

.footer-logo img {
	display: block;
	width: 174px;
	height: auto;
}

.footer-about p {
	color: rgba(255, 255, 255, 0.72);
	font-family: 'Closer Text', sans-serif;
	font-size: 15px;
	font-weight: 400;
	letter-spacing: -0.01em;
	line-height: 1.28;
	margin: 0;
}

.footer-logo-text,
.footer-desc {
	color: rgba(255, 255, 255, 0.72);
	font-family: 'Closer Text', sans-serif;
	line-height: 1.35;
}

.footer-col h4 {
	color: #fff;
	font-family: 'Closer Text', sans-serif;
	font-size: 18px;
	font-weight: 500;
	letter-spacing: -0.01em;
	line-height: 1.3;
	margin: 2px 0 18px;
}

.footer-contact {
	margin-top: 43px;
}

.footer-menu ul,
.footer-contact ul,
.footer-contact-list ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.footer-menu li,
.footer-contact li,
.footer-contact-list li {
	border-bottom: 1px solid rgba(255, 255, 255, 0.11);
	margin: 0;
}

.footer-menu li a,
.footer-contact li a,
.footer-contact-list li a {
	align-items: center;
	color: rgba(255, 255, 255, 0.84);
	display: flex;
	font-family: 'Closer Text', sans-serif;
	font-size: 15px;
	font-weight: 400;
	justify-content: space-between;
	letter-spacing: -0.01em;
	line-height: 1.3;
	min-height: 40px;
	padding: 10px 0;
	text-decoration: none;
	transition: color 0.2s ease;
}

.footer-menu li a::after,
.footer-contact li a::after {
	content: "\2197";
	display: inline-flex;
	font-size: 18px;
	line-height: 1;
	margin-left: 18px;
	opacity: 0.8;
	transform: translateY(-1px);
}

.footer-menu li a:hover,
.footer-contact li a:hover,
.footer-contact-list li a:hover {
	color: #fff;
}

.prefooter {
	background: transparent;
	border-top: 0;
	color: #fff;
	margin: clamp(56px, 7vw, 78px) auto 0;
	max-width: none;
	padding: 0;
}

.prefooter-title {
	color: #fff;
	font-family: 'Closer Text', sans-serif;
	font-size: 20px;
	font-weight: 500;
	letter-spacing: -0.01em;
	line-height: 1.3;
	margin: 0 0 26px;
}

.prefooter-actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

.btn-donate,
.btn-outline {
	align-items: center;
	border-radius: 20px;
	display: inline-flex;
	font-family: 'Closer Text', sans-serif;
	font-size: 16px;
	font-weight: 500;
	justify-content: center;
	letter-spacing: -0.01em;
	line-height: 1.2;
	min-height: 80px;
	padding: 20px 28px;
	text-align: center;
	text-decoration: none;
	transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
	width: 100%;
}

.btn-donate {
	background: #CFE2E0;
	border: 1px solid #CFE2E0;
	color: #004735;
}

.btn-donate:hover {
	background: #fff;
	border-color: #fff;
	color: #004735;
}

.btn-outline {
	background: transparent;
	border: 1px solid rgba(255, 255, 255, 0.9);
	color: #fff;
}

.btn-outline:hover {
	background: #fff;
	border-color: #fff;
	color: #013026;
}

.footer-bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.11);
	margin-top: 40px;
	padding-top: 38px;
}

.footer-bottom-inner {
	align-items: center;
	display: flex;
	gap: 24px;
	justify-content: space-between;
}

.footer-legal ul,
.footer-legal #menu-bottom-links,
.footer-legal #menu-bottom-links-en {
	display: flex;
	flex-wrap: wrap;
	gap: 22px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.footer-legal a,
.footer-copy {
	color: rgba(255, 255, 255, 0.5);
	font-family: 'Closer Text', sans-serif;
	font-size: 13px;
	font-weight: 400;
	letter-spacing: -0.01em;
	line-height: 1.3;
	text-decoration: none;
}

.footer-legal a:hover {
	color: #fff;
}

.footer-copy {
	text-align: right;
}

@media (max-width: 1180px) {
	.footer-grid {
		grid-template-columns: minmax(240px, 0.9fr) minmax(220px, 1fr) minmax(220px, 1fr);
		column-gap: 42px;
	}
}

@media (max-width: 900px) {
	.site-footer {
		margin: 4px;
	}

	.footer-main {
		padding: 40px 20px 28px;
	}

	.footer-grid {
		grid-template-columns: 1fr;
		gap: 34px;
	}

	.footer-about {
		max-width: 520px;
	}

	.footer-contact {
		margin-top: -16px;
	}

	.prefooter {
		margin-top: 42px;
	}

	.prefooter-actions {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.btn-donate,
	.btn-outline {
		border-radius: 16px;
		min-height: 64px;
		padding: 18px 20px;
	}

	.footer-bottom {
		margin-top: 34px;
		padding-top: 28px;
	}

	.footer-bottom-inner,
	.footer-legal ul,
	.footer-legal #menu-bottom-links,
	.footer-legal #menu-bottom-links-en {
		align-items: flex-start;
		flex-direction: column;
		gap: 12px;
	}

	.footer-copy {
		text-align: left;
	}
}

@media (max-width: 520px) {
	.footer-main {
		border-radius: 18px;
		padding: 32px 16px 24px;
	}

	.footer-logo img {
		width: 160px;
	}

	.footer-about p,
	.footer-menu li a,
	.footer-contact li a,
	.footer-contact-list li a {
		font-size: 14px;
	}

	.prefooter-title {
		font-size: 18px;
		margin-bottom: 18px;
	}
}

/* === CONTACT SECTION === */
.contact-section {
	position: relative;
	box-sizing: border-box;
	max-width: none;
	margin: 0 auto 8px;
	padding: clamp(48px, 4.2vw, 64px) clamp(28px, 3.6vw, 52px) clamp(28px, 3.6vw, 52px);
	width: var(--eco-page-shell);
	background-color: #5f96d8;
	background-image: url("../images/contact-prefooter-bg.png");
	background-position: center;
	border-radius: 20px;
	background-size: cover;
	background-repeat: no-repeat;

	@media (max-width: 768px) {
		padding: 36px 16px 16px;
		background-position: center;
	}

	&::after {
		content: "";
		position: absolute;
		inset: 0;
		background: linear-gradient(180deg, rgba(1, 48, 38, 0.08) 0%, rgba(1, 48, 38, 0.16) 100%);
		z-index: 0;
		pointer-events: none;
		border-radius: 20px;
	}

	.contact-header {
		font-family: 'Closer Text', sans-serif;
		font-weight: 500;
		font-size: clamp(34px, 3.4vw, 54px);
		line-height: 100%;
		letter-spacing: 0;
		padding-bottom: 0;
		margin: 0 auto clamp(28px, 3vw, 42px);
		color: #FFFFFF;
		max-width: 1320px;
		z-index: 1;
		position: relative;

		@media (max-width: 768px) {
			margin: 0 auto 20px;
			font-size: 32px;
		}
	}
}

.contact-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(20px, 2vw, 28px);
	max-width: 1320px;
	margin: 0 auto;
	z-index: 2;
	position: relative;
	align-items: stretch;
}

.contact-section + .footer-main {
	margin-top: 0;
}

/* Карточки */
.contact-card {
	position: relative;
	border-radius: 20px;
	overflow: hidden;
	min-width: 0;
}

.contact-address {
	background: #e1eee6;
	position: relative;
	background: url('data:image/svg+xml,<svg width="650" height="645" viewBox="0 0 650 645" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.253707 94.3454C11.2413 75.8004 34.5181 61.1688 69.9298 50.6132C105.176 40.2317 147.196 34.9597 196.022 34.9597C266.989 34.9597 327.762 44.4935 378.519 63.0384C429.596 81.5834 474.858 110.847 514.628 150.329C556.813 196.952 590.768 252.251 615.987 316.235C631.111 354.718 642.264 400.622 649.986 439.814V20C649.986 8.95431 641.032 0 629.986 0H20C8.95431 0 0 8.9543 0 20V94.8564L0.253707 94.3454Z" fill="%23CFE2E0"/><path d="M645.898 589.247C634.094 508.924 583.657 485.954 562.807 477.28C522.884 460.605 464.846 465.029 451.597 465.029C438.348 465.029 311.605 469.964 288.968 468.606C231.262 465.029 184.057 446.484 153.025 425.21C68.4781 367.357 36.7952 282.61 23.5461 239.563C10.1316 196.516 2.53083 155.164 0.269332 115.519C0.159015 113.731 0.081815 111.908 0.015625 110.073V625C0.015625 636.046 8.96993 645 20.0156 645H632.789C642.296 645 650.002 637.294 650.002 627.788C648.976 613.644 647.619 600.801 645.909 589.247H645.898Z" fill="%23CFE2E0"/></svg>');
	min-height: clamp(520px, 39vw, 620px);
	background-repeat: no-repeat;
	background-size: 100% 100%;
	background-position: center top;
}

.contact-address .contact-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 20px;
}

/* Поверх картинки */
.contact-info {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	box-sizing: border-box;
	padding: 0 clamp(36px, 3.8vw, 58px) clamp(34px, 3.2vw, 46px);
	display: flex;
	gap: 24px;
	justify-content: space-between;
	align-items: flex-end;

	@media (max-width: 768px) {
		width: 100%;
		padding: 0 30px 20px 20px;
		gap: 20px;
		flex-direction: column;
		flex-wrap: wrap;
		align-content: flex-start;
		align-items: flex-start;
	}
}
.contact-info h4 {
	font-family: 'Closer Text', sans-serif;
	font-weight: 500;
	font-size: clamp(24px, 1.45vw, 30px);
	line-height: 110%;
	letter-spacing: 0;
	margin: 0 0 16px;
	color: #013026;

		@media (max-width: 768px) {
			font-size: 24px;
			letter-spacing: -0.01em;
		}
}
.contact-info p {
	font-family: 'Closer Text', sans-serif;
	font-weight: 400;
	font-size: clamp(15px, 0.95vw, 18px);
	line-height: 130%;
	letter-spacing: 0;
	color: #004735;
	margin: 0;

		@media (max-width: 768px) {
			font-size: 16px;
		}
}

.contact-info p,
.contact-info p * {
	font-family: 'Closer Text', sans-serif !important;
}

.contact-org {
	font-weight: 500;
	margin-bottom: 4px;
}

.content-info > :not(:last-child) {
	margin-bottom: 8px;
}

.content-info br {
	display: block;
	content: "";
	margin-bottom: 2px;
}
.contact-socials {
	display: flex;
	gap: 10px;
	align-items: center;
	flex: 0 0 auto;
}
.contact-socials a {
	background-color: #004735;
	border-radius: 100px;
	flex: 0 0 46px;
	margin: 0;
	padding: 0;
	width: 46px;
	height: 46px;
	display: flex;
	align-items: center;
	justify-content: center;
	transform-origin: center;
	transition: transform 0.15s ease;

	&:hover {
		transform: scale(1.087);

		svg {
			path {
				fill: #FFFFFF;
			}
		}
	}
}

.contact-socials img {
	width: 22px;
	height: 22px;
}

/* Правая карточка */
.contact-email {
	background: #004735;
	padding: clamp(44px, 5vw, 76px);
	display: flex;
	align-items: stretch;
	justify-content: stretch;
	position: relative;
	border-radius: 20px;
	min-height: clamp(520px, 39vw, 620px);
}
.email-overlay {
	position: absolute;
	inset: 0;
	overflow: hidden;
	pointer-events: none;
}
.big-g {
	font-family: 'Closer Text', sans-serif;
}
.email-overlay svg {
	position: absolute;
	right: -18%;
	bottom: -16%;
	width: min(118%, 760px);
	height: auto;
	max-width: none;
}
.email-content {
	position: relative;
	z-index: 2;
	text-align: left;
	height: 100%;
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 40px;
}
.email-content p {
	font-family: 'Closer Text', sans-serif;
	font-weight: 500;
	font-size: clamp(30px, 2.2vw, 44px);
	line-height: 110%;
	letter-spacing: 0;
	color: #FFFFFF;
	max-width: 16ch;
	margin: 0;

		@media (max-width: 768px) {
			font-size: 28px;
			letter-spacing: -0.01em;
			max-width: 100%;
		}
}
.email-link {
	font-family: 'Closer Text', sans-serif;
	font-weight: 500;
	font-size: clamp(24px, 1.55vw, 32px);
	line-height: 110%;
	letter-spacing: 0;
	color: #FFFFFF;
	text-decoration: none;
	overflow-wrap: anywhere;

	@media (max-width: 768px) {
		font-size: 21px;
		letter-spacing: -0.01em;
		text-decoration: underline;
		word-break: break-all;
	}

	@media (max-width: 480px) {
		font-size: 16px;
	}

	&:hover {
		text-decoration: underline;
	}
}

/* === Адаптив === */
@media (max-width: 768px) {
	.contact-grid {
		display: flex;
		flex-direction: column-reverse;
		gap: 16px;
	}
	.contact-email {
		padding: 28px 24px;
		min-height: 420px;
		align-items: unset;
		justify-content: unset;
	}
	.contact-address {
		background: #cfe2e0;
		min-height: auto;
		padding: 0;
		background-repeat: no-repeat;
		background-size: cover;
	}

	.contact-address .contact-info {
		position: static;
		width: 100%;
		padding: 30px 24px 28px;
		gap: 22px;
		flex-direction: column;
		align-items: flex-start;
	}

	.contact-address .content-info {
		max-width: 100%;
	}

	.contact-address .contact-info h4 {
		font-size: 28px;
		margin-bottom: 14px;
	}

	.contact-address .contact-info p {
		font-size: 17px;
		line-height: 1.35;
	}

	.contact-address .contact-socials {
		flex-wrap: wrap;
		gap: 12px;
		margin-top: 2px;
	}

	.email-overlay {
		svg {
			right: -24%;
			bottom: -8%;
			width: min(112%, 440px);
			height: auto;
		}
	}

	.email-content {
		height: unset;
		width: 100%;
	}
}


@media (max-width: 480px) { 
	.contact-email {
		padding: 26px;
	}
}

#menu-footer-menu {
	list-style: none;
    margin: 0;
    padding: 0;
}
