.rrc-button {
	position: fixed;
	bottom: calc(var(--rrc-bottom, 24px) + env(safe-area-inset-bottom));
	z-index: var(--rrc-z, 99999);
	width: var(--rrc-size, 60px);
	height: var(--rrc-size, 60px);
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--rrc-color, #25D366);
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.22);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	text-decoration: none;
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.rrc-button.rrc-right { right: var(--rrc-side, 24px); }
.rrc-button.rrc-left { left: var(--rrc-side, 24px); }

.rrc-button img {
	width: 58%;
	height: 58%;
	object-fit: contain;
	pointer-events: none;
}

.rrc-button.rrc-plain {
	background: transparent;
	box-shadow: none;
	border-radius: 0;
}

.rrc-button.rrc-plain img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.rrc-button:hover,
.rrc-button:focus-visible {
	transform: translateY(-2px) scale(1.04);
	box-shadow: 0 10px 22px rgba(0, 0, 0, 0.28);
	outline: 2px solid #128C7E;
	outline-offset: 3px;
}

.rrc-button[hidden] { display: none !important; }
.rrc-button.is-busy { opacity: 0.7; pointer-events: none; }

@media (max-width: 782px) {
	.rrc-button.rrc-desktop-only { display: none !important; }
}

@media (min-width: 783px) {
	.rrc-button.rrc-mobile-only { display: none !important; }
}
