/**
 * theme-woocommerce — toolbar shop, paginazione, scheda prodotto singolo.
 * Scope body: .woo-store (catalogo/scheda, non cart/checkout).
 *
 * Card catalogo (ul.products li.product): NON si stilano qui.
 * Le comanda dashboard/widgets/shop-page/.
 * Tweak Bacheca: woo_shop_layout / woo_single_layout (woocommerce-loader.php).
 */

body.woo-store {
	--wb-gold: #c9a227;
	--wb-gold-ring: rgba(201, 162, 39, 0.45);
	--wb-text: #222222;
	--wb-muted: #777777;
	--wb-card-border: #e8e8e8;
	--wb-border-soft: #ececec;
	--wb-bg: #ffffff;
	--wb-page: transparent;
	--wb-radius: 6px;
	--wb-shop-width: min(100%, 4800px);
	--wb-gap: 26px;
	--wb-shop-rule-gap: 25px;
	--wb-shop-grid-max: min(100%, 1400px);
	/* Pulsanti scheda prodotto singolo */
	--wb-btn-bg: #1a1a1a;
	--wb-btn-bg-hover: #333333;
	--wb-btn-text: whitesmoke;
	--wb-btn-radius: 4px;
	/* Scheda prodotto singolo (content 1140px → div.product ~1110px) */
	--wb-single-width: min(100%, 1140px);
	--wb-single-pad: 15px;
	--wb-single-gallery-col: 50%;
	--wb-single-summary-col: 50%;
	--wb-single-title-size: 32px;
	--wb-single-price-size: 24px;
	--wb-single-summary-pad: 40px;
	--wb-single-thumb-size: 65px;
	--wb-single-thumb-gap: 20px;
	--wb-single-zone-gap: 48px;
	--wb-single-rule: rgba(33, 33, 33, 0.2);
	--wb-single-rule-strong: #212121;
	--wb-single-tab-active: 3px;
	--wb-single-tab-active-color: #888888;
	--wb-single-img-border: #e8e8e8;
}

/* ── Contenitore shop centrato ───────────────────────────────────────── */

body.woo-store .site-main,
body.woo-store #content,
body.woo-store .page-content,
body.woo-store .elementor-location-single .site-main,
body.woo-store.woocommerce main,
body.woo-store.woocommerce .site-main {
	background-color: var(--wb-page) !important;
	background-image: none !important;
}

body.woo-store.woocommerce main,
body.woo-store .woocommerce,
body.woo-store main .woocommerce,
body.woo-store .elementor-widget-woocommerce-products .woocommerce {
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: var(--wb-shop-width) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding: 8px 20px 40px !important;
	float: none !important;
}

body.woo-store.single-product.woocommerce main,
body.woo-store.single-product .woocommerce,
body.woo-store.single-product main .woocommerce,
body.woo-store.single-product .site-main,
body.woo-store.single-product #content,
body.woo-store.single-product .page-content,
body.woo-store.single-product .elementor-section .elementor-container,
body.woo-store.single-product .elementor-section.e-con,
body.woo-store.single-product .e-con-inner,
body.woo-store.single-product .elementor-widget-wrap {
	max-width: var(--wb-single-width) !important;
	width: 100% !important;
	padding-left: var(--wb-single-pad) !important;
	padding-right: var(--wb-single-pad) !important;
	box-sizing: border-box !important;
}

/* Breadcrumb sx; titolo pagina duplicato nascosto — resta quello nel summary */
body.woo-store.single-product .woocommerce-breadcrumb {
	text-align: left !important;
	margin-bottom: 1rem !important;
}

body.woo-store.single-product main .entry-header,
body.woo-store.single-product .page-header,
body.woo-store.single-product .elementor-widget-theme-post-title,
body.woo-store.single-product .product_title.entry-title {
	display: none !important;
}

body.woo-store.single-product div.product .product_title,
body.woo-store.single-product div.product h1.product_title {
	display: block !important;
}

/* ── Titolo e breadcrumb centrati ────────────────────────────────────── */

