/* Szkoła – Boczne Loga */
.sbl-bar {
	position: fixed;
	right: 0;
	top: var(--sbl-top, 200px);
	z-index: 9990;
	display: flex;
	align-items: flex-start;
	pointer-events: none;
}

.sbl-items {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: var(--sbl-gap, 12px);
}

.sbl-bar .sbl-item {
	display: block;
	box-sizing: border-box;
	width: var(--sbl-w, 90px);
	padding: 8px;
	background: var(--sbl-bg, #fff);
	border-radius: 8px 0 0 8px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, .18);
	line-height: 0;
	pointer-events: auto;
	transition: transform .2s ease, box-shadow .2s ease;
}

.sbl-bar a.sbl-item:hover,
.sbl-bar a.sbl-item:focus-visible {
	transform: translateX(-4px);
	box-shadow: 0 4px 16px rgba(0, 0, 0, .25);
}

.sbl-bar a.sbl-item:focus-visible,
.sbl-toggle:focus-visible {
	outline: 3px solid #1d4ed8;
	outline-offset: 2px;
}

.sbl-bar .sbl-img {
	display: block;
	width: 100%;
	height: auto;
	max-width: 100%;
}

/* Układ: obok siebie – oba loga na jednym panelu */
.sbl-l-row .sbl-items {
	flex-direction: row;
	align-items: center;
	padding: 8px;
	background: var(--sbl-bg, #fff);
	border-radius: 8px 0 0 8px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, .18);
	pointer-events: auto;
}
.sbl-l-row .sbl-item {
	padding: 0;
	background: transparent;
	border-radius: 0;
	box-shadow: none;
}
.sbl-l-row a.sbl-item:hover,
.sbl-l-row a.sbl-item:focus-visible {
	transform: translateY(-2px);
	box-shadow: none;
}

/* Przycisk zwijania – tylko na telefonie */
.sbl-toggle {
	display: none;
}

/* ---------------- TELEFON ---------------- */
@media (max-width: 767px) {
	.sbl-m-hide {
		display: none !important;
	}

	/* Z boku */
	.sbl-m-side {
		top: var(--sbl-top-m, 120px);
	}
	.sbl-m-side .sbl-items {
		gap: 8px;
		transition: transform .25s ease;
	}
	.sbl-m-side .sbl-item {
		width: var(--sbl-w-m, 56px);
		padding: 5px;
	}
	.sbl-m-side.sbl-l-row .sbl-items {
		padding: 5px;
	}
	.sbl-m-side.sbl-l-row .sbl-item {
		padding: 0;
	}
	.sbl-has-toggle .sbl-toggle {
		display: flex;
		align-items: center;
		justify-content: center;
		pointer-events: auto;
		width: 22px;
		height: 44px;
		margin: 0;
		padding: 0;
		border: 0;
		border-radius: 6px 0 0 6px;
		background: var(--sbl-bg, #fff);
		color: #333;
		font-size: 22px;
		line-height: 1;
		box-shadow: 0 2px 8px rgba(0, 0, 0, .18);
		cursor: pointer;
		position: relative;
		z-index: 1;
	}
	.sbl-has-toggle .sbl-toggle span {
		transition: transform .25s ease;
	}
	.sbl-m-side.sbl-collapsed .sbl-items {
		transform: translateX(calc(100% + 4px));
		visibility: hidden;
		transition: transform .25s ease, visibility 0s .25s;
	}
	.sbl-m-side.sbl-collapsed .sbl-toggle span {
		transform: rotate(180deg);
	}
	/* Gdy zwinięte – strzałka przyklejona do krawędzi */
	.sbl-m-side.sbl-collapsed {
		width: 22px;
	}

	/* Pasek na dole */
	.sbl-m-bottom {
		top: auto;
		bottom: 0;
		right: 0;
		left: 0;
		justify-content: center;
		padding-bottom: env(safe-area-inset-bottom, 0);
	}
	.sbl-m-bottom .sbl-items {
		flex-direction: row;
		align-items: center;
		justify-content: center;
		gap: 10px;
		padding: 6px 12px;
		background: var(--sbl-bg, #fff);
		border-radius: 10px 10px 0 0;
		box-shadow: 0 -2px 10px rgba(0, 0, 0, .15);
		pointer-events: auto;
	}
	.sbl-m-bottom .sbl-item {
		width: var(--sbl-w-m, 56px);
		padding: 0;
		box-shadow: none;
		border-radius: 0;
		background: transparent;
	}
	.sbl-m-bottom a.sbl-item:hover,
	.sbl-m-bottom a.sbl-item:focus-visible {
		transform: none;
		box-shadow: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.sbl-bar .sbl-item,
	.sbl-items,
	.sbl-toggle span {
		transition: none !important;
	}
}
