/* Floating Back Button - Mobile Only */
.floating-back-button {
	position: fixed;
	bottom: 30px;
	left: 30px;
	width: 2.1em;
	height: 2.1em;
	line-height: 2.1;
	border-radius: 2px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	z-index: 9999;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	transition: all 0.3s ease;
	opacity: 0;
	visibility: hidden;
	transform: translateY(20px);
	outline: none;
	pointer-events: auto;
}

.floating-back-button:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
}

.floating-back-button:active {
	transform: translateY(0);
}

.floating-back-button:focus {
	outline: none;
}

.floating-back-button.show {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.floating-back-button .arrow-icon {
	width: 17px;
	height: 17px;

	/* Standard mask property for modern browsers */

	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 19l-7-7 7-7'/%3E%3C/svg%3E") no-repeat center;
	mask-size: contain;
	background-color: #fff;
}

/* Hide on desktop */
@media screen and (min-width: 768px) {

	.floating-back-button {
		display: none;
	}
}

/* Ensure button is visible on mobile */
@media screen and (max-width: 767px) {

	.floating-back-button {
		display: flex;
	}
}

/* High contrast mode support */
@media (prefers-contrast: high) {

	.floating-back-button {
		border-width: 3px;
		box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
	}
}