body.woo-store .woocommerce-breadcrumb,
body.woo-store .woocommerce-products-header,
body.woo-store .woocommerce-products-header__title,
body.woo-store main .entry-header,
body.woo-store main .entry-title,
body.woo-store main h1.page-title,
body.woo-store.woocommerce main .entry-title,
body.woo-store.woocommerce main h1 {
	text-align: center !important;
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

body.woo-store .woocommerce-products-header__title,
body.woo-store main .entry-title,
body.woo-store main h1.page-title,
body.woo-store.woocommerce main h1 {
	font-size: clamp(1.6rem, 2.8vw, 2rem) !important;
	font-weight: 600 !important;
	color: var(--wb-text) !important;
	margin: 0.25rem 0 1.25rem !important;
	padding: 0 !important;
}

body.woo-store .woocommerce-breadcrumb {
	font-size: 0.75rem !important;
	color: var(--wb-muted) !important;
	margin-bottom: 0.5rem !important;
}

/* ── Barra risultati + tendina (allineata al blocco card, solo desktop) ─ */

body.woo-store .woo-shop-stage {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	width: fit-content !important;
	max-width: min(100%, var(--wb-shop-grid-max)) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box !important;
}

body.woo-store .woo-shop-toolbar {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	align-self: stretch !important;
	gap: 16px !important;
	width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	clear: none !important;
	box-sizing: border-box !important;
}

body.woo-store .woo-shop-toolbar .woocommerce-result-count,
body.woo-store .woo-shop-toolbar .woocommerce-ordering,
body.woo-store .woocommerce .woo-shop-toolbar .woocommerce-result-count,
body.woo-store .woocommerce .woo-shop-toolbar .woocommerce-ordering {
	float: none !important;
	margin: 0 !important;
	flex: 0 1 auto;
	text-align: left !important;
}

body.woo-store .woo-shop-toolbar .woocommerce-ordering,
body.woo-store .woocommerce .woo-shop-toolbar .woocommerce-ordering {
	flex-shrink: 0;
	margin-left: auto !important;
	text-align: right !important;
}

body.woo-store .woocommerce-result-count,
body.woo-store .woocommerce-ordering,
body.woo-store .woocommerce .woocommerce-result-count,
body.woo-store .woocommerce .woocommerce-ordering {
	margin: 0 !important;
	font-size: 0.8125rem !important;
	color: var(--wb-muted) !important;
	line-height: 1.4 !important;
}

/* Float legacy solo fuori dalla toolbar shop */
body.woo-store .woocommerce-ordering,
body.woo-store .woocommerce .woocommerce-ordering {
	float: right !important;
}

body.woo-store .woocommerce-result-count,
body.woo-store .woocommerce .woocommerce-result-count {
	float: left !important;
}

body.woo-store .woo-shop-toolbar .woocommerce-ordering,
body.woo-store .woo-shop-toolbar .woocommerce-result-count,
body.woo-store .woocommerce .woo-shop-toolbar .woocommerce-ordering,
body.woo-store .woocommerce .woo-shop-toolbar .woocommerce-result-count {
	float: none !important;
}

body.woo-store .woocommerce-ordering select,
body.woo-store .woocommerce .woocommerce-ordering select {
	appearance: none !important;
	-webkit-appearance: none !important;
	border: 1px solid var(--wb-border-soft) !important;
	border-radius: var(--wb-radius) !important;
	background: var(--wb-bg) !important;
	color: var(--wb-text) !important;
	box-shadow: none !important;
	outline: none !important;
	height: 34px !important;
	min-height: 34px !important;
	max-height: 34px !important;
	padding: 0 28px 0 10px !important;
	font-size: 0.75rem !important;
	line-height: 34px !important;
	max-width: 210px !important;
	cursor: pointer;
}

body.woo-store .woocommerce-ordering select:focus,
body.woo-store .woocommerce .woocommerce-ordering select:focus {
	border-color: #d8d8d8 !important;
}

body.woo-store .woocommerce::after,
body.woo-store .woocommerce .woocommerce-notices-wrapper + .clear,
body.woo-store main::after {
	content: "" !important;
	display: table !important;
	clear: both !important;
}


/* Catalogo: nessuna regola su ul.products / li.product. Card = widgets/shop-page. */
body.woo-store.single-product span.onsale {
	top: 10px !important;
	left: 10px !important;
	right: auto !important;
	min-height: auto !important;
	min-width: auto !important;
	padding: 4px 8px !important;
	border-radius: var(--wb-radius) !important;
	background: #111 !important;
	color: #fff !important;
	font-size: 0.625rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	line-height: 1.2;
	z-index: 2;
}

/* ── Paginazione shop (visibile solo se più pagine) ─────────────────── */

body.woo-store nav.woocommerce-pagination,
body.woo-store .woocommerce-pagination,
body.woo-store .woocommerce nav.woocommerce-pagination {
	display: block !important;
	width: 100% !important;
	max-width: var(--wb-shop-width) !important;
	margin: 0 auto 2.5rem !important;
	padding: 0 20px !important;
	text-align: center !important;
	clear: both !important;
}

body.woo-store nav.woocommerce-pagination ul.page-numbers,
body.woo-store .woocommerce-pagination ul.page-numbers,
body.woo-store .woocommerce nav.woocommerce-pagination ul.page-numbers {
	display: inline-flex !important;
	flex-wrap: wrap !important;
	justify-content: center !important;
	align-items: center !important;
	gap: 6px !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	border: none !important;
	font-size: 10px !important;
	line-height: 1.4 !important;
	color: var(--wb-muted) !important;
}

body.woo-store nav.woocommerce-pagination ul.page-numbers li,
body.woo-store .woocommerce-pagination ul.page-numbers li,
body.woo-store .woocommerce nav.woocommerce-pagination ul.page-numbers li {
	display: inline-block !important;
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	background: transparent !important;
}

body.woo-store nav.woocommerce-pagination ul.page-numbers a.page-numbers,
body.woo-store nav.woocommerce-pagination ul.page-numbers span.page-numbers,
body.woo-store .woocommerce-pagination ul.page-numbers a.page-numbers,
body.woo-store .woocommerce-pagination ul.page-numbers span.page-numbers,
body.woo-store .woocommerce nav.woocommerce-pagination ul.page-numbers a.page-numbers,
body.woo-store .woocommerce nav.woocommerce-pagination ul.page-numbers span.page-numbers {
	display: inline-block !important;
	min-width: 28px !important;
	padding: 6px 10px !important;
	border: 1px solid var(--wb-border-soft) !important;
	border-radius: var(--wb-radius) !important;
	background: var(--wb-bg) !important;
	color: var(--wb-text) !important;
	font-size: 10px !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	line-height: 1.2 !important;
	box-shadow: none !important;
}

body.woo-store nav.woocommerce-pagination ul.page-numbers span.page-numbers.current,
body.woo-store .woocommerce-pagination ul.page-numbers span.page-numbers.current,
body.woo-store .woocommerce nav.woocommerce-pagination ul.page-numbers span.page-numbers.current {
	background: #111 !important;
	border-color: #111 !important;
	color: #fff !important;
}

body.woo-store nav.woocommerce-pagination ul.page-numbers a.page-numbers:hover,
body.woo-store .woocommerce-pagination ul.page-numbers a.page-numbers:hover,
body.woo-store .woocommerce nav.woocommerce-pagination ul.page-numbers a.page-numbers:hover {
	background: #f7f7f7 !important;
	color: var(--wb-text) !important;
}

body.woo-store nav.woocommerce-pagination ul.page-numbers a.next.page-numbers,
body.woo-store nav.woocommerce-pagination ul.page-numbers a.prev.page-numbers,
body.woo-store .woocommerce-pagination ul.page-numbers a.next.page-numbers,
body.woo-store .woocommerce-pagination ul.page-numbers a.prev.page-numbers,
body.woo-store .woocommerce nav.woocommerce-pagination ul.page-numbers a.next.page-numbers,
body.woo-store .woocommerce nav.woocommerce-pagination ul.page-numbers a.prev.page-numbers {
	font-size: 10px !important;
	letter-spacing: 0.02em !important;
}

/* ── Responsive ──────────────────────────────────────────────────────── */

@media (min-width: 768px) {
	body.woo-store .woo-shop-stage {
		width: fit-content !important;
		max-width: min(100%, var(--wb-shop-grid-max)) !important;
	}
}

@media (max-width: 767px) {
	body.woo-store .woo-shop-stage {
		width: 100% !important;
	}

	body.woo-store .woo-shop-toolbar {
		flex-direction: column !important;
		align-items: center !important;
		text-align: center !important;
		gap: 0.75rem !important;
	}

	body.woo-store .woo-shop-toolbar .woocommerce-result-count,
	body.woo-store .woo-shop-toolbar .woocommerce-ordering,
	body.woo-store .woocommerce .woo-shop-toolbar .woocommerce-result-count,
	body.woo-store .woocommerce .woo-shop-toolbar .woocommerce-ordering {
		width: 100% !important;
		text-align: center !important;
	}

	body.woo-store .woo-shop-toolbar .woocommerce-ordering select,
	body.woo-store .woocommerce .woo-shop-toolbar .woocommerce-ordering select {
		margin: 0 auto !important;
	}
}

@media (max-width: 560px) {
	body.woo-store {
		--wb-gap: 16px;
	}

	body.woo-store.woocommerce main,
	body.woo-store .woocommerce,
	body.woo-store main .woocommerce {
		padding-left: 12px !important;
		padding-right: 12px !important;
	}

	body.woo-store .woocommerce-ordering,
	body.woo-store .woocommerce .woocommerce-ordering {
		float: none !important;
		text-align: center;
	}

	body.woo-store .woocommerce-result-count,
	body.woo-store .woocommerce .woocommerce-result-count {
		float: none !important;
		text-align: center;
		margin-bottom: 0.75rem !important;
	}

	body.woo-store .woocommerce-ordering select,
	body.woo-store .woocommerce .woocommerce-ordering select {
		margin: 0 auto;
	}
}

/* ══════════════════════════════════════════════════════════════════════
   Scheda prodotto singolo — gallery-vertical (1140px, 50/50)
   Markup: .woo-product-gallery-summary (woocommerce-loader.php)
   ══════════════════════════════════════════════════════════════════════ */

body.woo-store.single-product div.product,
body.woo-store.single-product .woocommerce div.product {
	position: relative !important;
	float: none !important;
	clear: both !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 0 48px !important;
	box-sizing: border-box !important;
}

body.woo-store.single-product div.product::before,
body.woo-store.single-product div.product::after,
body.woo-store.single-product .woocommerce div.product::before,
body.woo-store.single-product .woocommerce div.product::after {
	display: none !important;
	content: none !important;
}

/* ── Wrapper gallery + summary (flex 50/50) ─────────────────────────── */

body.woo-store.single-product .woo-product-gallery-summary {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: flex-start !important;
	width: 100% !important;
	padding-bottom: var(--wb-single-zone-gap) !important;
	margin-bottom: var(--wb-single-zone-gap) !important;
	border-bottom: 1px solid var(--wb-single-rule) !important;
}

body.woo-store.single-product .woo-product-gallery-summary .woocommerce-product-gallery,
body.woo-store.single-product .woo-product-gallery-summary div.images {
	flex: 0 0 var(--wb-single-gallery-col) !important;
	max-width: var(--wb-single-gallery-col) !important;
	width: auto !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	box-sizing: border-box !important;
}

body.woo-store.single-product .woo-product-gallery-summary .entry-summary,
body.woo-store.single-product .woo-product-gallery-summary div.summary {
	flex: 0 0 var(--wb-single-summary-col) !important;
	max-width: var(--wb-single-summary-col) !important;
	width: auto !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	box-sizing: border-box !important;
}

body.woo-store.single-product .woo-product-gallery-summary .entry-summary,
body.woo-store.single-product .woo-product-gallery-summary div.summary {
	padding-left: var(--wb-single-summary-pad) !important;
}

/* ── Galleria (grid desktop: thumb sx indipendentemente dall'ordine DOM) ─ */

body.woo-store.single-product .woo-product-gallery-summary .woocommerce-product-gallery,
body.woo-store.single-product .woo-product-gallery-summary div.images {
	display: block !important;
	position: relative !important;
	z-index: 0 !important;
}

body.woo-store.single-product .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
	position: absolute !important;
	top: 1.5em !important;
	right: 1.4em !important;
	display: block !important;
	z-index: 99 !important;
}

