/* 产品与证书共用的媒体灯箱；内容层保持轻量，动效只强调进入与当前项切换。 */
.pattrix-product-lightbox {
	position: fixed;
	inset: 0;
	z-index: 100;
	display: grid;
	place-items: center;
	padding: clamp(16px, 4vw, 48px);
	background: rgba(10, 12, 14, .94);
}
.pattrix-product-lightbox[hidden] { display: none; }
.pattrix-product-lightbox-backdrop { position: absolute; inset: 0; background: radial-gradient(circle at 50% 38%, rgba(255,255,255,.08), transparent 46%); }
.pattrix-product-lightbox-dialog {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr) 44px;
	align-items: center;
	width: min(1240px, 100%);
	max-height: 100%;
	gap: clamp(12px, 2vw, 28px);
	animation: pattrix-media-lightbox-in 260ms var(--pattrix-ease-out, cubic-bezier(.23,1,.32,1)) both;
}
.pattrix-product-lightbox-dialog figure { min-width: 0; margin: 0; text-align: center; }
.pattrix-product-lightbox-dialog img {
	display: block;
	width: auto;
	max-width: 100%;
	max-height: min(78vh, 860px);
	margin: 0 auto;
	object-fit: contain;
	box-shadow: 0 24px 80px rgba(0,0,0,.35);
}
.pattrix-product-lightbox-dialog figcaption {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px 14px;
	margin-top: 14px;
	color: var(--pattrix-color-on-inverse, #fff);
	font-size: var(--wp--preset--font-size--small, 14px);
	line-height: 1.5;
}
.pattrix-product-lightbox-count { color: rgba(255,255,255,.62); font-variant-numeric: tabular-nums; }
.pattrix-product-lightbox-close,
.pattrix-product-lightbox-navigation {
	display: inline-grid;
	width: 44px;
	height: 44px;
	place-items: center;
	padding: 0;
	border: 1px solid rgba(255,255,255,.42);
	border-radius: 50%;
	background: rgba(10,12,14,.58);
	color: #fff;
	cursor: pointer;
	transition: background-color var(--pattrix-duration-fast,160ms) ease, border-color var(--pattrix-duration-fast,160ms) ease, transform var(--pattrix-duration-fast,160ms) ease;
}
.pattrix-product-lightbox-close { position: absolute; top: -56px; right: 0; font-size: 0; }
.pattrix-product-lightbox-close::before { display: block; width: 18px; height: 18px; background: currentColor; content: ""; -webkit-mask: url("../icons/lucide/x.svg") center / contain no-repeat; mask: url("../icons/lucide/x.svg") center / contain no-repeat; }
.pattrix-product-lightbox-navigation .pattrix-ui-icon { --pattrix-icon-size: 20px; }
.pattrix-product-lightbox-navigation:disabled { visibility: hidden; }
.pattrix-product-lightbox-download { display: inline-flex; justify-self: center; margin-top: 12px; color: #fff; font-size: var(--wp--preset--font-size--caption, 12px); text-decoration: underline; text-underline-offset: 3px; }
.pattrix-product-lightbox-download[hidden] { display: none; }
.pattrix-product-lightbox-close:hover,
.pattrix-product-lightbox-navigation:hover { border-color: #fff; background: rgba(255,255,255,.16); }
.pattrix-product-lightbox-close:active,
.pattrix-product-lightbox-navigation:active { transform: scale(.96); }
.pattrix-product-lightbox :focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
@keyframes pattrix-media-lightbox-in { from { opacity: 0; transform: translateY(10px) scale(.985); } to { opacity: 1; transform: none; } }
@media (max-width: 767px) {
	.pattrix-product-lightbox { padding: 16px; }
	.pattrix-product-lightbox-dialog { grid-template-columns: 1fr; gap: 10px; }
	.pattrix-product-lightbox-dialog figure { grid-row: 1; }
	.pattrix-product-lightbox-dialog img { max-height: 72vh; }
	.pattrix-product-lightbox-navigation { position: absolute; top: calc(50% - 22px); }
	.pattrix-product-lightbox-navigation--previous { left: 0; }
	.pattrix-product-lightbox-navigation--next { right: 0; }
	.pattrix-product-lightbox-close { top: 8px; right: 8px; z-index: 2; }
}
@media (prefers-reduced-motion: reduce) {
	.pattrix-product-lightbox-dialog { animation: none; }
	.pattrix-product-lightbox-close, .pattrix-product-lightbox-navigation { transition: none; }
}
