/**
 * Sticky-виджеты (template-parts/sticky-widgets.php).
 * Кнопка «наверх» и виджет консультанта - правый нижний угол.
 * Мобильная липкая панель «Позвонить / MAX» - только до 768px,
 * z-index 90: выше баннера cookie (80), баннер ее не перекрывает.
 */

.reb-sticky {
	position: fixed;
	right: 24px;
	bottom: 24px;
	z-index: 70;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 12px;
}

/* Виджет консультанта. */
.reb-consult {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 13px 16px;
	background: #fff;
	border: 1px solid var(--reb-border);
	box-shadow: 0 8px 24px rgba(11, 58, 38, 0.18);
	color: var(--reb-text);
	transition: transform 0.2s, box-shadow 0.2s;
}

.reb-consult:hover {
	color: var(--reb-text);
	transform: translateY(-2px);
	box-shadow: 0 12px 28px rgba(11, 58, 38, 0.24);
}

.reb-consult__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 38px;
	width: 38px;
	height: 38px;
	border-radius: 999px;
	background: var(--reb-accent);
	color: #fff;
	font-size: 18px;
	font-weight: 800;
}

.reb-consult__body {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.reb-consult__title {
	font-size: 13px;
	font-weight: 700;
}

.reb-consult__note {
	font-size: 12px;
	color: var(--reb-text-faint);
}

/* Кнопка «наверх». */
.reb-to-top {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	font-size: 20px;
	background: var(--reb-text);
	border: 0;
	border-radius: 999px;
	color: #fff;
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity 0.25s, transform 0.25s, visibility 0.25s, background 0.2s;
}

.reb-to-top:hover {
	background: var(--reb-accent);
}

.reb-to-top--visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

/* Мобильная липкая панель «Позвонить / MAX» - только до 768px. */
.reb-mobile-bar {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 90;
	display: none;
	gap: 1px;
	background: var(--reb-text);
}

.reb-mobile-bar__btn {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 56px;
	font-size: 15px;
	font-weight: 800;
	color: #fff;
	background: var(--reb-accent);
}

.reb-mobile-bar__btn--call:hover {
	background: var(--reb-accent-dark);
	color: #fff;
}

.reb-mobile-bar__btn--max {
	background: #5F2EEA;
}

.reb-mobile-bar__btn--max:hover {
	background: #4B22C4;
	color: #fff;
}

.reb-mobile-bar__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border-radius: 999px;
	background: #fff;
	color: #5F2EEA;
	font-size: 10px;
	font-weight: 800;
}

@media (max-width: 768px) {
	.reb-mobile-bar {
		display: flex;
	}

	/* Панель занимает низ экрана - виджеты поднимаем над ней. */
	.reb-sticky {
		right: 16px;
		bottom: 68px;
	}

	/* Виджет консультанта сворачивается в иконку. */
	.reb-consult {
		padding: 0;
		border: 0;
		border-radius: 999px;
		box-shadow: 0 8px 24px rgba(11, 58, 38, 0.24);
	}

	.reb-consult__body {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
	}

	.reb-consult__icon {
		flex-basis: 46px;
		width: 46px;
		height: 46px;
	}
}