body.woo-store.single-product .woocommerce-product-gallery .flex-control-thumbs,
body.woo-store.single-product div.images .flex-control-thumbs {
	margin: 0 !important;
	padding: 0 !important;
	display: flex !important;
	flex-wrap: wrap !important;
	gap: var(--wb-single-thumb-gap) !important;
	list-style: none !important;
	float: none !important;
}

body.woo-store.single-product .woocommerce-product-gallery .flex-control-thumbs li,
body.woo-store.single-product div.images .flex-control-thumbs li {
	cursor: pointer !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	width: 95px !important;
	float: none !important;
}

body.woo-store.single-product .woocommerce-product-gallery .flex-control-thumbs li img,
body.woo-store.single-product div.images .flex-control-thumbs li img {
	display: block !important;
	opacity: 0.5 !important;
	width: 100% !important;
	height: 100% !important;
	padding: 4px !important;
	object-fit: cover !important;
	border: 1px solid transparent !important;
	box-sizing: border-box !important;
	transition: opacity 0.2s ease, border-color 0.3s ease !important;
}

body.woo-store.single-product .woocommerce-product-gallery .flex-control-thumbs li img:hover,
body.woo-store.single-product .woocommerce-product-gallery .flex-control-thumbs li img.flex-active,
body.woo-store.single-product div.images .flex-control-thumbs li img:hover,
body.woo-store.single-product div.images .flex-control-thumbs li img.flex-active {
	opacity: 1 !important;
	border-color: var(--wb-text) !important;
}

