/* =============================================================================
   EDGE ICONS
   ============================================================================= */

.edge-icons {
	position: fixed;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	z-index: 9990;
	display: flex;
	flex-direction: column;
	gap: 10px;
	align-items: flex-end;
}

.edge-icons svg rect,
.edge-icons svg path {
	stroke: #FFF;
}

.edge-icons__item {
	display: flex;
	flex-direction: row-reverse;
	align-items: center;
	background: #3B93C9;
	color: #FFF;
	text-decoration: none;
	border-radius: 0;
	overflow: hidden;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.25);

	transition:
		background-color 0.25s ease;
}

.edge-icons__icon {
	flex: 0 0 auto;
	width: 50px;
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.edge-icons__icon svg,
.edge-icons__icon img {
	width: 24px;
	height: 24px;
}

.edge-icons__item--support .edge-icons__icon img {
	object-fit: contain;
}

.edge-icons__label {
	max-width: 0;
	opacity: 0;
	color: #FFF !important;
	white-space: nowrap;
	overflow: hidden;
	font-size: 14px;
	font-weight: 600;
	padding-left: 0;
	padding-right: 0;

	transition:
		max-width 0.35s ease,
		opacity 0.25s ease,
		padding-left 0.35s ease,
		padding-right 0.35s ease;
}


/* =============================================================================
   DESKTOP / ECHTES HOVER
   ============================================================================= */

@media (hover: hover) and (pointer: fine) {

	.edge-icons__item:hover {
		background: #3B93C9;
	}

	.edge-icons__item:hover .edge-icons__label {
		max-width: 220px;
		opacity: 1;
		padding-left: 14px;
		padding-right: 16px;
	}

}


/* =============================================================================
   TOUCH / MOBILE
   Öffnen ausschließlich über .is-open per JS
   ============================================================================= */

@media (hover: none), (pointer: coarse) {

	.edge-icons__item.is-open {
		background: #3B93C9;
	}

	.edge-icons__item.is-open .edge-icons__label {
		max-width: 220px;
		opacity: 1;
		padding-left: 14px;
		padding-right: 16px;
	}

}


/* =============================================================================
   MOBILE
   ============================================================================= */

@media (max-width: 480px) {

	.edge-icons {
		gap: 8px;
	}

	.edge-icons__icon {
		width: 44px;
		height: 44px;
	}

	.edge-icons__icon svg,
	.edge-icons__icon img {
		width: 20px;
		height: 20px;
	}

	.edge-icons__label {
		font-size: 13px;
	}

	.edge-icons__item.is-open .edge-icons__label {
		max-width: 200px;
		padding-left: 12px;
		padding-right: 14px;
	}

}


/* =============================================================================
   REDUCED MOTION
   ============================================================================= */

@media (prefers-reduced-motion: reduce) {

	.edge-icons__item,
	.edge-icons__label {
		transition: none;
	}

}