.as3sd-product-trailer {
	display: block;
	width: 100%;
	max-width: 100%;
}

.as3sd-product-trailer__player,
.as3sd-product-trailer__gallery,
.as3sd-product-trailer__poster {
	display: block;
	width: 100%;
	max-width: 100%;
}

.as3sd-product-trailer__player .as3sd-players-grid {
	width: 100%;
}

/*
 * Beat WooCommerce layout: .woocommerce div.product div.images { float:left; width:48% }
 * Gallery markup includes class "images" and often sits under div.product in Elementor templates.
 */
.woocommerce .as3sd-product-trailer__gallery div.woocommerce-product-gallery.images,
.woocommerce-page .as3sd-product-trailer__gallery div.woocommerce-product-gallery.images,
.elementor-widget-as3sd_product_trailer .as3sd-product-trailer__gallery div.woocommerce-product-gallery.images,
.as3sd-product-trailer__gallery .woocommerce-product-gallery.images {
	float: none !important;
	position: relative;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	margin-bottom: 0 !important;
	clear: none;
}

.as3sd-product-trailer__gallery .woocommerce-product-gallery__wrapper,
.as3sd-product-trailer__gallery .flex-viewport,
.as3sd-product-trailer__gallery .woocommerce-product-gallery__image {
	width: 100% !important;
	max-width: 100%;
	box-sizing: border-box;
}

.as3sd-product-trailer__gallery .woocommerce-product-gallery__image {
	display: block;
	float: none;
}

.as3sd-product-trailer__gallery .woocommerce-product-gallery__image a {
	display: block;
	width: 100%;
}

.as3sd-product-trailer__gallery .woocommerce-product-gallery__image img,
.as3sd-product-trailer__gallery .woocommerce-product-gallery img.wp-post-image,
.as3sd-product-trailer__gallery .woocommerce-product-gallery img {
	width: 100% !important;
	max-width: 100%;
	height: auto !important;
	display: block;
}

/* Single-image fallback: no FlexSlider viewport — image height drives layout */
.as3sd-product-trailer__gallery--static .woocommerce-product-gallery__image {
	margin: 0;
}

.as3sd-product-trailer__gallery--static .woocommerce-product-gallery__wrapper {
	display: block;
	width: 100% !important;
	transform: none !important;
}

/*
 * Multi-image galleries: FlexSlider can set a too-small inline .flex-viewport height
 * when initialized inside Elementor. Let the active slide image define layout height.
 */
.as3sd-product-trailer__gallery:not(.as3sd-product-trailer__gallery--static) .flex-viewport {
	height: auto !important;
	overflow: visible !important;
}

.as3sd-product-trailer__gallery:not(.as3sd-product-trailer__gallery--static) .woocommerce-product-gallery__wrapper {
	width: 100% !important;
}

.as3sd-product-trailer__gallery:not(.as3sd-product-trailer__gallery--static) .woocommerce-product-gallery__image {
	float: none !important;
	width: 100% !important;
}

.as3sd-product-trailer__gallery .flex-control-thumbs {
	width: 100%;
	margin: 0;
	padding: 0;
}

.as3sd-product-trailer__gallery .flex-control-thumbs li {
	box-sizing: border-box;
}

.as3sd-product-trailer__gallery .flex-control-thumbs li img {
	width: 100%;
	height: auto;
}

.as3sd-product-trailer__poster img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
}