body.woo-store.single-product .woocommerce-product-gallery__image img,
body.woo-store.single-product .woocommerce-product-gallery__image a img,
body.woo-store.single-product div.images img.wp-post-image,
body.woo-store.single-product div.images .woocommerce-product-gallery__image img {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	margin: 0 !important;
	border: 1px solid var(--wb-single-img-border) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
}

/* Galleria: stage unico (slide 1) + sorgenti nascoste per Photoswipe */
body.woo-store.single-product .woo-product-gallery-summary .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:not(:first-child) {
	display: none !important;
}

body.woo-store.single-product .woo-product-gallery-summary .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child {
	display: block !important;
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
}

body.woo-store.single-product .woo-product-gallery-summary .woocommerce-product-gallery__wrapper {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	float: none !important;
}

/* Desktop: thumb verticali a sinistra (CSS grid — ordine DOM WC: viewport poi thumbs) */
@media (min-width: 992px) {
	body.woo-store.single-product .woo-product-gallery-summary.gallery-vertical .woocommerce-product-gallery,
	body.woo-store.single-product .woo-product-gallery-summary.gallery-vertical div.images {
		display: grid !important;
		grid-template-columns: var(--wb-single-thumb-size) minmax(0, 1fr) !important;
		column-gap: 20px !important;
		align-items: start !important;
	}

	body.woo-store.single-product .woo-product-gallery-summary.gallery-vertical .flex-control-thumbs {
		grid-column: 1 !important;
		grid-row: 1 !important;
		float: none !important;
		display: flex !important;
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		width: var(--wb-single-thumb-size) !important;
		max-width: var(--wb-single-thumb-size) !important;
		margin: 0 !important;
		padding: 0 !important;
		gap: 12px !important;
	}

	body.woo-store.single-product .woo-product-gallery-summary.gallery-vertical .flex-control-thumbs li {
		display: block !important;
		width: var(--wb-single-thumb-size) !important;
		height: var(--wb-single-thumb-size) !important;
		margin: 0 !important;
	}

	body.woo-store.single-product .woo-product-gallery-summary.gallery-vertical .flex-viewport {
		grid-column: 2 !important;
		grid-row: 1 !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		min-width: 0 !important;
	}

	/* Senza Flexslider (1 sola foto): stage grande in colonna destra */
	body.woo-store.single-product .woo-product-gallery-summary.gallery-vertical .woocommerce-product-gallery__wrapper {
		grid-column: 2 !important;
		grid-row: 1 !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		min-width: 0 !important;
	}

	body.woo-store.single-product .woo-product-gallery-summary.gallery-vertical .woocommerce-product-gallery__trigger {
		grid-column: 2 !important;
		grid-row: 1 !important;
	}
}

