#albumHeader{
	display:flex;
	flex-direction:column;
	gap:6px;
	margin-bottom:16px;
}
#albumHeader #header{
	overflow-wrap:anywhere;
	word-break:break-word;
}
#backToEvents{
	text-decoration:none;
	color:#0b2968;
	font-weight:600;
	font-size:.95rem;
}
#backToEvents:hover{
	color:#c59412;
}

#thumbGrid{
	display:grid;
	grid-template-columns:repeat(5, 1fr);
	gap:12px;
	padding-bottom:24px;
}
.thumb{
	padding:0;
	border:none;
	background:#eef1f7;
	border-radius:6px;
	overflow:hidden;
	cursor:pointer;
	aspect-ratio:1 / 1;
	transition:transform .15s ease, box-shadow .15s ease;
}
.thumb:hover{
	transform:scale(1.03);
	box-shadow:0 4px 12px rgba(11,41,104,0.25);
}
.thumb img{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
}

#albumLightbox{
	display:none;
	position:fixed;
	inset:0;
	z-index:100000;
	background:rgba(0,0,0,0.92);
	padding:48px 16px;
	box-sizing:border-box;
}
#albumLightbox.open{
	display:block;
}
#lightboxClose{
	position:absolute;
	top:14px;
	right:20px;
	z-index:1002;
	background:none;
	border:none;
	color:#fff;
	font-size:2.4rem;
	line-height:1;
	cursor:pointer;
}
#lightboxClose:hover{
	color:#c59412;
}

#albumCarousel{
	width:100%;
	height:100%;
}
.lightboxCell{
	width:100%;
	height:100%;
	display:flex;
	align-items:center;
	justify-content:center;
}
.lightboxCell img{
	max-width:100%;
	max-height:calc(100vh - 96px);
	object-fit:contain;
	display:block;
}

/* Keep the carousel viewport full-height so images are vertically centered */
#albumCarousel .flickity-viewport{
	height:100% !important;
}
#albumCarousel .flickity-prev-next-button{
	background:rgba(255,255,255,0.85);
}
#albumCarousel .flickity-prev-next-button:hover{
	background:#fff;
}

#albumPagination{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	align-items:center;
	gap:6px;
	padding:8px 0 32px;
}
.pageBtn{
	min-width:34px;
	padding:6px 10px;
	text-align:center;
	text-decoration:none;
	color:#0b2968;
	border:1px solid rgba(11,41,104,0.2);
	border-radius:6px;
	font-weight:600;
	font-size:.9rem;
	transition:background .15s ease, color .15s ease;
}
.pageBtn:hover{
	background:rgba(11,41,104,0.08);
	color:#0b2968;
}
.pageBtn.current{
	background:#0b2968;
	color:#fff;
	border-color:#0b2968;
	pointer-events:none;
}

@media only screen and (max-width:900px){
	#thumbGrid{ grid-template-columns:repeat(4, 1fr); }
}
@media only screen and (max-width:640px){
	#thumbGrid{
		grid-template-columns:repeat(3, 1fr);
		gap:8px;
	}
}
@media only screen and (max-width:400px){
	#thumbGrid{ grid-template-columns:repeat(2, 1fr); }
}
