/* Share — menú desplegable (consumidores: gallery toolbar, etc.) */

.fnc-share {
	position: relative;
	display: inline-flex;
	align-items: stretch;
}

.fnc-share--gallery {
	flex-shrink: 0;
}

.fnc-share__trigger {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.45rem;
	border: 0;
	background: transparent;
	color: inherit;
	cursor: pointer;
	font: inherit;
	line-height: 1;
}

.fnc-share__trigger:not(.fnc-gallery__control-btn) {
	padding: 0.45rem 0.75rem;
	border-radius: var(--fnc-radius-sm, 10px);
	background: rgba(0, 0, 0, 0.22);
	border: 1px solid var(--fnc-border, rgba(255, 255, 255, 0.09));
	color: var(--fnc-text, #f2f2f7);
}

.fnc-share__trigger:not(.fnc-gallery__control-btn):hover,
.fnc-share__trigger:not(.fnc-gallery__control-btn):focus-visible {
	border-color: rgba(134, 239, 172, 0.35);
	outline: none;
}

.fnc-share__menu {
	position: absolute;
	top: calc(100% + 0.45rem);
	right: 0;
	z-index: 40;
	min-width: 11.5rem;
	padding: 0.35rem;
	margin: 0;
	list-style: none;
	border-radius: var(--fnc-radius-sm, 10px);
	background: var(--fnc-surface-elevated, #1c1c22);
	border: 1px solid var(--fnc-border, rgba(255, 255, 255, 0.12));
	box-shadow: 0 14px 36px rgba(0, 0, 0, 0.38);
}

.fnc-share__menu[hidden] {
	display: none !important;
}

.fnc-share.is-open .fnc-share__menu {
	display: block;
}

.fnc-share__menu-item {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	width: 100%;
	padding: 0.55rem 0.7rem;
	border: 0;
	border-radius: 8px;
	background: transparent;
	color: var(--fnc-text, #f2f2f7);
	font-size: 0.92rem;
	font-weight: 600;
	text-align: left;
	text-decoration: none;
	cursor: pointer;
	line-height: 1.35;
}

.fnc-share button.fnc-share__menu-item {
	appearance: none;
	-webkit-appearance: none;
	flex: 0 0 auto;
	margin: 0;
	min-height: 0 !important;
	padding: 0.55rem 0.7rem !important;
	border: 0 !important;
	border-radius: 8px !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--fnc-text, #f2f2f7) !important;
	font-size: 0.92rem !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
}

.fnc-share .fnc-share__menu a.fnc-share__menu-item {
	display: flex !important;
	align-items: center;
	gap: 0.65rem;
	width: 100%;
	padding: 0.55rem 0.7rem !important;
	color: var(--fnc-text, #f2f2f7) !important;
	text-decoration: none !important;
	font-size: 0.92rem;
	font-weight: 600;
	line-height: 1.35;
}

.fnc-share .fnc-share__menu .fnc-share__menu-label {
	color: inherit !important;
	font: inherit;
	white-space: nowrap;
}

.fnc-share__menu-item:hover,
.fnc-share__menu-item:focus-visible,
.fnc-share button.fnc-share__menu-item:hover,
.fnc-share button.fnc-share__menu-item:focus-visible {
	background: rgba(255, 255, 255, 0.06) !important;
	outline: none;
	filter: none !important;
	transform: none !important;
	box-shadow: none !important;
}

.fnc-share__menu-separator {
	height: 1px;
	margin: 0.3rem 0.45rem;
	border: 0;
	background: rgba(255, 255, 255, 0.1);
}

.fnc-share__menu-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.15rem;
	flex: 0 0 auto;
	line-height: 1;
}

.fnc-share__menu-icon i {
	display: block;
	font-size: 1rem;
	line-height: 1;
}

.fnc-share__menu-icon--copy i {
	color: rgba(226, 232, 240, 0.92);
}

.fnc-share__menu-icon--whatsapp i {
	color: #25d366;
}

.fnc-share__menu-icon--twitter i {
	color: #e7e9ea;
}

.fnc-share__menu-icon--facebook i {
	color: #1877f2;
}

.fnc-share__menu-icon--telegram i {
	color: #26a5e4;
}

.fnc-share__toast {
	position: fixed;
	left: 50%;
	bottom: 1.5rem;
	transform: translateX(-50%) translateY(0.75rem);
	z-index: 9999;
	padding: 0.65rem 1rem;
	border-radius: 999px;
	background: rgba(20, 20, 24, 0.94);
	border: 1px solid rgba(134, 239, 172, 0.35);
	color: #f2f2f7;
	font-size: 0.9rem;
	font-weight: 600;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.fnc-share__toast.is-visible {
	opacity: 1;
	transform: translateX(-50%) translateY(0);
}

.fnc-gallery button.fnc-gallery__control-btn--share .fnc-gallery__control-btn-icon {
	color: #86efac;
	filter: drop-shadow(0 0 7px rgba(134, 239, 172, 0.35));
}

@media (max-width: 768px) {
	/* En móvil el menú se ancla al viewport (no al disparador): así nunca se sale
	   de pantalla aunque el botón de compartir esté pegado al borde derecho. */
	.fnc-share__menu {
		position: fixed;
		left: 50%;
		right: auto;
		top: auto;
		bottom: 1.25rem;
		transform: translateX(-50%);
		min-width: 0;
		width: min(22rem, calc(100vw - 1.5rem));
		max-width: calc(100vw - 1.5rem);
		z-index: 9999;
	}
}