/* ── Colonna info prodotto ───────────────────────────────────────────── */

body.woo-store.single-product div.product .product_title,
body.woo-store.single-product div.product h1.product_title {
	font-size: var(--wb-single-title-size) !important;
	font-weight: 600 !important;
	line-height: 1.25 !important;
	color: var(--wb-text) !important;
	margin: 0 0 20px !important;
	padding: 0 !important;
	text-align: left !important;
}

body.woo-store.single-product div.product .woocommerce-product-rating {
	margin: 0 0 20px !important;
}

body.woo-store.single-product div.product p.price,
body.woo-store.single-product div.product span.price {
	font-size: var(--wb-single-price-size) !important;
	font-weight: 700 !important;
	color: var(--wb-text) !important;
	margin: 0 0 20px !important;
}

body.woo-store.single-product div.product .price del {
	font-size: 0.7em !important;
	position: relative !important;
	top: -2px !important;
}

body.woo-store.single-product div.product .price .amount,
body.woo-store.single-product div.product .price bdi {
	color: var(--wb-text) !important;
}

body.woo-store.single-product div.product .woocommerce-product-details__short-description,
body.woo-store.single-product div.product .woocommerce-product-details__short-description p {
	font-size: 0.9375rem !important;
	line-height: 1.55 !important;
	color: var(--wb-muted) !important;
	margin: 0 0 20px !important;
}

