/* Pulltarps album grid + lightbox — self-contained, theme-independent. */

.pt-gallery{
	display:grid;
	grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
	gap:14px;
}
.pt-gallery__item{
	display:block;
	position:relative;
	overflow:hidden;
	border-radius:6px;
	aspect-ratio:3/2;
	background:#f2f2f2;
	cursor:zoom-in;
}
.pt-gallery__item img{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
	transition:transform .3s ease;
}
.pt-gallery__item:hover img{ transform:scale(1.05); }
@media (max-width:600px){
	.pt-gallery{ grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:10px; }
}

/* Lightbox */
.pt-lb{
	position:fixed;
	inset:0;
	z-index:100000;
	display:none;
	align-items:center;
	justify-content:center;
	background:rgba(0,0,0,.92);
	opacity:0;
	transition:opacity .2s ease;
}
.pt-lb.is-open{ display:flex; opacity:1; }
.pt-lb__img{
	max-width:92vw;
	max-height:82vh;
	object-fit:contain;
	box-shadow:0 8px 40px rgba(0,0,0,.5);
	border-radius:4px;
}
.pt-lb__cap{
	position:absolute;
	bottom:20px;
	left:0;right:0;
	text-align:center;
	color:#fff;
	font-family:Inter,sans-serif;
	font-size:14px;
	padding:0 60px;
	text-shadow:0 1px 3px rgba(0,0,0,.6);
}
.pt-lb__btn{
	position:absolute;
	background:none;
	border:0;
	color:#fff;
	cursor:pointer;
	opacity:.85;
	transition:opacity .15s ease;
	line-height:0;
	padding:12px;
}
.pt-lb__btn:hover{ opacity:1; }
.pt-lb__btn svg{ width:36px; height:36px; fill:none; stroke:#fff; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
.pt-lb__close{ top:16px; right:16px; }
.pt-lb__close svg{ width:30px; height:30px; }
.pt-lb__prev{ left:12px; top:50%; transform:translateY(-50%); }
.pt-lb__next{ right:12px; top:50%; transform:translateY(-50%); }
.pt-lb__count{
	position:absolute;
	top:22px; left:22px;
	color:#fff;
	font-family:Inter,sans-serif;
	font-size:13px;
	opacity:.75;
}
@media (max-width:600px){
	.pt-lb__prev{ left:2px; } .pt-lb__next{ right:2px; }
	.pt-lb__btn svg{ width:28px; height:28px; }
	.pt-lb__cap{ font-size:12px; padding:0 44px; bottom:12px; }
}
