/* Keep external / variation gallery images within the product gallery column. */
.woo-variation-gallery-wrapper .wvg-single-gallery-image-container,
.woo-variation-gallery-wrapper .wvg-single-gallery-image-container img,
.woo-variation-gallery-wrapper .woo-variation-gallery-thumbnail-slider img {
	display: block;
	max-width: 100%;
	width: auto !important;
	height: auto !important;
	max-height: min(70vh, 560px);
	margin-left: auto;
	margin-right: auto;
	object-fit: contain;
}

.woo-variation-gallery-wrapper .woo-variation-gallery-slider .slick-slide {
	text-align: center;
}

.woo-variation-gallery-wrapper .woo-variation-gallery-slider .slick-list,
.woo-variation-gallery-wrapper .woo-variation-gallery-slider .slick-track {
	display: flex;
	align-items: center;
}

.woocommerce div.product div.images .woocommerce-product-gallery__wrapper img,
.woocommerce div.product div.images .flex-viewport img {
	display: block;
	max-width: 100%;
	width: auto;
	height: auto;
	max-height: min(70vh, 560px);
	margin-left: auto;
	margin-right: auto;
}

.woocommerce div.product div.images .flex-viewport {
	overflow: hidden !important;
	max-height: min(70vh, 560px) !important;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image {
	max-width: 100%;
}

.woocommerce div.product div.images .flex-control-thumbs img {
	max-width: 76px;
	max-height: 76px;
	width: auto;
	height: auto;
}

/* Do not override PhotoSwipe img sizing — WooCommerce sets max-width:none for zoom/pan. */

/* Keep lightbox toolbar visible (close / zoom / fullscreen). */
.pswp--open .pswp__ui {
	opacity: 1 !important;
	visibility: visible !important;
}

.pswp--open .pswp__top-bar {
	opacity: 1 !important;
	visibility: visible !important;
	background: rgba( 0, 0, 0, 0.45 );
}

.pswp--open .pswp__button {
	opacity: 1 !important;
	visibility: visible !important;
}

/* PhotoSwipe hides zoom unless pswp--zoom-allowed; always show when lightbox is open. */
.pswp--open .pswp__button--zoom {
	display: block !important;
	opacity: 1 !important;
	visibility: visible !important;
}

/* Fallback labels if the default-skin sprite fails to load. */
.pswp__button--zoom::before {
	content: '+';
	color: #fff;
	font-size: 22px;
	line-height: 44px;
	display: block;
	text-align: center;
}

.pswp__button--close::before {
	content: '×';
	color: #fff;
	font-size: 28px;
	line-height: 44px;
	display: block;
	text-align: center;
}

.pswp--zoom-allowed .pswp__img {
	cursor: zoom-in;
}
