/**
 * Immagini prodotto uniformi (shop, categorie, correlati, PDP) + frecce carousel home.
 */
:root {
	--pcp-thumb-bg: #f5f5f5;
}

/* === Loop prodotti: box fisso 1:1 === */
.wd-product .product-element-top,
.wd-product .product-image-link,
.wd-product .wd-product-img-link,
.wd-product .wd-thumb-wrapper,
.products .product .product-image-link,
.pcp-forced-related .wd-product .product-image-link {
	aspect-ratio: 1 / 1 !important;
	width: 100% !important;
	height: auto !important;
	max-height: none !important;
	min-height: 0 !important;
	overflow: hidden !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: var(--pcp-thumb-bg) !important;
	position: relative !important;
}

.wd-product .product-element-top > a,
.wd-product .product-image-link,
.wd-product .wd-product-img-link {
	width: 100% !important;
	height: 100% !important;
}

/* Solo foto prodotto — NON le icone badge (Bestseller/Hot) nel thumb.
 * NON applicare .pcp-remote-product-image da solo: nel carrello/mini-cart
 * quelle img hanno width/height 800 e width:100%!important faceva overflow
 * sopra titolo (WoodMart td.product-thumbnail è position:absolute). */
.wd-product .product-image-link img,
.wd-product .wd-product-img-link img,
.wd-product .wd-product-thumb > a img,
.wd-product .product-element-top > a img,
.wd-product img.attachment-woocommerce_thumbnail,
.wd-product img.wp-post-image,
.wd-product .pcp-remote-product-image,
.products .product img.attachment-woocommerce_thumbnail,
.products .product .pcp-remote-product-image,
.pcp-forced-related .wd-product .product-image-link img,
.pcp-forced-related .wd-product .wd-product-img-link img,
.pcp-forced-related .wd-product .pcp-remote-product-image {
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	max-height: 100% !important;
	object-fit: contain !important;
	object-position: center center !important;
	padding: 12px !important;
	box-sizing: border-box !important;
	display: block !important;
	margin: 0 auto !important;
	background: transparent !important;
}

/* Carrello / checkout: thumbnail fissa a sinistra, niente overlap titolo */
.woocommerce-cart table.shop_table td.product-thumbnail,
.woocommerce-checkout table.shop_table td.product-thumbnail {
	overflow: hidden;
}

.woocommerce-cart table.shop_table td.product-thumbnail img,
.woocommerce-cart table.shop_table td.product-thumbnail .pcp-remote-product-image,
.woocommerce-checkout table.shop_table td.product-thumbnail img,
.woocommerce-checkout table.shop_table td.product-thumbnail .pcp-remote-product-image {
	width: 80px !important;
	height: 80px !important;
	min-width: 80px !important;
	max-width: 80px !important;
	min-height: 80px !important;
	max-height: 80px !important;
	object-fit: contain !important;
	object-position: center center !important;
	padding: 0 !important;
	margin: 0 !important;
	display: block !important;
	box-sizing: border-box !important;
}

@media (max-width: 768.98px) {
	.woocommerce-cart .shop-table-with-img tr,
	.woocommerce-checkout .shop-table-with-img tr {
		padding-inline-start: 88px !important;
		min-height: 100px;
	}

	.woocommerce-cart .shop-table-with-img td.product-thumbnail,
	.woocommerce-checkout .shop-table-with-img td.product-thumbnail {
		width: 72px;
		max-width: 72px;
		max-height: 80px;
		overflow: hidden;
	}

	.woocommerce-cart .shop-table-with-img td.product-thumbnail img,
	.woocommerce-cart .shop-table-with-img td.product-thumbnail .pcp-remote-product-image,
	.woocommerce-checkout .shop-table-with-img td.product-thumbnail img,
	.woocommerce-checkout .shop-table-with-img td.product-thumbnail .pcp-remote-product-image {
		width: 72px !important;
		height: 72px !important;
		min-width: 72px !important;
		max-width: 72px !important;
		min-height: 72px !important;
		max-height: 72px !important;
	}
}

