/* ============================================
   БАЗОВЫЕ СТИЛИ И ПЕРЕМЕННЫЕ ДЛЯ ФУТЕРА
   ============================================ */

:root {
	--footer-bg: #ffffff;
	--footer-text: #111111;
	--footer-link: #111111;
	--footer-link-hover: #1a73e8;
	--footer-border: rgba(0, 0, 0, 0.06);
}

html.dark {
	--footer-bg: #1a1a1a;
	--footer-text: #ffffff;
	--footer-link: #ffffff;
	--footer-link-hover: #1a73e8;
	--footer-border: rgba(255, 255, 255, 0.1);
}

/* Базовые стили футера */
.footer {
	width: 100%;
	background: var(--footer-bg);
	color: var(--footer-text);
	border-top: 1px solid var(--footer-border);
	transition: background-color 150ms, color 150ms, border-color 150ms;
	padding: 2rem 0;
}

/* Фиксированный футер */
.footer--fixed {
	position: fixed;
	bottom: 0;
	left: 0;
	z-index: 1000;
	min-height: 80px;
	height: auto;
}

/* Отступ для body, чтобы контент не перекрывался фиксированным футером */
body:has(.footer--fixed) {

}

@media (max-width: 767px) {
	body:has(.footer--fixed) {

	}
}

.footer__container {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 24px;
	width: 100%;
}

.footer__copyright {
	margin: 0;
	font-size: 0.875rem;
	color: var(--footer-text);
}

.footer__bodytext {
	margin: 1rem 0;
	color: var(--footer-text);
}

.footer__bodytext p {
	margin: 0.5rem 0;
    max-width: 450px;
}

.footer__nav {
	margin: 0;
}

.footer__content {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	align-items: center;
}

.footer__content--copyright-links {
	flex-direction: column;
}

.footer__content--links-copyright {
	flex-direction: column-reverse;
}

@media (min-width: 768px) {
	.footer__content--copyright-links {
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
	}
	
	.footer__content--links-copyright {
		flex-direction: row-reverse;
		justify-content: space-between;
		align-items: center;
	}
}

.footer__nav-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	align-items: center;
}

.footer__nav-item {
	margin: 0;
}

.footer__link {
	text-decoration: none;
	color: var(--footer-link);
	transition: color 150ms, background-color 180ms;
	font-size: 0.875rem;
}

.footer__link:hover {
	color: var(--footer-link-hover);
}

.footer__link--button {
	padding: 0.5rem 1rem;
	border-radius: 4px;
	display: inline-block;
	transition: opacity 150ms;
}

.footer__link--button:hover {
	opacity: 0.9;
}

.footer__icon {
	font-size: 1.25rem;
	display: inline-block;
}

/* Кнопки с кастомными стилями */
.footer .btn--custom {
	padding: 0.5rem 1rem;
	border: none;
	cursor: pointer;
	text-decoration: none;
	display: inline-block;
	font-size: 0.875rem;
	transition: opacity 150ms;
}

.footer .btn--custom:hover {
	opacity: 0.9;
}

/* Темная тема */
html.dark .footer {
	background-color: var(--footer-bg);
	color: var(--footer-text);
	border-top-color: var(--footer-border);
}

html.dark .footer__copyright,
html.dark .footer__link {
	color: var(--footer-text);
}

html.dark .footer__link:hover {
	color: var(--footer-link-hover);
}

/* Мобильные стили */
@media (max-width: 767px) {
	.footer {
		padding: 1.5rem 0;
	}
	
	.footer__container {
		padding: 0 16px;
	}
	
	.footer__nav-list {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.75rem;
	}
}
