/* Facebook album gallery: thumbnail grid and full-screen viewer. Plain CSS, no libraries. */
.advenz-fb-gallery { margin: 1em 0; }
.advenz-fb-gallery__description { text-align: justify; }
.advenz-fb-gallery__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
	gap: 6px;
	list-style: none;
	margin: 1em 0;
	padding: 0;
}
.advenz-fb-gallery__grid li { margin: 0; padding: 0; list-style: none; }
/* ALPS draws a bullet with `.text ul:not(…):not(…) li::before`, which outranks any plain selector here */
.advenz-fb-gallery__grid li::before,
.advenz-fb-gallery__grid li::after { content: none !important; display: none !important; }
.advenz-fb-gallery__grid a { display: block; aspect-ratio: 1; overflow: hidden; background: #ddd; }
.advenz-fb-gallery__grid img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	cursor: zoom-in;
	transition: transform .2s ease;
}
.advenz-fb-gallery__grid a:hover img,
.advenz-fb-gallery__grid a:focus-visible img { transform: scale(1.05); }
.advenz-fb-gallery__grid a:focus-visible { outline: 3px solid #1a73e8; outline-offset: 2px; }
.advenz-fb-gallery__link { font-size: .9em; }

.advenz-fb-viewer {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, .92);
	color: #fff;
	touch-action: pan-y;
}
.advenz-fb-viewer[hidden] { display: none; }
.advenz-fb-viewer__figure { margin: 0; max-width: 100%; max-height: 100%; display: flex; flex-direction: column; align-items: center; }
.advenz-fb-viewer__image { max-width: 96vw; max-height: 82vh; object-fit: contain; }
.advenz-fb-viewer__caption { max-width: 90vw; padding: .6em 1em; text-align: center; font-size: .95em; line-height: 1.4; }
.advenz-fb-viewer__count { opacity: .7; margin-right: .6em; font-variant-numeric: tabular-nums; }
.advenz-fb-viewer button {
	position: absolute;
	width: 48px;
	height: 48px;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, .16);
	color: #fff;
	font-size: 26px;
	line-height: 1;
	cursor: pointer;
}
.advenz-fb-viewer button:hover { background: rgba(255, 255, 255, .3); }
.advenz-fb-viewer button:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
.advenz-fb-viewer__close { top: 12px; right: 12px; }
.advenz-fb-viewer__prev { left: 12px; top: 50%; transform: translateY(-50%); }
.advenz-fb-viewer__next { right: 12px; top: 50%; transform: translateY(-50%); }
@media (prefers-reduced-motion: reduce) {
	.advenz-fb-gallery__grid img { transition: none; }
}
