.zoom-frame{ position:relative; display:inline-flex; max-width:100%; min-width:0; cursor:zoom-in; }

.zoom-btn{
	position:absolute;
	bottom:8px;
	right:8px;
	width:32px;
	height:32px;
	border-radius:50%;
	background:rgba(4,18,31,0.72);
	color:#fff;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:13px;
	text-decoration:none;
	transition:background .15s ease, transform .15s ease;
}
.zoom-btn:hover{ background:#C1541E; transform:scale(1.06); }
.zoom-btn:focus-visible{ outline:2px solid #D7E94A; outline-offset:2px; }

.zoom-lightbox{
	display:none;
	position:fixed;
	inset:0;
	z-index:1000;
	background:rgba(2,10,20,0.92);
	align-items:center;
	justify-content:center;
	padding:32px;
	cursor:zoom-out;
}
.zoom-lightbox.is-open{ display:flex; animation:zoomLightboxIn .16s ease-out both; }
@keyframes zoomLightboxIn{ from{ opacity:0; } to{ opacity:1; } }
.zoom-lightbox__img{
	max-width:92vw;
	max-height:88vh;
	width:auto;
	height:auto;
	object-fit:contain;
	border-radius:4px;
	box-shadow:0 30px 80px rgba(0,0,0,0.55);
	cursor:default;
}
.zoom-lightbox__close{
	position:absolute;
	top:20px;
	right:24px;
	width:40px;
	height:40px;
	border-radius:50%;
	border:0;
	background:rgba(255,255,255,0.12);
	color:#fff;
	font-size:22px;
	line-height:1;
	cursor:pointer;
	display:flex;
	align-items:center;
	justify-content:center;
}
.zoom-lightbox__close:hover{ background:rgba(255,255,255,0.22); }
.zoom-lightbox__close:focus-visible{ outline:2px solid #D7E94A; outline-offset:2px; }
@media (prefers-reduced-motion:reduce){
	.zoom-lightbox.is-open{ animation:none; }
}