body.woo-store.single-product div.product .stock,
body.woo-store.single-product div.product p.stock {
	font-size: 0.875rem !important;
	color: var(--wb-muted) !important;
	margin: 0 0 20px !important;
}

body.woo-store.single-product div.product .stock strong,
body.woo-store.single-product div.product p.stock strong {
	font-weight: 600 !important;
	color: var(--wb-text) !important;
}

body.woo-store.single-product div.product form.cart,
body.woo-store.single-product div.product form.variations_form {
	margin: 0 0 30px !important;
	padding: 0 !important;
	width: 100% !important;
}

body.woo-store.single-product div.product form.cart {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: stretch !important;
	gap: 20px !important;
}

body.woo-store.single-product div.product form.variations_form {
	display: block !important;
}

body.woo-store.single-product div.product .woocommerce-variation-add-to-cart,
body.woo-store.single-product div.product .variations_button {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: stretch !important;
	gap: 20px !important;
	width: 100% !important;
	margin: 12px 0 0 !important;
}

body.woo-store.single-product div.product form.cart .quantity,
body.woo-store.single-product div.product .quantity {
	float: none !important;
	margin: 0 !important;
	flex: 0 0 96px !important;
	display: flex !important;
	align-items: stretch !important;
}

body.woo-store.single-product div.product .quantity input.qty {
	width: 100% !important;
	min-height: 46px !important;
	height: 46px !important;
	border: 1px solid var(--wb-border-soft) !important;
	border-radius: var(--wb-btn-radius) !important;
	background: var(--wb-bg) !important;
	color: var(--wb-text) !important;
	text-align: center !important;
	font-size: 0.9375rem !important;
	font-weight: 600 !important;
	box-shadow: none !important;
	-moz-appearance: textfield !important;
	appearance: textfield !important;
}

body.woo-store.single-product div.product .quantity input.qty::-webkit-outer-spin-button,
body.woo-store.single-product div.product .quantity input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none !important;
	margin: 0 !important;
}

body.woo-store.single-product div.product button.single_add_to_cart_button,
body.woo-store.single-product div.product button.button.alt,
body.woo-store.single-product div.product .single_add_to_cart_button.button {
	flex: 1 1 auto !important;
	min-width: 0 !important;
	min-height: 46px !important;
	height: auto !important;
	margin: 0 !important;
	padding: 12px 24px !important;
	border: none !important;
	border-radius: var(--wb-btn-radius) !important;
	background: var(--wb-btn-bg) !important;
	color: var(--wb-btn-text) !important;
	font-size: 0.75rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	line-height: 1.25 !important;
	box-shadow: none !important;
	cursor: pointer;
	transition: background-color 0.2s ease !important;
}

