/* CrazySneak — Lightbox styles */
.cs-lightbox {
	padding: 0;
	border: 0;
	background: transparent;
	max-width: 100vw;
	max-height: 100vh;
	width: 100vw;
	height: 100vh;
	margin: 0;
}
.cs-lightbox::backdrop {
	background: rgba(26, 20, 18, 0.92);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
}
.cs-lightbox[open] {
	display: flex;
	align-items: center;
	justify-content: center;
}
.cs-lightbox__img {
	max-width: min(96vw, 1600px);
	max-height: 90vh;
	width: auto;
	height: auto;
	object-fit: contain;
	border-radius: 4px;
	box-shadow: 0 8px 40px rgba(0, 0, 0, 0.4);
	opacity: 0;
	transition: opacity 200ms ease;
}
.cs-lightbox__img.is-loaded { opacity: 1; }
.cs-lightbox__close,
.cs-lightbox__nav {
	position: absolute;
	width: 44px;
	height: 44px;
	border: 0;
	background: rgba(255, 255, 255, 0.1);
	-webkit-tap-highlight-color: transparent;
	-webkit-appearance: none;
	appearance: none;
	background-image: none;
	box-shadow: none;
	color: #fff;
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 160ms;
	z-index: 2;
}
.cs-lightbox__close:hover,
.cs-lightbox__nav:hover {
	background: rgba(255, 255, 255, 0.2);
}
.cs-lightbox__close {
	top: 16px;
	right: 16px;
}
.cs-lightbox__nav--prev { left: 16px; top: 50%; transform: translateY(-50%); }
.cs-lightbox__nav--next { right: 16px; top: 50%; transform: translateY(-50%); }
.cs-lightbox__spinner {
	width: 36px;
	height: 36px;
	border: 3px solid rgba(255, 255, 255, 0.2);
	border-top-color: #fff;
	border-radius: 50%;
	animation: cs-lightbox-spin 800ms linear infinite;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
@keyframes cs-lightbox-spin {
	to { transform: translate(-50%, -50%) rotate(360deg); }
}
/* Mobile tap hint cursor (zoom-in injected via JS, fallback) */
img.is-cs-lightbox { cursor: zoom-in; }
img.is-cs-lightbox:focus-visible {
	outline: 2px solid var(--csn-accent, #B58B5B);
	outline-offset: 2px;
}
/* Hide nav buttons on very narrow viewports — swipe handles navigation */
@media (max-width: 480px) {
	.cs-lightbox__nav { width: 40px; height: 40px; opacity: 0.6; }
	.cs-lightbox__close { top: 12px; right: 12px; }
}

/* Override Astra/browser default focus/active styles on lightbox buttons
   (was rendering as solid blue background on tap). */
.cs-lightbox__close,
.cs-lightbox__nav,
.cs-lightbox__close:focus,
.cs-lightbox__nav:focus,
.cs-lightbox__close:active,
.cs-lightbox__nav:active {
	background-color: rgba(255, 255, 255, 0.1);
	background-image: none;
	box-shadow: none;
	outline: none;
}
.cs-lightbox__close:hover,
.cs-lightbox__nav:hover,
.cs-lightbox__close:active,
.cs-lightbox__nav:active {
	background-color: rgba(255, 255, 255, 0.2);
}
.cs-lightbox__close:focus-visible,
.cs-lightbox__nav:focus-visible {
	outline: 2px solid var(--csn-accent, #B58B5B);
	outline-offset: 2px;
}