/*
----------------------------------------------------
Motherlode Archive Viewer
Version 1.0
Created: July 2026

Universal archive viewer for:
• Motherlode
• Camp Provincetown
• Route 1 Project
• Boston 400
• SONO
• David Bieber Archives

Author:
Charles White / ChatGPT
----------------------------------------------------
*/

.ml-gallery {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 15px;
    margin: 30px 0;
}

.ml-gallery img {
    width: 260px;
    max-width: 100%;
    height: 260px;
    flex: 0 1 260px;
    object-fit: cover;
    object-position: center;
    display: block;
    border-radius: 6px;
    cursor: pointer;
    transition: transform .2s ease;
}

.ml-gallery img:hover {
    transform: scale(1.03);
}
.ml-viewer {
	position: fixed;
	inset: 0;
	background: rgba(0,0,0,.96);

	display:flex;
	align-items:center;
	justify-content:center;

	opacity:0;
	animation: mlFadeIn .25s ease forwards;

	z-index:10000;
	cursor:pointer;
}

.ml-viewer img {
	max-width: 90%;
	max-height: 90%;
	object-fit: contain;
}
@keyframes mlFadeIn {

	from {
		opacity:0;
	}

	to {
		opacity:1;
	}

}
.ml-next,
.ml-previous {

	position: absolute;
	top: 50%;
	transform: translateY(-50%);

	background: rgba(255,255,255,.15);
	color: white;

	border: none;
	border-radius: 50%;

	width: 56px;
	height: 56px;

	font-size: 36px;
	line-height: 1;

	cursor: pointer;

	transition: background .2s ease;

}

.ml-next {

	right: 30px;

}

.ml-previous {

	left: 30px;

}

.ml-next:hover,
.ml-previous:hover {

	background: rgba(255,255,255,.30);

}
.ml-counter {

	position: absolute;
	top: 30px;
	left: 50%;
	transform: translateX(-50%);

	color: rgba(255,255,255,.85);

	font-size: 14px;
	letter-spacing: .12em;
	text-transform: uppercase;

	pointer-events: none;

}