/* === Плавающий виджет чата ====================================== */
.sm-chat {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 9997;
	font-family: inherit;
}
.sm-chat-toggle {
	width: 60px; height: 60px;
	border-radius: 50%;
	border: none;
	background: #25d366;
	color: #fff;
	cursor: pointer;
	box-shadow: 0 6px 20px rgba(37, 211, 102, .45);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: transform .2s ease, background .2s ease;
	position: relative;
	z-index: 2;
}
.sm-chat-toggle:hover { transform: scale(1.07); }
.sm-chat-toggle .sm-ic-close { display: none; }
.sm-chat[data-state="open"] .sm-chat-toggle { background: var(--sm-text, #1c2530); }
.sm-chat[data-state="open"] .sm-ic-bubble { display: none; }
.sm-chat[data-state="open"] .sm-ic-close  { display: block; }

/* Пульсация чтобы привлечь внимание */
.sm-chat[data-state="closed"] .sm-chat-toggle::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 50%;
	background: #25d366;
	opacity: .5;
	animation: sm-pulse 2.2s ease-out infinite;
	z-index: -1;
}
@keyframes sm-pulse {
	0%   { transform: scale(1);   opacity: .5; }
	100% { transform: scale(1.7); opacity: 0; }
}

.sm-chat-menu {
	position: absolute;
	right: 0;
	bottom: 76px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	opacity: 0;
	transform: translateY(8px);
	pointer-events: none;
	transition: opacity .2s ease, transform .2s ease;
}
.sm-chat[data-state="open"] .sm-chat-menu {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}
.sm-chat-item {
	display: flex;
	align-items: center;
	gap: 10px;
	background: #fff;
	color: var(--sm-text, #1c2530);
	padding: 10px 16px 10px 12px;
	border-radius: 30px;
	text-decoration: none;
	font-weight: 600;
	box-shadow: 0 4px 14px rgba(20, 40, 70, .12);
	min-width: 165px;
	transition: transform .12s ease;
}
.sm-chat-item:hover { transform: translateX(-4px); }
.sm-chat-icon {
	width: 32px; height: 32px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	flex: 0 0 32px;
}
.sm-chat-tg  .sm-chat-icon { background: #2aa7e0; }
.sm-chat-wa  .sm-chat-icon { background: #25d366; }
.sm-chat-max .sm-chat-icon { color: #6e3df5; background: transparent; }
.sm-chat-tel .sm-chat-icon { background: var(--sm-blue, #0a6cb4); }

/* === Мобильная нижняя плашка =================================== */
.sm-mobile-bar {
	display: none;
	position: fixed;
	left: 0; right: 0; bottom: 0;
	z-index: 9996;
	background: #fff;
	box-shadow: 0 -2px 14px rgba(20, 40, 70, .12);
	padding: 8px 10px;
	gap: 8px;
}
.sm-mb-btn {
	flex: 1 1 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 12px;
	border-radius: 8px;
	text-decoration: none;
	font-weight: 700;
	font-size: 15px;
	min-height: 44px;
}
.sm-mb-call { background: var(--sm-blue, #0a6cb4); color: #fff; }
.sm-mb-cta  { background: var(--sm-accent, #ff6b00); color: #fff; }

@media (max-width: 768px) {
	.sm-mobile-bar { display: flex; }
	.sm-chat { bottom: 80px; right: 14px; }
	.sm-chat-toggle { width: 52px; height: 52px; }
	.sm-chat-item { min-width: 150px; }
	body { padding-bottom: 64px !important; } /* отступ под нижнюю плашку */
}
