/* RU Cookie Consent — стили баннера. Цвета и размеры задаются CSS-переменными из настроек. */
.rcc-root {
	--rcc-bg: #fff; --rcc-text: #1f2328; --rcc-link: #0b57d0; --rcc-border: #e5e7eb;
	--rcc-accept-bg: #1f2328; --rcc-accept-text: #fff; --rcc-decline-bg: #f1f3f5; --rcc-decline-text: #1f2328;
	--rcc-max-width: 420px; --rcc-offset: 20px; --rcc-padding: 20px; --rcc-radius: 14px; --rcc-btn-radius: 10px;
	--rcc-font-size: 14px; --rcc-border-width: 1px; --rcc-shadow: 0 10px 30px rgba(0,0,0,.12);
	--rcc-overlay: rgba(0,0,0,.4); --rcc-overlay-blur: 2px; --rcc-z: 99999;
}

.rcc[hidden], .rcc-manage[hidden] { display: none !important; }

.rcc, .rcc *, .rcc *::before, .rcc *::after { box-sizing: border-box; }

.rcc {
	position: fixed;
	z-index: var(--rcc-z);
	font-family: var(--rcc-font, inherit);
	font-size: var(--rcc-font-size);
	line-height: 1.5;
	color: var(--rcc-text);
	text-align: left;
}

.rcc__box {
	position: relative;
	background: var(--rcc-bg);
	color: var(--rcc-text);
	border: var(--rcc-border-width) solid var(--rcc-border);
	border-radius: var(--rcc-radius);
	box-shadow: var(--rcc-shadow);
	padding: var(--rcc-padding);
}

.rcc__title { font-weight: 600; font-size: 1.15em; margin: 0 0 .4em; color: inherit; }
.rcc__text { margin: 0; color: inherit; }
.rcc__text p { margin: 0 0 .5em; }
.rcc__text p:last-child { margin-bottom: 0; }
.rcc__text a { color: var(--rcc-link); text-decoration: underline; text-underline-offset: 2px; }
.rcc__text a:hover { text-decoration-thickness: 2px; }

.rcc__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.rcc--btns-stack .rcc__actions { flex-direction: column; }
.rcc--decline-first .rcc__btn--decline { order: -1; }

.rcc .rcc__btn {
	flex: 1 1 auto;
	margin: 0;
	min-width: 120px;
	min-height: 0;
	width: auto;
	padding: .75em 1.4em;
	font: inherit;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: normal;
	text-transform: none;
	text-align: center;
	border: 1.5px solid transparent;
	border-radius: var(--rcc-btn-radius);
	cursor: pointer;
	box-shadow: none;
	transition: filter .15s ease, background-color .15s ease, transform .1s ease;
}
.rcc .rcc__btn:hover { filter: brightness(.92); }
.rcc .rcc__btn:active { transform: scale(.98); }
.rcc .rcc__btn:focus-visible { outline: 2px solid var(--rcc-link); outline-offset: 2px; }

/* Стиль кнопок: залитые */
.rcc .rcc__btn--accept { background: var(--rcc-accept-bg); color: var(--rcc-accept-text); border-color: var(--rcc-accept-bg); }
.rcc .rcc__btn--decline { background: var(--rcc-decline-bg); color: var(--rcc-decline-text); border-color: var(--rcc-decline-bg); }

/* Контурные */
.rcc--btn-outline .rcc__btn--accept { background: transparent; color: var(--rcc-accept-bg); border-color: var(--rcc-accept-bg); }
.rcc--btn-outline .rcc__btn--decline,
.rcc--btn-mixed .rcc__btn--decline { background: transparent; color: var(--rcc-decline-text); border-color: var(--rcc-border); }
.rcc--btn-outline .rcc__btn:hover,
.rcc--btn-mixed .rcc__btn--decline:hover { filter: none; background: var(--rcc-decline-bg); }

/* ===== Расположение ===== */

/* Карточки */
.rcc--card-left, .rcc--card-right, .rcc--card-center {
	bottom: var(--rcc-offset);
	width: min(var(--rcc-max-width), calc(100% - 2 * var(--rcc-offset)));
}
.rcc--card-left { left: var(--rcc-offset); }
.rcc--card-right { right: var(--rcc-offset); }
.rcc--card-center { left: 50%; transform: translateX(-50%); }

