/* PAC Photo Gallery */
.pacpg { --gap: 14px; }

.pacpg-filter{
	display:flex;
	gap:10px;
	align-items:center;
	margin-bottom: 12px;
}
.pacpg-filter-label{ font-weight: 600; }
.pacpg-filter-select{
	min-width: 220px;
	padding: 8px 10px;
	border-radius: 10px;
	border: 1px solid rgba(0,0,0,.18);
}

.pacpg-grid{
	display:grid;
	gap: var(--gap);
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pacpg[data-columns="1"] .pacpg-grid{ grid-template-columns: repeat(1, minmax(0, 1fr)); }
.pacpg[data-columns="2"] .pacpg-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pacpg[data-columns="3"] .pacpg-grid{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pacpg[data-columns="4"] .pacpg-grid{ grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pacpg[data-columns="5"] .pacpg-grid{ grid-template-columns: repeat(5, minmax(0, 1fr)); }
.pacpg[data-columns="6"] .pacpg-grid{ grid-template-columns: repeat(6, minmax(0, 1fr)); }

@media (max-width: 900px){
	.pacpg-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px){
	.pacpg-grid{ grid-template-columns: repeat(1, minmax(0, 1fr)); }
}

.pacpg-item{ margin:0; padding:0; }

.pacpg-link{
	display:block;
	border-radius: 10px;
	overflow:hidden;
	box-shadow: 0 2px 10px rgba(0,0,0,.08);
	transform: translateZ(0);
}

.pacpg-img{
	display:block;
	width:100%;
	height: 220px;
	object-fit: cover;
	transition: transform .18s ease;
}

.pacpg-link:hover .pacpg-img{ transform: scale(1.03); }

.pacpg-caption{
	margin-top: 8px;
	font-size: 0.95rem;
	line-height: 1.25;
	text-align:center;
}

.pacpg-title{ display:block; }

.pacpg-sub{
	display:block;
	margin-top: 3px;
	opacity: .85;
	font-size: 0.9em;
}

.pacpg-empty{ padding: 12px 0; }

/* Pager */
.pacpg-pager{
	display:flex;
	align-items:center;
	justify-content:center;
	gap: 12px;
	margin-top: 14px;
	flex-wrap: wrap;
}
.pacpg-loadmore{
	padding: 9px 14px;
	border-radius: 12px;
}
.pacpg-pageinfo{
	opacity: .85;
	font-weight: 600;
}

/* Lightbox */
.pacpg-lightbox{
	position:fixed;
	inset:0;
	z-index: 999999;
	display:none;
}
.pacpg-lightbox.is-open{ display:block; }

.pacpg-lightbox-backdrop{
	position:absolute;
	inset:0;
	background: rgba(0,0,0,.72);
}

.pacpg-lightbox-dialog{
	position:relative;
	max-width: min(1100px, 92vw);
	max-height: 88vh;
	margin: 6vh auto;
	background: #fff;
	border-radius: 14px;
	overflow:hidden;
	box-shadow: 0 24px 80px rgba(0,0,0,.35);
}

.pacpg-lightbox-close{
	position:absolute;
	top:10px;
	right:10px;
	width: 40px;
	height: 40px;
	border-radius: 999px;
	border: none;
	background: rgba(0,0,0,.58);
	color: #fff;
	font-size: 26px;
	line-height: 40px;
	cursor:pointer;
	z-index: 2;
}

.pacpg-lightbox-img{
	display:block;
	width:100%;
	height: auto;
	max-height: 80vh;
	object-fit: contain;
	background: #111;
}

.pacpg-lightbox-caption{
	padding: 10px 14px;
	font-size: 1rem;
}
