/* ==========================================================================
   LIGHTBOX — Full-screen image viewer
   BlushTheme v1.0.0
   ========================================================================== */

.lightbox {
	position: fixed;
	inset: 0;
	z-index: 10000;
	background-color: var(--color-overlay);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
	transition:
		opacity var(--duration-medium) var(--ease-out),
		visibility var(--duration-medium) var(--ease-out);
	cursor: zoom-out;
}

.lightbox.is-open {
	opacity: 1;
	visibility: visible;
}

/* Image container */
.lightbox__image-wrap {
	max-width: 90vw;
	max-height: 90vh;
	position: relative;
}

.lightbox__image {
	max-width: 90vw;
	max-height: 90vh;
	object-fit: contain;
	transform: scale(0.9);
	transition: transform var(--duration-medium) var(--ease-out);
}

.lightbox.is-open .lightbox__image {
	transform: scale(1);
}

/* Close button */
.lightbox__close {
	position: absolute;
	top: var(--space-lg);
	right: var(--space-lg);
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--color-text-primary);
	font-size: 1.5rem;
	z-index: 10001;
	transition: color var(--duration-fast) var(--ease-out);
}

.lightbox__close:hover {
	color: var(--color-accent);
}

.lightbox__close::before {
	content: '\00D7';
	font-size: 2rem;
	line-height: 1;
}

/* Navigation arrows */
.lightbox__nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--color-text-primary);
	font-size: 1.5rem;
	z-index: 10001;
	transition:
		color var(--duration-fast) var(--ease-out),
		transform var(--duration-fast) var(--ease-out);
	cursor: pointer;
}

.lightbox__nav:hover {
	color: var(--color-accent);
}

.lightbox__nav--prev {
	left: var(--space-lg);
}

.lightbox__nav--prev:hover {
	transform: translateY(-50%) translateX(-4px);
}

.lightbox__nav--next {
	right: var(--space-lg);
}

.lightbox__nav--next:hover {
	transform: translateY(-50%) translateX(4px);
}

/* Counter */
.lightbox__counter {
	position: absolute;
	bottom: var(--space-lg);
	left: 50%;
	transform: translateX(-50%);
	font-family: var(--font-body);
	font-size: var(--text-sm);
	color: var(--color-text-secondary);
	letter-spacing: 0.1em;
}
