/* PAC Video Gallery */
.pacvg { --gap: 14px; }

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

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

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

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

.pacvg-link{
	position: relative;
	display:block;
	border-radius: 10px;
	overflow:hidden;
	box-shadow: 0 2px 10px rgba(0,0,0,.08);
	transform: translateZ(0);
	background: #111;
}

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

.pacvg-placeholder{
	display:block;
	width:100%;
	height: 220px;
	background: linear-gradient(135deg, rgba(255,255,255,.10), rgba(255,255,255,.02));
}

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

.pacvg-play{
	position:absolute;
	inset:auto;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 56px;
	height: 56px;
	border-radius: 999px;
	background: rgba(0,0,0,.62);
	color: #fff;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size: 20px;
	box-shadow: 0 10px 30px rgba(0,0,0,.25);
	pointer-events:none;
}

.pacvg-caption{
	margin-top: 8px;
	font-size: 0.95rem;
	line-height: 1.25;
	text-align:center;
}
.pacvg-title{ display:block; }
.pacvg-sub{
	display:block;
	margin-top: 3px;
	opacity: .85;
	font-size: 0.9em;
}

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

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

/* Modal */
.pacvg-modal{
	position:fixed;
	inset:0;
	z-index: 999999;
	display:none;
}
.pacvg-modal.is-open{ display:block; }

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

.pacvg-modal-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);
}

.pacvg-modal-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;
}

.pacvg-modal-media{
	background: #111;
}

.pacvg-player{
	display:block;
	width:100%;
	height: auto;
	max-height: 76vh;
	background: #111;
}

.pacvg-modal-caption{
	padding: 10px 14px;
	font-size: 1rem;
}
