/* Redes Flotantes */
.rf-flotantes {
	position: fixed;
	z-index: 99990;
	display: flex;
	flex-direction: column;
	gap: var(--rf-gap, 10px);
	margin: 0;
	padding: 0;
}

.rf-flotantes.rf-right { right: var(--rf-side, 20px); align-items: flex-end; }
.rf-flotantes.rf-left  { left: var(--rf-side, 20px);  align-items: flex-start; }

.rf-flotantes.rf-v-bottom { bottom: var(--rf-bottom, 24px); }
.rf-flotantes.rf-v-center { top: 50%; transform: translateY(-50%); }

.rf-flotantes .rf-btn {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: var(--rf-size, 52px);
	height: var(--rf-size, 52px);
	color: #fff;
	text-decoration: none;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
	transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease;
	-webkit-tap-highlight-color: transparent;
}

.rf-flotantes .rf-btn svg {
	width: 52%;
	height: 52%;
	fill: currentColor;
	display: block;
}

.rf-flotantes .rf-btn:hover,
.rf-flotantes .rf-btn:focus-visible {
	transform: scale(1.1);
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.32);
	filter: brightness(1.05);
	color: #fff;
}

.rf-flotantes .rf-btn:focus-visible {
	outline: 3px solid rgba(255, 255, 255, 0.9);
	outline-offset: 2px;
}

/* Formas */
.rf-shape-circle  .rf-btn { border-radius: 50%; }
.rf-shape-rounded .rf-btn { border-radius: 14px; }
.rf-shape-square  .rf-btn { border-radius: 0; }

/* Colores originales */
.rf-style-brand .rf-whatsapp  { background: #25d366; }
.rf-style-brand .rf-facebook  { background: #1877f2; }
.rf-style-brand .rf-tiktok    { background: #000; }
.rf-style-brand .rf-instagram {
	background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285aeb 90%);
}

/* Un solo color */
.rf-style-single .rf-btn {
	background: var(--rf-bg, #111827);
	color: var(--rf-icon, #fff);
}
.rf-style-single .rf-btn:hover,
.rf-style-single .rf-btn:focus-visible {
	color: var(--rf-icon, #fff);
}

/* Etiqueta (nombre de la red) */
.rf-flotantes .rf-label {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	padding: 5px 10px;
	border-radius: 6px;
	background: rgba(17, 24, 39, 0.92);
	color: #fff;
	font: 500 13px/1.2 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	white-space: nowrap;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.15s ease;
}

.rf-right .rf-label { right: calc(100% + 10px); }
.rf-left  .rf-label { left: calc(100% + 10px); }

/* Sin tooltip: la etiqueta queda solo para lectores de pantalla */
.rf-flotantes:not(.rf-has-tooltip) .rf-label {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.rf-has-tooltip .rf-btn:hover .rf-label,
.rf-has-tooltip .rf-btn:focus-visible .rf-label {
	opacity: 1;
}

/* Móvil */
@media (max-width: 768px) {
	.rf-flotantes.rf-hide-mobile { display: none; }
	.rf-flotantes .rf-label { display: none; }
}

@media (prefers-reduced-motion: reduce) {
	.rf-flotantes .rf-btn,
	.rf-flotantes .rf-label { transition: none; }
	.rf-flotantes .rf-btn:hover,
	.rf-flotantes .rf-btn:focus-visible { transform: none; }
}
