.pswp {
	position: fixed;
	inset: 0;
	z-index: 10000;
	display: none;
}

.pswp.is-open {
	display: block;
}

.pswp,
.pswp * {
	box-sizing: border-box;
}

.pswp__bg {
	position: absolute;
	inset: 0;
	background: rgba(4, 9, 18, 0.94);
	backdrop-filter: blur(10px);
}

.pswp__scroll-wrap {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: 32px 88px 96px;
}

.pswp__container {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	touch-action: none;
}

.pswp__img {
	display: block;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	border-radius: 18px;
	box-shadow: 0 36px 80px rgba(0, 0, 0, 0.42);
}

.pswp__top-bar,
.pswp__caption {
	position: absolute;
	left: 0;
	right: 0;
	display: flex;
	justify-content: center;
	pointer-events: none;
}

.pswp__top-bar {
	top: 24px;
}

.pswp__caption {
	bottom: 28px;
	padding: 0 24px;
}

.pswp__counter,
.pswp__caption__center {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 10px 16px;
	border-radius: 999px;
	background: rgba(8, 16, 30, 0.72);
	color: #f8fbff;
	font-size: 14px;
	line-height: 1.6;
}

.pswp__caption__center:empty {
	display: none;
}

.pswp__button {
	position: absolute;
	top: 50%;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	margin-top: -26px;
	border: 0;
	border-radius: 999px;
	background: rgba(8, 16, 30, 0.72);
	color: #f8fbff;
	font-size: 26px;
	line-height: 1;
	cursor: pointer;
	transition: background 0.2s ease, transform 0.2s ease, opacity 0.2s ease;
}

.pswp__button:hover,
.pswp__button:focus-visible {
	background: rgba(249, 115, 22, 0.88);
	transform: scale(1.04);
}

.pswp__button[disabled] {
	opacity: 0.38;
	cursor: default;
	transform: none;
}

.pswp__button--close {
	top: 24px;
	right: 24px;
	margin-top: 0;
	font-size: 24px;
}

.pswp__button--prev {
	left: 24px;
}

.pswp__button--next {
	right: 24px;
}

body.pswp-open {
	overflow: hidden;
}

@media (max-width: 820px) {
	.pswp__scroll-wrap {
		padding: 24px 18px 88px;
	}

	.pswp__button {
		width: 46px;
		height: 46px;
		margin-top: -23px;
		font-size: 22px;
	}

	.pswp__button--close {
		top: 16px;
		right: 16px;
		margin-top: 0;
	}

	.pswp__button--prev {
		left: 12px;
	}

	.pswp__button--next {
		right: 12px;
	}

	.pswp__counter,
	.pswp__caption__center {
		min-height: 36px;
		font-size: 13px;
	}
}
