/* =========================================================================
   SPIVMIR — куки-баннер (информационное уведомление внизу экрана).
   Классы: .cookie-banner и её элементы.
   Разметка — template-parts/cookie-banner.php, поведение — assets/js/cookie-banner.js.
   Брейкпоинты темы: 1199 / 1023 / 767.
   ========================================================================= */

.cookie-banner {
	position: fixed;
	right: 0;
	bottom: 0;
	left: 0;
	/* Выше кнопки «наверх» (z-index 50, footer.css §4) и ниже шапки с мегаменю
	   (z-index 300, header.css): баннер стоит внизу и с меню не пересекается. */
	z-index: 200;
	padding: 14px 0;
	border-top: 3px solid var(--c-green);
	background: var(--c-white);
	box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.18);
}

.cookie-banner[hidden] {
	display: none;
}

.cookie-banner__inner {
	display: flex;
	align-items: center;
	gap: 20px;
}

.cookie-banner__text {
	margin: 0;
	font-size: 1.3rem;
	line-height: 1.5;
	color: var(--c-text);
}

/* Ссылки в баннере всегда подчёркнуты: текст мелкий, и опознавать ссылку
   только по цвету нельзя (WCAG 1.4.1). Зелёный на белом даёт 4,03:1 —
   для 13 px этого мало, поэтому берём тёмный вариант, 5,92:1. */
.cookie-banner__text a {
	color: var(--c-green-darker);
	text-decoration: underline;
}

.cookie-banner__text a:hover,
.cookie-banner__text a:focus {
	color: var(--c-green-darker);
}

/* Кнопка не сжимается и не переносится: она короткая, а текст длинный. */
.cookie-banner__accept {
	flex: 0 0 auto;
}

/* --- Адаптив -------------------------------------------------------------- */

@media (max-width: 767px) {
	.cookie-banner {
		padding: 12px 0;
		/* Очень длинный текст на узком экране не должен занимать его целиком. */
		max-height: 60vh;
		overflow-y: auto;
	}

	.cookie-banner__inner {
		flex-direction: column;
		align-items: stretch;
		gap: 12px;
	}

	.cookie-banner__accept {
		align-self: flex-start;
	}
}

/* --- Соседи --------------------------------------------------------------- */

/*
 * Полоса баннера накрыта поверх страницы, поэтому под ней надо зарезервировать
 * место — иначе конец документа (а это как раз строка юридических ссылок,
 * реквизиты и дисклеймер подвала) уходит под полосу: домотать ниже нечего,
 * и ссылки не только не видны, но и не нажимаются.
 *
 * Высоту полосы измеряет assets/js/cookie-banner.js и кладёт в
 * --spivmir-cookie-h. Пока баннера нет, он скрыт или JS выключен (там баннер
 * не липкий и место занимает сам), переменная равна 0 — раскладка не меняется.
 */
body {
	padding-bottom: var(--spivmir-cookie-h, 0px);
}

/* Якоря тоже не должны приземляться под полосу. */
html {
	scroll-padding-bottom: var(--spivmir-cookie-h, 0px);
}

/*
 * Кнопка «наверх» (footer.css §4) стоит в правом нижнем углу и ушла бы под
 * полосу баннера — сдвигаем её той же переменной.
 *
 * Правила живут здесь, а не в footer.css и base.css: они нужны только из-за
 * баннера, уберут баннер — уйдут вместе с ним.
 */
.back-top {
	bottom: calc(20px + var(--spivmir-cookie-h, 0px));
}

@media (max-width: 767px) {
	.back-top {
		bottom: calc(12px + var(--spivmir-cookie-h, 0px));
	}
}

/* --- Печать --------------------------------------------------------------- */

@media print {
	.cookie-banner {
		display: none !important;
	}
}
