/* LCF Photo Booth Bridge */

.argylepb-album {
	display: grid;
	gap: 14px;
	grid-auto-rows: var(--argylepb-row-h, 320px);
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
}
.argylepb-album.argylepb-cols-1 { grid-template-columns: 1fr; }
.argylepb-album.argylepb-cols-2 { grid-template-columns: repeat(2, 1fr); }
.argylepb-album.argylepb-cols-3 { grid-template-columns: repeat(3, 1fr); }
.argylepb-album.argylepb-cols-4 { grid-template-columns: repeat(4, 1fr); }
.argylepb-album.argylepb-cols-5 { grid-template-columns: repeat(5, 1fr); }
.argylepb-album.argylepb-cols-6 { grid-template-columns: repeat(6, 1fr); }

.argylepb-item { position: relative; margin: 0; overflow: hidden; border-radius: 8px; background: #f2f2f2; }
.argylepb-img { width: 100%; height: 100%; object-fit: cover; cursor: zoom-in; display: block; }

.argylepb-item .argylepb-dl {
	position: absolute; right: 8px; bottom: 8px;
	width: 34px; height: 34px; display: grid; place-content: center;
	border-radius: 50%; background: rgba(0,0,0,.55); color: #fff;
	font-size: 18px; line-height: 1; text-decoration: none; opacity: 0; transition: opacity .15s;
}
.argylepb-item:hover .argylepb-dl, .argylepb-item:focus-within .argylepb-dl { opacity: 1; }
.argylepb-num {
	position: absolute; left: 8px; top: 8px;
	background: rgba(0,0,0,.55); color: #fff; font-size: 12px;
	padding: 2px 7px; border-radius: 10px;
}

.argylepb-more {
	display: block; margin: 18px auto 0; padding: 12px 22px;
	font-size: 16px; border: 0; border-radius: 8px; background: #2b6cb0; color: #fff; cursor: pointer;
}
.argylepb-more:hover { background: #245a96; }
.argylepb-empty { text-align: center; color: #666; padding: 2rem 0; }

/* Lightbox */
.argylepb-lightbox {
	position: fixed; inset: 0; background: rgba(0,0,0,.9);
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px;
	z-index: 100000; cursor: zoom-out;
}
.argylepb-lightbox img { max-width: 92vw; max-height: 82vh; border-radius: 6px; }
.argylepb-lb-dl {
	padding: 10px 22px; background: #2b6cb0; color: #fff; border-radius: 8px; text-decoration: none;
}

/* Find by number */
.argylepb-find { max-width: 560px; margin: 1.5rem auto; }
.argylepb-find-title { display: block; font-weight: 700; margin-bottom: .5rem; font-size: 1.1rem; }
.argylepb-find-row { display: flex; gap: 8px; }
.argylepb-input {
	flex: 1; padding: 12px 14px; font-size: 16px; border: 1px solid #ccc; border-radius: 8px;
}
.argylepb-btn {
	padding: 12px 18px; font-size: 16px; border: 0; border-radius: 8px;
	background: #2b6cb0; color: #fff; cursor: pointer;
}
.argylepb-btn:hover { background: #245a96; }
.argylepb-find-result { margin-top: 1rem; text-align: center; }
.argylepb-found img { max-width: 100%; border-radius: 10px; box-shadow: 0 4px 18px rgba(0,0,0,.18); }
.argylepb-found figcaption { margin: .5rem 0; font-weight: 600; }
.argylepb-dl-btn {
	display: inline-block; margin-top: .25rem; padding: 10px 20px;
	background: #2b6cb0; color: #fff; border-radius: 8px; text-decoration: none;
}
.argylepb-dl-btn:hover { background: #245a96; }
.argylepb-msg { color: #444; }
.argylepb-err { color: #c0392b; }