body.woo-store.single-product div.product button.single_add_to_cart_button:hover,
body.woo-store.single-product div.product button.button.alt:hover,
body.woo-store.single-product div.product .single_add_to_cart_button.button:hover,
body.woo-store.single-product div.product button.single_add_to_cart_button:focus-visible,
body.woo-store.single-product div.product button.button.alt:focus-visible {
	background: var(--wb-btn-bg-hover) !important;
	color: var(--wb-btn-text) !important;
}

body.woo-store.single-product div.product .product_meta,
body.woo-store.single-product div.product .woocommerce-product-meta {
	font-size: 0.875rem !important;
	line-height: 1.5 !important;
	color: var(--wb-text) !important;
	margin: 0 0 20px !important;
	padding: 20px 0 0 !important;
	border-top: 1px solid var(--wb-single-rule) !important;
}

body.woo-store.single-product div.product .product_meta > span,
body.woo-store.single-product div.product .woocommerce-product-meta > span {
	display: block !important;
	margin-bottom: 8px !important;
	text-transform: none !important;
	color: var(--wb-muted) !important;
}

body.woo-store.single-product div.product .product_meta .sku,
body.woo-store.single-product div.product .product_meta a,
body.woo-store.single-product div.product .woocommerce-product-meta a {
	color: var(--wb-text) !important;
	font-weight: 500 !important;
	text-decoration: none !important;
}

body.woo-store.single-product div.product .product_meta a:hover,
body.woo-store.single-product div.product .woocommerce-product-meta a:hover {
	text-decoration: underline !important;
}

body.woo-store.single-product div.product form.cart + .product_meta {
	margin-top: 30px !important;
}

body.woo-store.single-product div.product table.variations {
	width: 100% !important;
	margin: 0 0 12px !important;
}

body.woo-store.single-product div.product table.variations td,
body.woo-store.single-product div.product table.variations th {
	padding: 4px 0 !important;
	border: none !important;
	vertical-align: middle !important;
}

body.woo-store.single-product div.product table.variations select {
	width: 100% !important;
	max-width: 280px !important;
	height: 36px !important;
	border: 1px solid var(--wb-border-soft) !important;
	border-radius: var(--wb-radius) !important;
	background: var(--wb-bg) !important;
	font-size: 0.8125rem !important;
}

body.woo-store.single-product div.product .reset_variations {
	font-size: 0.75rem !important;
	color: var(--wb-muted) !important;
	margin-left: 8px !important;
}

body.woo-store.single-product div.product.sold-individually form.cart .quantity,
body.woo-store.single-product div.product.has-only-one-instock form.cart .quantity {
	display: none !important;
}

/* ── Tab descrizione / recensioni ───────────────────────────────────── */

body.woo-store.single-product div.product .woocommerce-tabs,
body.woo-store.single-product .woocommerce-tabs {
	margin: 0 0 60px !important;
	padding: 0 !important;
	float: none !important;
	width: 100% !important;
	clear: both !important;
}

body.woo-store.single-product div.product .woocommerce-tabs ul.tabs,
body.woo-store.single-product .woocommerce-tabs ul.tabs {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 0 !important;
	margin: 0 0 32px !important;
	padding: 0 !important;
	list-style: none !important;
	border-bottom: 1px solid var(--wb-single-rule) !important;
	text-align: left !important;
}

body.woo-store.single-product div.product .woocommerce-tabs ul.tabs::before,
body.woo-store.single-product div.product .woocommerce-tabs ul.tabs::after {
	display: none !important;
}

body.woo-store.single-product div.product .woocommerce-tabs ul.tabs li {
	float: none !important;
	display: inline-block !important;
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	background: transparent !important;
	border-radius: 0 !important;
	position: relative !important;
}

body.woo-store.single-product div.product .woocommerce-tabs ul.tabs li a {
	display: block !important;
	padding: 10px 30px !important;
	font-size: 1.125rem !important;
	font-weight: 400 !important;
	color: var(--wb-muted) !important;
	text-decoration: none !important;
	border: none !important;
	background: transparent !important;
	transition: color 0.2s ease, box-shadow 0.2s ease !important;
	position: relative !important;
	box-shadow: none !important;
}

body.woo-store.single-product div.product .woocommerce-tabs ul.tabs li:not(.active):not(.woo-tab-is-active) a:hover {
	color: var(--wb-text) !important;
}

