.gpsg-grid{
	--gpsg-gap:12px;
	--gpsg-radius:14px;
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:var(--gpsg-gap);
	margin:1.5em 0;
}
@media(min-width:640px){.gpsg-grid{grid-template-columns:repeat(3,minmax(0,1fr));--gpsg-gap:16px}}
@media(min-width:900px){.gpsg-grid{grid-template-columns:repeat(4,minmax(0,1fr));--gpsg-gap:20px}}
@media(min-width:1200px){.gpsg-grid.gpsg-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}

.gpsg-card{min-width:0}
.gpsg-box{
	background:#fff;
	border-radius:var(--gpsg-radius);
	padding:8px;
	box-shadow:0 1px 3px rgba(0,0,0,.08),0 6px 18px rgba(0,0,0,.06);
	cursor:pointer;
	transition:transform .25s ease,box-shadow .25s ease;
	outline:none;
}
.gpsg-box:hover,.gpsg-box:focus-visible{
	transform:translateY(-4px);
	box-shadow:0 2px 6px rgba(0,0,0,.1),0 14px 28px rgba(0,0,0,.12);
}
.gpsg-box:focus-visible{box-shadow:0 0 0 3px #2271b1}

.gpsg-cover{position:relative;aspect-ratio:1/1;border-radius:calc(var(--gpsg-radius) - 6px);overflow:hidden;background:#eee}
.gpsg-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.gpsg-box:hover .gpsg-cover img{transform:scale(1.06)}
.gpsg-badge{
	position:absolute;left:8px;bottom:8px;
	background:rgba(0,0,0,.65);color:#fff;
	font-size:11px;line-height:1;padding:5px 9px;border-radius:999px;
	backdrop-filter:blur(4px);
}

.gpsg-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:6px}
.gpsg-thumb{position:relative;aspect-ratio:1/1;border-radius:8px;overflow:hidden;background:#eee}
.gpsg-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.gpsg-more{
	position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
	background:rgba(0,0,0,.55);color:#fff;font-weight:600;font-size:14px;
}

.gpsg-title{
	margin:10px 4px 0;
	font-size:15px;line-height:1.35;font-weight:600;text-align:center;
	overflow-wrap:anywhere;
}
@media(max-width:639px){.gpsg-title{font-size:14px}.gpsg-box{padding:6px}}

/* Lightbox */
.gpsg-lb{
	position:fixed;inset:0;z-index:999999;display:none;
	flex-direction:column;align-items:center;justify-content:center;
	background:rgba(10,10,12,.92);
}
.gpsg-lb.is-open{display:flex}
.gpsg-lb-stage{position:relative;flex:1;width:100%;display:flex;align-items:center;justify-content:center;padding:56px 56px 8px;min-height:0}
.gpsg-lb-img{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;user-select:none;-webkit-user-drag:none}
.gpsg-lb-cap{color:#fff;text-align:center;padding:10px 16px 20px;font-size:15px}
.gpsg-lb-cap small{display:block;opacity:.65;margin-top:4px;font-size:12px}
.gpsg-lb button{
	position:absolute;border:0;background:rgba(255,255,255,.14);color:#fff;
	width:44px;height:44px;border-radius:50%;font-size:24px;line-height:1;cursor:pointer;
	display:flex;align-items:center;justify-content:center;padding:0;transition:background .2s;
}
.gpsg-lb button:hover{background:rgba(255,255,255,.28)}
.gpsg-lb-close{top:12px;right:12px}
.gpsg-lb-prev{left:10px;top:50%;transform:translateY(-50%)}
.gpsg-lb-next{right:10px;top:50%;transform:translateY(-50%)}
@media(max-width:639px){
	.gpsg-lb-stage{padding:56px 8px 8px}
	.gpsg-lb-prev,.gpsg-lb-next{top:auto;bottom:14px;transform:none}
	.gpsg-lb-prev{left:14px}.gpsg-lb-next{right:14px}
}

/* WhatsApp button */
.gpsg-wa{
	display:flex;align-items:center;justify-content:center;gap:6px;
	margin:8px 0 0;padding:9px 10px;border-radius:999px;
	background:#25d366;color:#fff !important;text-decoration:none !important;
	font-size:13px;font-weight:600;line-height:1.2;text-align:center;
	transition:background .2s,transform .2s;
}
.gpsg-wa:hover{background:#1ebe5a;transform:translateY(-1px)}
.gpsg-wa svg{flex:none}
@media(max-width:639px){.gpsg-wa{font-size:12px;padding:8px 6px;gap:4px}.gpsg-wa svg{width:16px;height:16px}}
.gpsg-lb .gpsg-wa{display:inline-flex;margin:12px auto 0;padding:10px 20px;font-size:14px}

.gpsg-unlicensed{margin:-6px 0 18px;padding:10px 14px;border-radius:10px;background:#fff8e5;border:1px solid #f0d58c;color:#5c4a00;font-size:13px;text-align:center}
.gpsg-unlicensed a{color:inherit;font-weight:600}