/* Badge Bestseller/Hot: non allargare le icone SVG come foto prodotto */
.wd-product .wd-custom-label .wp-block-wd-icon,
.wd-product .product-labels .wp-block-wd-icon,
.wd-product .wd-loop-prod-labels .wp-block-wd-icon {
	--wd-icon-w: 14px !important;
	width: 14px !important;
	height: 14px !important;
	min-width: 14px !important;
	min-height: 14px !important;
	max-width: 14px !important;
	overflow: visible !important;
	flex: 0 0 14px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.wd-product .wd-custom-label img,
.wd-product .product-labels .wd-custom-label img,
.wd-product .wd-loop-prod-labels .wd-custom-label img,
.wd-product .wd-custom-label .wp-block-wd-icon img {
	width: 14px !important;
	height: 14px !important;
	max-width: 14px !important;
	max-height: 14px !important;
	padding: 0 !important;
	margin: 0 !important;
	object-fit: contain !important;
	display: block !important;
}

/* Hover second image also constrained */
.wd-product .hover-img,
.wd-product .hover-img img {
	object-fit: contain !important;
	max-height: 100% !important;
}

/* === Scheda prodotto: galleria principale + miniature ===
 * Non forzare display:flex su TUTTE le slide: sovrascrive [hidden]
 * e fa vedere tutte le immagini in verticale.
 */
body.single-product .woocommerce-product-gallery,
body.single-product .woocommerce-product-gallery__wrapper,
body.single-product .wd-gallery-images,
body.single-product .wd-carousel-wrap {
	max-width: 100%;
}

body.single-product .pcp-pdp-gallery .woocommerce-product-gallery__wrapper {
	position: relative;
	overflow: hidden;
}

body.single-product .pcp-pdp-gallery .woocommerce-product-gallery__image[hidden],
body.single-product .woocommerce-product-gallery__image[hidden],
body.single-product .pcp-remote-gallery-image[hidden] {
	display: none !important;
}

body.single-product .woocommerce-product-gallery__image:not([hidden]),
body.single-product .woocommerce-product-gallery__image--placeholder,
body.single-product .wd-gallery-images .wd-carousel-item,
body.single-product .woocommerce-product-gallery__wrapper > .wd-carousel-item,
body.single-product .pcp-remote-gallery-image:not([hidden]) {
	aspect-ratio: 1 / 1 !important;
	overflow: hidden !important;
	background: var(--pcp-thumb-bg) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

body.single-product .woocommerce-product-gallery__image:not([hidden]) img,
body.single-product .woocommerce-product-gallery__image--placeholder img,
body.single-product .wd-gallery-images img,
body.single-product .pcp-remote-gallery-image:not([hidden]) img,
body.single-product .wp-post-image.pcp-remote-product-image {
	width: 100% !important;
	height: 100% !important;
	max-height: 100% !important;
	object-fit: contain !important;
	object-position: center !important;
	padding: 16px !important;
	box-sizing: border-box !important;
}

/* Thumbnails sotto la galleria */
body.single-product .flex-control-thumbs li,
body.single-product .wd-gallery-thumb .wd-carousel-item {
	aspect-ratio: 1 / 1 !important;
	overflow: hidden !important;
	background: var(--pcp-thumb-bg) !important;
}

body.single-product .flex-control-thumbs li img,
body.single-product .wd-gallery-thumb img {
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
	padding: 6px !important;
	box-sizing: border-box !important;
}

/* === Home: frecce product carousel sempre visibili ai lati ===
 * WoodMart nasconde .wd-btn-arrow (opacity:0) finché non c’è hover,
 * e con wd-pos-sep le mette FUORI dal box (spesso clipate da overflow).
 */
body.home .elementor-widget-wd_products .wd-carousel-container,
body.home .elementor-widget-wd_products_tabs .wd-carousel-container,
body.home .wd-products-element .wd-carousel-container,
body.home .wd-carousel-container:has(.wd-products),
body.home .wd-carousel-container:has(.products) {
	position: relative !important;
	overflow: visible !important;
}

body.home .elementor-widget-wd_products .wd-carousel-inner,
body.home .elementor-widget-wd_products_tabs .wd-carousel-inner,
body.home .wd-products-element .wd-carousel-inner,
body.home .wd-carousel-container:has(.wd-products) .wd-carousel-inner,
body.home .wd-carousel-container:has(.products) .wd-carousel-inner {
	position: relative !important;
	overflow: visible !important;
}

/* Non nascondere frecce su breakpoint (wd-hide-*) */
body.home .elementor-widget-wd_products .wd-nav-arrows.wd-hide-lg,
body.home .elementor-widget-wd_products .wd-nav-arrows.wd-hide-md-sm,
body.home .elementor-widget-wd_products .wd-nav-arrows.wd-hide-sm,
body.home .elementor-widget-wd_products_tabs .wd-nav-arrows.wd-hide-lg,
body.home .elementor-widget-wd_products_tabs .wd-nav-arrows.wd-hide-md-sm,
body.home .elementor-widget-wd_products_tabs .wd-nav-arrows.wd-hide-sm,
body.home .wd-products-element .wd-nav-arrows.wd-hide-lg,
body.home .wd-products-element .wd-nav-arrows.wd-hide-md-sm,
body.home .wd-products-element .wd-nav-arrows.wd-hide-sm {
	display: block !important;
}

body.home .elementor-widget-wd_products .wd-nav-arrows,
body.home .elementor-widget-wd_products_tabs .wd-nav-arrows,
body.home .wd-products-element .wd-nav-arrows,
body.home .wd-carousel-container:has(.wd-products) .wd-nav-arrows,
body.home .wd-carousel-container:has(.products) .wd-nav-arrows {
	display: block !important;
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
	z-index: 30 !important;
}

/* Override critico WoodMart: hover-only + pre-init lock */
body.home .elementor-widget-wd_products .wd-nav-arrows .wd-btn-arrow,
body.home .elementor-widget-wd_products_tabs .wd-nav-arrows .wd-btn-arrow,
body.home .wd-products-element .wd-nav-arrows .wd-btn-arrow,
body.home .wd-carousel-container:has(.wd-products) .wd-nav-arrows .wd-btn-arrow,
body.home .wd-carousel-container:has(.products) .wd-nav-arrows .wd-btn-arrow,
body.home .elementor-widget-wd_products .wd-nav-arrows[class*="wd-hover"].wd-pos-sep .wd-btn-arrow,
body.home .elementor-widget-wd_products_tabs .wd-nav-arrows[class*="wd-hover"].wd-pos-sep .wd-btn-arrow,
body.home .wd-products-element .wd-nav-arrows[class*="wd-hover"].wd-pos-sep .wd-btn-arrow,
body.home .wd-carousel:not(.wd-initialized) ~ .wd-nav-arrows .wd-btn-arrow {
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
	transform: none !important;
	z-index: 31 !important;
}

body.home .elementor-widget-wd_products .wd-nav-arrows .wd-btn-arrow,
body.home .elementor-widget-wd_products_tabs .wd-nav-arrows .wd-btn-arrow,
body.home .wd-products-element .wd-nav-arrows .wd-btn-arrow,
body.home .wd-carousel-container:has(.wd-products) .wd-nav-arrows .wd-btn-arrow,
body.home .wd-carousel-container:has(.products) .wd-nav-arrows .wd-btn-arrow {
	position: absolute !important;
	top: 50% !important;
	margin-top: -21px !important;
	width: 42px !important;
	height: 42px !important;
}

body.home .elementor-widget-wd_products .wd-nav-arrows .wd-btn-arrow .wd-arrow-inner,
body.home .elementor-widget-wd_products_tabs .wd-nav-arrows .wd-btn-arrow .wd-arrow-inner,
body.home .wd-products-element .wd-nav-arrows .wd-btn-arrow .wd-arrow-inner,
body.home .wd-carousel-container:has(.wd-products) .wd-nav-arrows .wd-btn-arrow .wd-arrow-inner,
body.home .wd-carousel-container:has(.products) .wd-nav-arrows .wd-btn-arrow .wd-arrow-inner {
	width: 42px !important;
	height: 42px !important;
	border-radius: 999px !important;
	background: #fff !important;
	border: 1px solid rgba(0, 0, 0, 0.12) !important;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12) !important;
	color: #111 !important;
}

/* Forza frecce DENTRO il carousel (non fuori al 100%) */
body.home .elementor-widget-wd_products .wd-nav-arrows .wd-prev,
body.home .elementor-widget-wd_products_tabs .wd-nav-arrows .wd-prev,
body.home .wd-products-element .wd-nav-arrows .wd-prev,
body.home .wd-carousel-container:has(.wd-products) .wd-nav-arrows .wd-prev,
body.home .wd-carousel-container:has(.products) .wd-nav-arrows .wd-prev {
	left: 6px !important;
	right: auto !important;
	inset-inline-start: 6px !important;
	inset-inline-end: auto !important;
}

body.home .elementor-widget-wd_products .wd-nav-arrows .wd-next,
body.home .elementor-widget-wd_products_tabs .wd-nav-arrows .wd-next,
body.home .wd-products-element .wd-nav-arrows .wd-next,
body.home .wd-carousel-container:has(.wd-products) .wd-nav-arrows .wd-next,
body.home .wd-carousel-container:has(.products) .wd-nav-arrows .wd-next {
	right: 6px !important;
	left: auto !important;
	inset-inline-end: 6px !important;
	inset-inline-start: auto !important;
}

@media (max-width: 767px) {
	body.home .elementor-widget-wd_products .wd-nav-arrows .wd-btn-arrow,
	body.home .elementor-widget-wd_products_tabs .wd-nav-arrows .wd-btn-arrow,
	body.home .wd-products-element .wd-nav-arrows .wd-btn-arrow,
	body.home .wd-carousel-container:has(.wd-products) .wd-nav-arrows .wd-btn-arrow,
	body.home .wd-carousel-container:has(.products) .wd-nav-arrows .wd-btn-arrow {
		width: 36px !important;
		height: 36px !important;
		margin-top: -18px !important;
	}

	body.home .elementor-widget-wd_products .wd-nav-arrows .wd-btn-arrow .wd-arrow-inner,
	body.home .elementor-widget-wd_products_tabs .wd-nav-arrows .wd-btn-arrow .wd-arrow-inner,
	body.home .wd-products-element .wd-nav-arrows .wd-btn-arrow .wd-arrow-inner {
		width: 36px !important;
		height: 36px !important;
	}
}
