/* GewiNet Kontakt-Icons – Farben wie Header-Icons (#0a4270) und Akzent-Grün (#4bac55), ohne abgerundete Ecken */

/* Rechter Bildschirmrand */
.gnk-float {
	position: fixed;
	top: 50%;
	right: 0;
	z-index: 9990;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 1px;
	transform: translateY(-50%);
	transition: transform .35s cubic-bezier(.2, .7, .2, 1), opacity .25s ease, visibility 0s linear 0s;
}
.gnk-float .gnk-btn {
	display: flex;
	flex-direction: row-reverse;
	align-items: center;
	height: 48px;
	background: #0a4270;
	color: #fff;
	text-decoration: none;
	box-shadow: 0 4px 18px -6px rgba(10, 66, 112, .45);
	transition: background-color .2s ease;
}
.gnk-float .gnk-ico {
	display: flex;
	flex: 0 0 48px;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
}
.gnk-float .gnk-ico svg { display: block; }
.gnk-float .gnk-label {
	max-width: 0;
	overflow: hidden;
	padding: 0;
	font-size: 15px;
	line-height: 48px;
	white-space: nowrap;
	transition: max-width .35s cubic-bezier(.2, .7, .2, 1), padding .35s cubic-bezier(.2, .7, .2, 1);
}
.gnk-float .gnk-btn:hover,
.gnk-float .gnk-btn:focus-visible { background: #4bac55; color: #fff; }
.gnk-float .gnk-btn:focus-visible { outline: 2px solid #fff; outline-offset: -4px; }
@media (hover: hover) {
	.gnk-float .gnk-btn:hover .gnk-label,
	.gnk-float .gnk-btn:focus-visible .gnk-label { max-width: 340px; padding-left: 18px; }
}

/* ausgeblendet, solange die Sticky-Leiste die Icons zeigt */
body.gnk-stuck .gnk-float {
	visibility: hidden;
	opacity: 0;
	transform: translate(100%, -50%);
	transition: transform .35s cubic-bezier(.2, .7, .2, 1), opacity .25s ease, visibility 0s linear .35s;
}

/* Smartphone: unten rechts (auf Höhe des Barrierefreiheits-Buttons), etwas kleiner, ohne ausfahrende Beschriftung */
@media (max-width: 767px) {
	.gnk-float { top: auto; bottom: 16px; transform: none; }
	body.gnk-stuck .gnk-float { transform: translateX(100%); }
	.gnk-float .gnk-btn,
	.gnk-float .gnk-ico { height: 44px; }
	.gnk-float .gnk-ico { flex-basis: 44px; width: 44px; }
	.gnk-float .gnk-ico svg { width: 20px; height: 20px; }
}

/* Sticky-Menüleiste */
.gnk-sticky,
.gnk-sticky[hidden] { display: none; }
.is-stuck .gnk-sticky {
	display: flex;
	align-items: center;
	align-self: center;
	gap: 2px;
	margin-right: 14px;
	padding-right: 14px;
	border-right: 1px solid rgba(10, 66, 112, .15);
}
.gnk-sticky .gnk-sbtn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	color: #0a4270;
	text-decoration: none;
	transition: color .2s ease, background-color .2s ease;
}
.gnk-sticky .gnk-sbtn:hover,
.gnk-sticky .gnk-sbtn:focus-visible { background: rgba(75, 172, 85, .12); color: #4bac55; }
.gnk-sticky .gnk-sbtn:focus-visible { outline: 2px solid #4bac55; outline-offset: -2px; }
.gnk-sticky .gnk-ico svg { display: block; }

@media (prefers-reduced-motion: reduce) {
	.gnk-float, .gnk-float *, .gnk-sticky * { transition: none !important; }
}
@media print {
	.gnk-float, .gnk-sticky { display: none !important; }
}