/* Tab attiva: riga grigia spessa sotto il link (box-shadow = sempre visibile) */
body.woo-store.single-product div.product .woocommerce-tabs ul.tabs li.active a,
body.woo-store.single-product div.product .woocommerce-tabs ul.tabs li.woo-tab-is-active a,
body.woo-store.single-product div.product .woocommerce-tabs ul.tabs li[aria-selected="true"] a,
body.woo-store.single-product div.product .woocommerce-tabs ul.tabs li a.active,
body.woo-store.single-product div.product .woocommerce-tabs ul.tabs li a.woo-tab-is-active {
	color: var(--wb-text) !important;
	font-weight: 600 !important;
	box-shadow: inset 0 calc(var(--wb-single-tab-active) * -1) 0 0 var(--wb-single-tab-active-color) !important;
}

body.woo-store.single-product div.product .woocommerce-tabs .panel,
body.woo-store.single-product .woocommerce-tabs .panel {
	margin: 0 !important;
	padding: 0 !important;
	font-size: 0.9375rem !important;
	line-height: 1.6 !important;
	color: var(--wb-text) !important;
}

body.woo-store.single-product div.product .woocommerce-tabs .panel h2:first-child,
body.woo-store.single-product div.product .woocommerce-tabs .panel h2:first-of-type {
	font-size: 1.125rem !important;
	font-weight: 600 !important;
	margin: 0 0 1em !important;
}

body.woo-store.single-product div.product .woocommerce-tabs .woocommerce-Reviews-title {
	display: none !important;
}

/* ── Correlati (riusa griglia shop) ──────────────────────────────────── */

body.woo-store.single-product section.related,
body.woo-store.single-product section.upsells {
	margin-top: 0 !important;
	padding-top: 80px !important;
	padding-bottom: 80px !important;
	border-top: 1px solid var(--wb-single-rule) !important;
}

body.woo-store.single-product section.related > h2,
body.woo-store.single-product section.upsells > h2 {
	font-size: 2rem !important;
	font-weight: 600 !important;
	text-align: center !important;
	margin: 0 0 30px !important;
	color: var(--wb-text) !important;
}

body.woo-store.single-product section.related ul.products,
body.woo-store.single-product section.upsells ul.products {
	border-top: none !important;
	padding-top: 0 !important;
	margin-top: 0 !important;
}

@media (max-width: 991px) {
	body.woo-store.single-product {
		--wb-single-gallery-col: 100%;
		--wb-single-summary-col: 100%;
		--wb-single-zone-gap: 32px;
	}

	body.woo-store.single-product .woo-product-gallery-summary .woocommerce-product-gallery,
	body.woo-store.single-product .woo-product-gallery-summary div.images,
	body.woo-store.single-product .woo-product-gallery-summary .entry-summary,
	body.woo-store.single-product .woo-product-gallery-summary div.summary {
		flex: 0 0 100% !important;
		max-width: 100% !important;
	}

	body.woo-store.single-product .woo-product-gallery-summary .entry-summary,
	body.woo-store.single-product .woo-product-gallery-summary div.summary {
		padding-left: 0 !important;
		margin-top: 24px !important;
	}

	body.woo-store.single-product div.product,
	body.woo-store.single-product .woocommerce div.product {
		padding-bottom: 32px !important;
	}

	body.woo-store.single-product div.product .product_title,
	body.woo-store.single-product div.product h1.product_title {
		font-size: clamp(1.5rem, 5vw, var(--wb-single-title-size)) !important;
	}
}

@media (max-width: 767px) {
	body.woo-store.single-product div.product .woocommerce-tabs ul.tabs li {
		display: block !important;
		width: 100% !important;
	}

	body.woo-store.single-product div.product .woocommerce-tabs ul.tabs li a {
		padding: 10px 16px !important;
		font-size: 1rem !important;
	}

	body.woo-store.single-product section.related > h2,
	body.woo-store.single-product section.upsells > h2 {
		font-size: 1.5rem !important;
	}

	body.woo-store.single-product section.related,
	body.woo-store.single-product section.upsells {
		padding-top: 48px !important;
		padding-bottom: 48px !important;
	}
}