/* Полоса снизу / сверху */
.rcc--bar-bottom, .rcc--bar-top { left: 0; right: 0; }
.rcc--bar-bottom { bottom: 0; }
.rcc--bar-top { top: 0; }
.rcc--bar-bottom .rcc__box, .rcc--bar-top .rcc__box {
	border-radius: 0;
	border-left: 0; border-right: 0;
	display: flex; align-items: center; gap: 12px 28px;
	padding-left: max(var(--rcc-padding), calc((100% - var(--rcc-bar-width, 1200px)) / 2));
	padding-right: max(var(--rcc-padding), calc((100% - var(--rcc-bar-width, 1200px)) / 2));
}
.rcc--bar-bottom .rcc__box { border-bottom: 0; }
.rcc--bar-top .rcc__box { border-top: 0; }
.rcc--bar-bottom .rcc__title, .rcc--bar-top .rcc__title { display: none; }
.rcc--bar-bottom .rcc__text, .rcc--bar-top .rcc__text { flex: 1 1 auto; }
.rcc--bar-bottom .rcc__actions, .rcc--bar-top .rcc__actions { margin-top: 0; flex: 0 0 auto; flex-wrap: nowrap; }
.rcc--bar-bottom.rcc--btns-stack .rcc__actions, .rcc--bar-top.rcc--btns-stack .rcc__actions { flex-wrap: nowrap; }

/* Модальное окно */
.rcc--modal {
	inset: 0;
	display: flex; align-items: center; justify-content: center;
	padding: var(--rcc-offset);
}
.rcc--modal .rcc__overlay {
	position: absolute; inset: 0;
	background: var(--rcc-overlay);
	-webkit-backdrop-filter: blur(var(--rcc-overlay-blur));
	backdrop-filter: blur(var(--rcc-overlay-blur));
}
.rcc--modal .rcc__box { width: 100%; max-width: var(--rcc-max-width); max-height: calc(100vh - 2 * var(--rcc-offset)); overflow: auto; }
html.rcc-lock, html.rcc-lock body { overflow: hidden !important; }

/* ===== Анимации ===== */
.rcc--anim-fade .rcc__box, .rcc--anim-slide .rcc__box, .rcc__overlay { transition: opacity .3s ease, transform .35s cubic-bezier(.2,.8,.2,1); }
.rcc--anim-fade .rcc__box, .rcc--anim-slide .rcc__box, .rcc--anim-fade .rcc__overlay, .rcc--anim-slide .rcc__overlay { opacity: 0; }
.rcc--anim-slide .rcc__box { transform: translateY(18px); }
.rcc--anim-slide.rcc--bar-top .rcc__box { transform: translateY(-18px); }
.rcc--anim-slide.rcc--modal .rcc__box { transform: translateY(12px) scale(.98); }
.rcc.rcc--visible .rcc__box, .rcc.rcc--visible .rcc__overlay { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
	.rcc .rcc__box, .rcc .rcc__overlay { transition: none !important; }
}

/* ===== Кнопка «Настройки cookie» ===== */
.rcc-manage {
	position: fixed; bottom: 16px; z-index: calc(var(--rcc-z) - 1);
	width: 44px; height: 44px; padding: 0; margin: 0;
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--rcc-bg); color: var(--rcc-text);
	border: var(--rcc-border-width) solid var(--rcc-border); border-radius: 50%;
	box-shadow: var(--rcc-shadow); cursor: pointer; opacity: .85;
	transition: opacity .15s ease, transform .15s ease;
}
.rcc-manage:hover { opacity: 1; transform: scale(1.06); }
.rcc-manage--left { left: 16px; }
.rcc-manage--right { right: 16px; }

/* ===== Мобильные ===== */
@media (max-width: 640px) {
	.rcc--card-left, .rcc--card-right, .rcc--card-center {
		left: 10px; right: 10px; bottom: 10px; width: auto; transform: none;
	}
	.rcc--bar-bottom .rcc__box, .rcc--bar-top .rcc__box { flex-direction: column; align-items: stretch; }
	.rcc--bar-bottom .rcc__actions, .rcc--bar-top .rcc__actions { flex-wrap: wrap; }
	.rcc .rcc__btn { min-width: 0; }
}
