/* Il sito non prevede alcuna funzione nativa di trascinamento. */
html,
body,
body * {
	-webkit-user-drag: none;
}

.svuota-carrello-btn {
	display: block;
	width: 100%;
	margin-top: 10px;
	padding: 11px 30px;
	border: 0;
	border-radius: 10px;
	background: #90826a;
	color: #fff;
	font-family: Archivo, sans-serif;
	font-size: 14px;
	letter-spacing: 0.5px;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	cursor: pointer;
}

/* Sostituisce esclusivamente la busta del tema con un carrello riconoscibile. */
.header-cart-button .base-svg-iconset::after {
	-webkit-mask-image: url("../images/shopping-cart.svg");
	mask-image: url("../images/shopping-cart.svg");
	-webkit-mask-size: 24px;
	mask-size: 24px;
}

/* Uniforma la distanza tra cerca, account e carrello nell'header. */
#masthead .site-header-main-section-right,
#masthead .site-header-mobile-section-right {
	column-gap: 16px;
}

#masthead .site-header-main-section-right > .site-header-item,
#masthead .site-header-mobile-section-right > .site-header-item {
	margin-right: 0;
}

/* Ingombri delle icone uguali al riferimento Il mio account, guest e autenticati.
 * Non modifica display: la ricerca continua a nascondersi automaticamente nello Shop.
 */
#masthead [data-section="base_customizer_header_account"] {
	flex-shrink: 0;
	width: 35px;
	min-width: 35px;
}

#masthead .header-account-control-wrap .menu-account-item > .header-account-button {
	box-sizing: border-box;
	width: 35px;
	margin: 0;
	padding: 8.4px 0;
	font-size: 14px;
}

#masthead .header-account-control-wrap .header-account-button > .nav-drop-title-wrap {
	box-sizing: border-box;
	width: 35px;
	padding: 0 14px 0 0;
}

#masthead [data-section="base_customizer_header_search"] {
	flex-shrink: 0;
	width: 22.4px;
	min-width: 22.4px;
}

#masthead .search-toggle-open-container .search-toggle-open {
	box-sizing: border-box;
	width: 22.4px;
	height: 22.4px;
	margin: 0;
	padding: 0;
}

/* Da autenticati la freccia resta bianca come su Il mio account, anche nel catalogo pubblico. */
body.logged-in #masthead .header-account-control-wrap .header-account-button .dropdown-nav-toggle,
body.logged-in #masthead .header-account-control-wrap .header-account-button .dropdown-nav-toggle .base-svg-iconset,
body.logged-in #masthead .header-account-control-wrap .header-account-button .dropdown-nav-toggle svg {
	color: #fff !important;
}

/* Centra esclusivamente la tendina account sotto il relativo pulsante. */
.header-account-control-wrap .menu-account-item > ul.submenu,
.header-account-control-wrap .menu-account-item > ul.sub-menu {
	left: 50% !important;
	right: auto !important;
	width: 180px !important;
	min-width: 0;
	max-width: calc(100vw - 24px);
	box-sizing: border-box;
	overflow: hidden;
	translate: -50% 0;
}

/* Trattiene anche la riga attiva entro il bordo della tendina account. */
.header-account-control-wrap .menu-account-item > ul.submenu > li,
.header-account-control-wrap .menu-account-item > ul.sub-menu > li {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	overflow: hidden;
}

.header-account-control-wrap .menu-account-item > ul.submenu > li > a,
.header-account-control-wrap .menu-account-item > ul.sub-menu > li > a {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	margin-right: 0 !important;
	margin-left: 0 !important;
}

/* Nella tendina superiore restano soltanto le destinazioni account utili. */
.header-account-control-wrap .woocommerce-MyAccount-navigation-link--dashboard,
.header-account-control-wrap .woocommerce-MyAccount-navigation-link--downloads,
.header-account-control-wrap .woocommerce-MyAccount-navigation-link--edit-address,
.header-account-control-wrap .woocommerce-MyAccount-navigation-link--payment-methods {
	display: none !important;
}

/*
 * Da sloggati, sul telefono la freccia account resta visibile ma non espone
 * una tendina: icona e freccia portano entrambe direttamente all'accesso.
 */
@media screen and (max-width: 767px) {
	body:not(.logged-in) .header-account-control-wrap .menu-account-item > ul.submenu,
	body:not(.logged-in) .header-account-control-wrap .menu-account-item > ul.sub-menu {
		display: none !important;
		visibility: hidden !important;
		pointer-events: none !important;
	}
}

/* Nelle pagine account WooCommerce non deve restringere la tendina dell'header. */
@media screen and (max-width: 767px) {
	body.woocommerce-account .header-account-control-wrap ul.woocommerce-MyAccount-navigation.submenu {
		float: none !important;
	}

	body.woocommerce-account #main .account-navigation-wrap,
	body.woocommerce-account #main .woocommerce-MyAccount-navigation,
	body.woocommerce-account #main .woocommerce-MyAccount-content {
		float: none !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	body.woocommerce-account #main .account-navigation-wrap {
		margin-bottom: 1.5em;
		border-right: 0 !important;
		border-left: 0 !important;
	}

	body.woocommerce-account #main .account-navigation-wrap li a {
		white-space: nowrap;
		word-break: normal;
		overflow-wrap: normal;
	}

	body.woocommerce-account #main .woocommerce-MyAccount-content {
		padding-right: 0 !important;
		padding-left: 0 !important;
	}
}

/* Il menu Shop del checkout desktop deve restare sopra ai wallet rapidi. */
@media screen and (min-width: 768px) {
	body.woocommerce-checkout #masthead {
		z-index: 10010;
	}
}

/* Nel riepilogo Checkout restano nome, variante, quantita e prezzo: la descrizione breve e ridondante. */
body.woocommerce-checkout .wc-block-components-product-metadata__description {
	display: none !important;
}

/* Riepilogo conclusivo e dettaglio ordine account: stessa miniatura prodotto. */
body.woocommerce-order-received .woocommerce-table--order-details td.product-name,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-table--order-details td.product-name {
	vertical-align: middle;
}

body.woocommerce-order-received .cornukopia-order-item-thumbnail,
body.woocommerce-account .woocommerce-MyAccount-content .cornukopia-order-item-thumbnail {
	float: left;
	display: block;
	width: 64px;
	height: 64px;
	margin: -7px 14px -7px 0;
}

body.woocommerce-order-received .cornukopia-order-item-thumbnail__image,
body.woocommerce-account .woocommerce-MyAccount-content .cornukopia-order-item-thumbnail__image {
	display: block;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	object-fit: contain;
	object-position: center;
}

body.woocommerce-order-received .woocommerce-table--order-details td.product-name::after,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-table--order-details td.product-name::after {
	display: block;
	clear: both;
	content: '';
}

/* Visualizza conserva il layout nativo; il riacquisto usa il carrello follower. */
body.woocommerce-account .woocommerce-orders-table__cell-order-actions {
	white-space: nowrap;
}

body.woocommerce-account .woocommerce-orders-table__cell-order-actions .cornukopia-add-order-to-cart {
	position: relative;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 48px !important;
	min-width: 48px !important;
	max-width: 48px !important;
	height: 48px !important;
	min-height: 48px !important;
	margin-left: 8px !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: #2f1f1b !important;
	box-shadow: 0 5px 18px rgba(47, 31, 27, 0.25);
	color: transparent !important;
	font-size: 0 !important;
	line-height: 0 !important;
	vertical-align: middle;
	overflow: visible;
}

body.woocommerce-account .woocommerce-orders-table__cell-order-actions .cornukopia-add-order-to-cart::before {
	display: block;
	width: 24px;
	height: 24px;
	background: #fff;
	-webkit-mask: url("../images/shopping-cart.svg") center / contain no-repeat;
	mask: url("../images/shopping-cart.svg") center / contain no-repeat;
	content: '';
}

body.woocommerce-account .woocommerce-orders-table__cell-order-actions .cornukopia-add-order-to-cart::after {
	position: absolute;
	top: -5px;
	right: -5px;
	display: block;
	box-sizing: border-box;
	min-width: 21px;
	height: 21px;
	padding: 0 4px;
	border-radius: 11px;
	background: #90826a;
	color: #fff;
	font-size: 16px;
	font-weight: 600;
	line-height: 21px;
	text-align: center;
	content: '+';
}

body.woocommerce-account .woocommerce-orders-table__cell-order-actions .cornukopia-add-order-to-cart:hover,
body.woocommerce-account .woocommerce-orders-table__cell-order-actions .cornukopia-add-order-to-cart:focus,
body.woocommerce-account .woocommerce-orders-table__cell-order-actions .cornukopia-add-order-to-cart:focus-visible,
body.woocommerce-account .woocommerce-orders-table__cell-order-actions .cornukopia-add-order-to-cart:active {
	background: #2f1f1b !important;
	outline: 0;
}

body.woocommerce-account .woocommerce-orders-table__cell-order-actions .cornukopia-add-order-to-cart.is-loading {
	opacity: 0.55;
	pointer-events: none;
}

body.woocommerce-account .woocommerce-order-details__title.cornukopia-order-details-title {
	display: flex;
	align-items: center;
	gap: 10px;
}

body.woocommerce-account .cornukopia-view-order-add-to-cart {
	position: relative;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	flex: 0 0 32px;
	width: 32px !important;
	min-width: 32px !important;
	max-width: 32px !important;
	height: 32px !important;
	min-height: 32px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: #2f1f1b !important;
	box-shadow: 0 4px 12px rgba(47, 31, 27, 0.22);
	color: transparent !important;
	font-size: 0 !important;
	line-height: 0 !important;
	text-decoration: none !important;
	vertical-align: middle;
	overflow: visible;
}

body.woocommerce-account .cornukopia-view-order-add-to-cart::before {
	display: block;
	width: 16px;
	height: 16px;
	background: #fff;
	-webkit-mask: url("../images/shopping-cart.svg") center / contain no-repeat;
	mask: url("../images/shopping-cart.svg") center / contain no-repeat;
	transform: translateX(-3px);
	content: '';
}

body.woocommerce-account .cornukopia-view-order-add-to-cart::after {
	position: absolute;
	top: -3px;
	right: -3px;
	display: block;
	box-sizing: border-box;
	min-width: 14px;
	height: 14px;
	padding: 0 3px;
	border-radius: 7px;
	background: #90826a;
	color: #fff;
	font-size: 11px;
	font-weight: 600;
	line-height: 14px;
	text-align: center;
	content: '+';
}

body.woocommerce-account .cornukopia-view-order-add-to-cart:hover,
body.woocommerce-account .cornukopia-view-order-add-to-cart:focus,
body.woocommerce-account .cornukopia-view-order-add-to-cart:focus-visible,
body.woocommerce-account .cornukopia-view-order-add-to-cart:active {
	background: #2f1f1b !important;
	outline: 0;
}

body.woocommerce-account .cornukopia-view-order-add-to-cart.is-loading {
	opacity: 0.55;
	pointer-events: none;
}

body.woocommerce-order-received .cornukopia-order-print {
	display: block;
	margin: 4px 0 12px;
	font-size: 14px;
	line-height: 1.25;
}

body.woocommerce-account .cornukopia-view-order-print {
	display: inline-flex;
	align-items: center;
	margin: 0;
	font-size: 14px;
	line-height: 1.25;
}

body.woocommerce-order-received .cornukopia-order-print__button,
body.woocommerce-account .cornukopia-view-order-print .cornukopia-order-print__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: auto;
	min-width: 0;
	min-height: 0;
	padding: 5px 11px;
	border: 1px solid #90826a;
	border-radius: 5px;
	background: #f5f1e8;
	color: #2f1f1b;
	font-family: inherit;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.2;
	cursor: pointer;
}

body.woocommerce-order-received .cornukopia-order-print-copy {
	display: none !important;
}

body.woocommerce-account .cornukopia-view-order-print-copy {
	display: none !important;
}

body.woocommerce-account .woocommerce-MyAccount-content
.woocommerce-pagination.cornukopia-orders-pagination {
	display: inline-grid;
	grid-template-columns: max-content max-content;
	grid-template-rows: auto auto;
	align-items: center;
	justify-content: start;
	column-gap: 8px;
}

body.woocommerce-account .cornukopia-orders-pagination .woocommerce-button--previous {
	grid-column: 1;
	grid-row: 1;
	margin: 0 !important;
	zoom: 0.8;
}

body.woocommerce-account .cornukopia-orders-pagination .woocommerce-button--next {
	grid-column: 2;
	grid-row: 1;
	margin: 0 !important;
	zoom: 0.8;
}

body.woocommerce-account .cornukopia-orders-pagination .woocommerce-button--next:first-child {
	grid-column: 1;
}

body.woocommerce-account .cornukopia-orders-progress {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	grid-column: 1;
	grid-row: 2;
	justify-self: center;
	margin-top: 7px;
	margin-left: 0;
	font-weight: 400;
	vertical-align: middle;
	white-space: nowrap;
}

body.woocommerce-account .cornukopia-orders-progress.is-standalone {
	display: flex;
	margin-left: 0;
	margin-top: 1em;
}

@media print {
	body.woocommerce-order-received.cornukopia-printing-order-received
	> *:not(.cornukopia-order-print-copy) {
		display: none !important;
	}

	body.woocommerce-order-received.cornukopia-printing-order-received
	> .cornukopia-order-print-copy {
		display: block !important;
		width: 100%;
		margin: 0 !important;
		padding: 0 !important;
		color: #000;
		background: #fff;
	}

	body.woocommerce-order-received.cornukopia-printing-order-received
	> .cornukopia-order-print-copy .woocommerce-order {
		position: static !important;
		width: 100%;
		margin: 0 !important;
		padding: 0 !important;
	}

	body.woocommerce-order-received.cornukopia-printing-order-received
	> .cornukopia-order-print-copy a,
	body.woocommerce-account.cornukopia-printing-view-order
	> .cornukopia-view-order-print-copy a {
		color: inherit !important;
		text-decoration: none !important;
	}

	body.woocommerce-account.cornukopia-printing-view-order
	> *:not(.cornukopia-view-order-print-copy) {
		display: none !important;
	}

	body.woocommerce-account.cornukopia-printing-view-order
	> .cornukopia-view-order-print-copy {
		display: block !important;
		width: 100%;
		margin: 0 !important;
		padding: 0 !important;
		color: #000;
		background: #fff;
	}

	body.woocommerce-account.cornukopia-printing-view-order
	> .cornukopia-view-order-print-copy .cornukopia-view-order-print-content {
		float: none !important;
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 0 !important;
	}
}

@media screen and (max-width: 767px) {
	body.woocommerce-order-received .cornukopia-order-item-thumbnail,
	body.woocommerce-account .woocommerce-MyAccount-content .cornukopia-order-item-thumbnail {
		width: 52px;
		height: 52px;
		margin: -3px 10px -3px 0;
	}
}

/* Nel desktop il mini-carrello non modifica lo scorrimento della pagina. */
@media screen and (min-width: 768px) {
	#cart-drawer.show-drawer .drawer-content ul.woocommerce-mini-cart,
	#cart-drawer.show-drawer .drawer-content ul.product_list_widget {
		overscroll-behavior-y: contain;
	}

	body[class*="showing-popup-drawer-"]:has(#cart-drawer.show-drawer) {
		overflow-y: auto !important;
	}
}

body.base-scrollbar-fixer:has(#cart-drawer.show-drawer) {
	margin-right: 0 !important;
}

body.base-scrollbar-fixer:has(#cart-drawer.show-drawer) .item-is-fixed {
	right: 0 !important;
}

.cornukopia-floating-cart {
	position: fixed;
	z-index: 10020;
	top: 18px;
	right: 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 48px;
	height: 48px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #2f1f1b;
	box-shadow: 0 5px 18px rgba(47, 31, 27, 0.25);
	opacity: 0;
	transform: translateY(-12px) scale(0.94);
	visibility: hidden;
	pointer-events: none;
	cursor: pointer;
	transition: opacity 180ms ease, transform 180ms ease, visibility 0s linear 180ms;
}

.cornukopia-floating-cart.is-visible {
	opacity: 1;
	transform: translateY(0) scale(1);
	visibility: visible;
	pointer-events: auto;
	transition-delay: 0s;
}

.cornukopia-floating-cart:hover,
.cornukopia-floating-cart:focus,
.cornukopia-floating-cart:focus-visible,
.cornukopia-floating-cart:active {
	background: #2f1f1b !important;
	outline: 0;
}

.cornukopia-floating-cart__icon {
	display: block;
	width: 24px;
	height: 24px;
	background: #fff;
	-webkit-mask: url("../images/shopping-cart.svg") center / contain no-repeat;
	mask: url("../images/shopping-cart.svg") center / contain no-repeat;
}

.cornukopia-floating-cart__count {
	position: absolute;
	top: -5px;
	right: -5px;
	display: block;
	box-sizing: border-box;
	min-width: 21px;
	height: 21px;
	padding: 0 4px;
	border-radius: 11px;
	background: #90826a;
	color: #fff;
	font-size: 12px;
	font-weight: 600;
	line-height: 21px;
	text-align: center;
}

#cart-drawer h2.side-cart-header {
	display: flex;
	align-items: center;
	gap: 10px;
}

#cart-drawer .cornukopia-mini-cart-orders-link {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 34px;
	min-width: 34px;
	height: 34px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #2f1f1b;
	box-shadow: 0 5px 18px rgba(47, 31, 27, 0.25);
	transform: translateX(29px);
	text-decoration: none;
}

#cart-drawer .cornukopia-mini-cart-orders-link::before {
	display: block;
	width: 17px;
	height: 17px;
	background: #fff;
	-webkit-mask: url("../images/shopping-cart.svg") center / contain no-repeat;
	mask: url("../images/shopping-cart.svg") center / contain no-repeat;
	transform: translateX(-3px);
	content: '';
}

#cart-drawer .cornukopia-mini-cart-orders-link:hover,
#cart-drawer .cornukopia-mini-cart-orders-link:focus,
#cart-drawer .cornukopia-mini-cart-orders-link:focus-visible,
#cart-drawer .cornukopia-mini-cart-orders-link:active {
	background: #2f1f1b !important;
	outline: 0;
}

#cart-drawer .cornukopia-mini-cart-orders-link::after {
	position: absolute;
	top: -4px;
	right: -4px;
	display: block;
	box-sizing: border-box;
	min-width: 15px;
	height: 15px;
	padding: 0 3px;
	border-radius: 8px;
	background: #90826a;
	color: #fff;
	font-size: 11px;
	font-weight: 600;
	line-height: 15px;
	text-align: center;
	content: '+';
}

body.admin-bar .cornukopia-floating-cart {
	top: 50px;
}

body.showing-popup-drawer-from-left .cornukopia-floating-cart,
body.showing-popup-drawer-from-right .cornukopia-floating-cart {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

@media screen and (max-width: 782px) {
	body.admin-bar .cornukopia-floating-cart {
		top: 64px;
	}
}

/* La singola slide Home non necessita dell'indicatore puntiforme. */
body.home #SR7_1_1 sr7-bullets {
	display: none !important;
}

@media screen and (max-width: 767px) {
	/* Blocca la pagina sotto, lasciando scorrere soltanto l'elenco del carrello. */
	body[class*="showing-popup-drawer-"]:has(#cart-drawer.show-drawer) {
		overflow: hidden !important;
		overscroll-behavior: none;
	}

	#cart-drawer.show-drawer .drawer-content ul.woocommerce-mini-cart,
	#cart-drawer.show-drawer .drawer-content ul.product_list_widget {
		overscroll-behavior-y: contain;
	}

	.cornukopia-floating-cart {
		top: 12px;
		right: 12px;
		width: 44px;
		height: 44px;
	}

	#cart-drawer .cornukopia-mini-cart-orders-link {
		width: 31px;
		min-width: 31px;
		height: 31px;
	}

	body.woocommerce-account .woocommerce-orders-table__cell-order-actions .cornukopia-add-order-to-cart {
		width: 44px !important;
		min-width: 44px !important;
		max-width: 44px !important;
		height: 44px !important;
		min-height: 44px !important;
	}

	body.admin-bar .cornukopia-floating-cart {
		top: 60px;
	}

	/* Due azioni uguali, centrate e sempre contenute nella larghezza del drawer. */
	#cart-drawer .woocommerce-mini-cart__buttons.buttons {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		box-sizing: border-box;
		width: 100%;
		margin: 0 !important;
		padding: 12px 16px 0 !important;
		gap: 8px;
	}

	#cart-drawer .woocommerce-mini-cart__buttons.buttons::before,
	#cart-drawer .woocommerce-mini-cart__buttons.buttons::after {
		display: none !important;
		content: none !important;
	}

	#cart-drawer .woocommerce-mini-cart__buttons.buttons > .button {
		display: flex !important;
		align-items: center;
		justify-content: center;
		box-sizing: border-box;
		width: 100% !important;
		min-width: 0;
		min-height: 64px;
		margin: 0 !important;
		padding: 10px 8px !important;
		line-height: 1.35;
		text-align: center;
	}

	#cart-drawer .svuota-carrello-btn {
		box-sizing: border-box;
		width: calc(100% - 32px) !important;
		margin: 8px 16px 0 !important;
	}

	/* Sui touch lo stato hover non deve restare agganciato dopo la rimozione. */
	#cart-drawer a.remove.remove_from_cart_button:hover,
	#cart-drawer a.remove.remove_from_cart_button:focus,
	#cart-drawer a.remove.remove_from_cart_button:active {
		background: transparent !important;
		box-shadow: none !important;
		color: var(--color-alert, #e34b4b) !important;
		outline: 0;
	}

}

/*
 * Il tema trasforma i correlati in Owl Carousel dopo il primo rendering.
 * Prima dell'inizializzazione mostra gia una sola riga con le stesse larghezze
 * finali, evitando il lampo iniziale su piu righe.
 */
.single-product .related.products ul.products:not(.owl-carousel) {
	display: flex !important;
	flex-wrap: nowrap !important;
	gap: 0 !important;
	overflow: hidden;
}

.single-product .related.products ul.products:not(.owl-carousel) > li.product {
	float: none !important;
	flex: 0 0 calc(25% - 30px);
	box-sizing: border-box;
	width: calc(25% - 30px) !important;
	margin-right: 15px !important;
	margin-left: 15px !important;
}

/* Stessa area comandi del catalogo, compresi peso e moltiplicatore. */
.single-product .related.products ul.products li.product .product-action-wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	box-sizing: border-box;
	min-height: 102px;
}

@media screen and (max-width: 1024px) {
	.single-product .related.products ul.products:not(.owl-carousel) > li.product {
		flex-basis: calc(33.333333% - 30px);
		width: calc(33.333333% - 30px) !important;
	}
}

@media screen and (max-width: 479px) {
	.single-product .related.products ul.products:not(.owl-carousel) > li.product {
		flex-basis: calc(50% - 20px);
		width: calc(50% - 20px) !important;
		margin-right: 10px !important;
		margin-left: 10px !important;
	}

	.single-product .related.products ul.products.owl-carousel .owl-item > li.product {
		width: calc(100% - 20px) !important;
		margin-right: 10px !important;
		margin-left: 10px !important;
	}
}

.svuota-carrello-btn:hover,
.svuota-carrello-btn:focus {
	background: #756951;
	color: #fff;
}

.svuota-carrello-btn:disabled {
	cursor: wait;
	opacity: 0.6;
}

#cart-drawer .woocommerce-mini-cart-item.cornukopia-mini-cart-item-removal-pending,
.woocommerce-cart-form .cart_item.cornukopia-cart-item-removal-pending {
	opacity: 0.52 !important;
	pointer-events: none;
	transition: opacity 140ms ease;
}

.wc-block-cart-items__row.cornukopia-cart-item-removal-pending {
	opacity: 0.52 !important;
	pointer-events: none;
}

body.woocommerce-cart .wc-block-cart-items__row.cornukopia-cart-item-removal-confirmed {
	display: none !important;
}

/* Feedback soltanto visivo: non invalida lo Store e non avvia altri calcoli. */
body.woocommerce-cart.cornukopia-cart-removal-totals-pending .wc-block-cart__sidebar .wc-block-components-totals-item__value,
body.woocommerce-cart.cornukopia-cart-quantity-totals-pending .wc-block-cart__sidebar .wc-block-components-totals-item__value {
	display: inline-block;
	min-width: 72px;
	border-radius: 4px;
	background: linear-gradient(90deg, #e5e1da 25%, #f5f2ed 50%, #e5e1da 75%);
	background-size: 200% 100%;
	color: transparent !important;
	text-shadow: none !important;
	animation: cornukopia-cart-total-skeleton 850ms linear infinite;
	transform: scaleY(0.9);
	transform-origin: center;
}

body.woocommerce-cart.cornukopia-cart-removal-totals-pending .wc-block-cart__sidebar .wc-block-components-totals-item__value *,
body.woocommerce-cart.cornukopia-cart-quantity-totals-pending .wc-block-cart__sidebar .wc-block-components-totals-item__value * {
	color: transparent !important;
}

@keyframes cornukopia-cart-total-skeleton {
	from {
		background-position: 200% 0;
	}
	to {
		background-position: -200% 0;
	}
}

body.woocommerce-cart .wc-block-cart-items__row.cornukopia-cart-item-quantity-pending .wc-block-cart-item__image,
body.woocommerce-cart .wc-block-cart-items__row.cornukopia-cart-item-removal-pending .wc-block-cart-item__image {
	position: relative;
}

body.woocommerce-cart .wc-block-cart-items__row.cornukopia-cart-item-quantity-pending .wc-block-cart-item__image img {
	opacity: 0.46;
	transition: opacity 140ms ease;
}

body.woocommerce-cart .wc-block-cart-items__row.cornukopia-cart-item-quantity-pending .wc-block-cart-item__image::after,
body.woocommerce-cart .wc-block-cart-items__row.cornukopia-cart-item-removal-pending .wc-block-cart-item__image::after {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 3;
	box-sizing: border-box;
	width: 22px;
	height: 22px;
	margin: -11px 0 0 -11px;
	border: 2px solid rgba(144, 130, 106, 0.28);
	border-top-color: #90826a;
	border-radius: 50%;
	content: "";
	animation: cornukopia-add-status-spin 650ms linear infinite;
	pointer-events: none;
}

html.cornukopia-empty-cart-redirecting .wp-block-woocommerce-cart,
html.cornukopia-empty-cart-redirecting .wp-block-woocommerce-empty-cart-block,
html.cornukopia-empty-cart-redirecting .wp-block-woocommerce-checkout,
html.cornukopia-empty-cart-redirecting .wc-block-checkout {
	visibility: hidden !important;
}

.woocommerce .quantity.cornukopia-mini-cart-quantity {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 9px;
}

.cornukopia-mini-cart-quantity__control {
	display: inline-grid;
	grid-template-columns: 26px minmax(30px, auto) 26px;
	align-items: center;
	position: relative;
	height: 28px;
	overflow: visible;
	border: 0;
	border-radius: 6px;
	background: transparent;
	box-shadow: none;
	transition: box-shadow 150ms ease, border-color 150ms ease;
}

.cornukopia-mini-cart-quantity__control::after {
	content: '';
	position: absolute;
	inset: 1px;
	border: 1px solid #8f826a;
	border-radius: 5px;
	box-shadow: 0 1px 2px rgba(47, 31, 27, 0.12);
	pointer-events: none;
	transition: box-shadow 150ms ease, border-color 150ms ease;
}

.cornukopia-mini-cart-quantity.is-pending .cornukopia-mini-cart-quantity__control::after {
	border-color: #2f1f1b;
	box-shadow: 0 0 0 1.5px rgba(144, 130, 106, 0.24);
}

.cornukopia-mini-cart-quantity.is-pending.is-increasing .cornukopia-mini-cart-quantity__control::after {
	border-color: #78a981;
	box-shadow: 0 0 0 2px rgba(143, 205, 153, 0.48);
}

.cornukopia-mini-cart-quantity.is-pending.is-decreasing .cornukopia-mini-cart-quantity__control::after {
	border-color: #d29a57;
	box-shadow: 0 0 0 2px rgba(240, 178, 99, 0.5);
}

.woocommerce .cornukopia-mini-cart-quantity__control .cornukopia-mini-cart-quantity__button {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 26px;
	height: 28px;
	min-width: 26px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: #f1ece4;
	color: #2f1f1b;
	font: 700 14px/1 Archivo, sans-serif;
	cursor: pointer;
	transition: background-color 150ms ease, color 150ms ease;
}

.woocommerce .cornukopia-mini-cart-quantity__control .cornukopia-mini-cart-quantity__button:first-child {
	clip-path: inset(1px 0 1px 1px round 5px 0 0 5px);
}

.woocommerce .cornukopia-mini-cart-quantity__control .cornukopia-mini-cart-quantity__button:last-child {
	clip-path: inset(1px 1px 1px 0 round 0 5px 5px 0);
}

.cornukopia-mini-cart-quantity__button:hover,
.cornukopia-mini-cart-quantity__button:focus-visible {
	background: #2f1f1b;
	color: #fff;
	outline: 0;
}

.cornukopia-mini-cart-quantity__button:disabled {
	cursor: not-allowed;
	background: #f5f3ef;
	color: #aaa39a;
}

.cornukopia-mini-cart-quantity__value {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-width: 30px;
	height: 28px;
	border-right: 1px solid #d2c8b8;
	border-left: 1px solid #d2c8b8;
	background: #fff;
	color: #1f1714;
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
	text-align: center;
	clip-path: inset(1px 0);
}

/* Il totale cumulato nel carrello puo superare le tre cifre. */
form.woocommerce-cart-form .quantity input.qty {
	box-sizing: border-box;
	width: 72px !important;
	min-width: 72px !important;
}

/*
 * Carrello: controllo quantita compatto e coerente su desktop e telefono.
 * La larghezza del valore centrale conserva spazio anche per quantita oltre 999.
 */
body.woocommerce-cart .wc-block-cart-items .wc-block-components-quantity-selector {
	box-sizing: border-box;
	width: 108px !important;
	min-width: 108px !important;
	max-width: 108px !important;
	height: 34px !important;
	min-height: 34px !important;
	border-radius: 7px !important;
	overflow: hidden;
}

body.woocommerce-cart .wc-block-cart-items .wc-block-components-quantity-selector::after {
	border-color: #d2c8b8 !important;
	border-radius: 7px !important;
}

body.woocommerce-cart .wc-block-cart-items .wc-block-components-quantity-selector.is-pending.is-increasing::after {
	border-color: #78a981 !important;
}

body.woocommerce-cart .wc-block-cart-items .wc-block-components-quantity-selector.is-pending.is-decreasing::after {
	border-color: #d29a57 !important;
}

body.woocommerce-cart .wc-block-cart-items .wc-block-components-quantity-selector.is-pending.is-increasing {
	box-shadow: 0 0 0 2px rgba(143, 205, 153, 0.48) !important;
}

body.woocommerce-cart .wc-block-cart-items .wc-block-components-quantity-selector.is-pending.is-decreasing {
	box-shadow: 0 0 0 2px rgba(240, 178, 99, 0.5) !important;
}

@media (prefers-reduced-motion: reduce) {
	body.woocommerce-cart .wc-block-cart-items__row.cornukopia-cart-item-quantity-pending .wc-block-cart-item__image::after,
	body.woocommerce-cart .wc-block-cart-items__row.cornukopia-cart-item-removal-pending .wc-block-cart-item__image::after {
		animation: none;
	}

	body.woocommerce-cart.cornukopia-cart-removal-totals-pending .wc-block-cart__sidebar .wc-block-components-totals-item__value,
	body.woocommerce-cart.cornukopia-cart-quantity-totals-pending .wc-block-cart__sidebar .wc-block-components-totals-item__value {
		animation: none;
	}
}

body.woocommerce-cart .wc-block-cart-items .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
	box-sizing: border-box;
	flex: 0 0 48px !important;
	width: 48px !important;
	min-width: 48px !important;
	height: 100% !important;
	padding: 0 !important;
	text-align: center;
}

body.woocommerce-cart .wc-block-cart-items .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
	box-sizing: border-box;
	flex: 0 0 29px !important;
	width: 29px !important;
	min-width: 29px !important;
	height: 100% !important;
	min-height: 0 !important;
	padding: 0 !important;
	border-radius: 0 !important;
}

/* Il click non lascia il tasto acceso; la tastiera conserva un focus visibile. */
body.woocommerce-cart .wc-block-cart-items .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:focus:not(:focus-visible):not(:active) {
	outline: none !important;
	background: transparent !important;
	box-shadow: none !important;
}

body.woocommerce-cart .wc-block-cart-items .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:focus-visible {
	outline: 2px solid #9f8f70 !important;
	outline-offset: -3px;
}

/* Il click sul passaggio al checkout non deve lasciare l'alone blu di WooCommerce Blocks. */
body.woocommerce-cart .wc-block-cart__submit-button:focus,
body.woocommerce-cart .wc-block-cart__submit-button:focus-visible {
	outline: none !important;
	box-shadow: none !important;
}

/* WooCommerce usa 12px: raddoppia lo spazio fra moltiplicatore e cestino. */
body.woocommerce-cart .wc-block-cart-items .wc-block-cart-item__quantity {
	gap: 24px !important;
}

/*
 * I blocchi Carrello e Checkout impilano un banner informativo a ogni cambio
 * quantita o rimozione. Sono conferme ridondanti: errori e avvisi restano attivi.
 */
body.woocommerce-cart .wc-block-components-notice-banner.is-info,
body.woocommerce-checkout .wc-block-components-notice-banner.is-info {
	display: none !important;
}

.cornukopia-mini-cart-quantity__price {
	color: #2f1f1b;
	font-size: 14px;
	font-weight: 600;
	white-space: nowrap;
}

.cornukopia-mini-cart-quantity__error {
	flex-basis: 100%;
	color: #b81c23;
	font-size: 12px;
	line-height: 1.3;
}

.woocommerce ul.products li.product .product-thumbnail {
	position: relative;
}

.woocommerce ul.products li.product .cornukopia-catalog-weight-badge {
	position: absolute;
	z-index: 2;
	right: auto;
	bottom: 12px;
	left: 12px;
	box-sizing: border-box;
	max-width: calc(100% - 24px);
	padding: 5px 9px;
	border: 1px solid rgba(47, 31, 27, 0.12);
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.92);
	box-shadow: 0 2px 7px rgba(47, 31, 27, 0.12);
	color: #2f1f1b;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.3;
	text-align: left;
	pointer-events: none;
}

/*
 * Nella scheda prodotto il mini-carrello e gia il riscontro dell'aggiunta:
 * evita che il link WooCommerce provochi uno spostamento della riga comandi.
 */
.single-product.woocommerce div.product form.cart a.added_to_cart {
	display: none !important;
}

/* Allinea il pulsante wishlist agli altri comandi senza modificarne l'aspetto. */
.single-product.woocommerce div.product form.cart .woosw-btn {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	vertical-align: top;
}

/* Centra il testo del solo pulsante carrello nell'anteprima rapida WPC. */
#woosq-popup .woosq-product div.product form.cart .single_add_to_cart_button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	text-align: center;
	line-height: 1.2;
}

/* Nel popup conserva la categoria ma non mostra l'elenco completo dei tag. */
#woosq-popup .woosq-product .product_meta .tagged_as {
	display: none !important;
}

/*
 * La galleria usa una sorgente grande: questi limiti la fanno occupare lo
 * spazio disponibile senza deformare o ingrandire eccessivamente le verticali.
 */
.single-product.woocommerce div.product div.images .woocommerce-product-gallery__image > a > img:not(.zoomImg) {
	display: block;
	width: auto !important;
	max-width: 100% !important;
	height: auto !important;
	max-height: min(600px, 70vh);
	margin-right: auto !important;
	margin-left: auto !important;
	object-fit: contain;
}

/*
 * Mantiene il selettore nativo WooCommerce, ma dispone sempre tre miniature
 * quadrate in una sola riga. Le fotografie eccedenti restano nel binario
 * orizzontale e non possono piu impilarsi sotto la galleria.
 */
.single-product.woocommerce div.product div.images .cornukopia-product-thumbnails {
	position: relative;
	box-sizing: border-box;
	width: 70%;
	max-width: 100%;
	margin: 16px auto 0;
}

.single-product.woocommerce div.product div.images
.cornukopia-product-thumbnails > .flex-control-thumbs {
	display: flex !important;
	flex-flow: row nowrap !important;
	justify-content: flex-start !important;
	box-sizing: border-box;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	gap: 8px;
	overflow-x: auto !important;
	overflow-y: hidden !important;
	list-style: none !important;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	overscroll-behavior-x: contain;
	touch-action: pan-x pan-y;
	-webkit-overflow-scrolling: touch;
}

.single-product.woocommerce div.product div.images
.cornukopia-product-thumbnails > .flex-control-thumbs::-webkit-scrollbar {
	display: none;
}

.single-product.woocommerce div.product div.images
.cornukopia-product-thumbnails > .flex-control-thumbs > li {
	float: none !important;
	display: block !important;
	flex: 0 0 calc((100% - 16px) / 3) !important;
	box-sizing: border-box;
	width: calc((100% - 16px) / 3) !important;
	min-width: calc((100% - 16px) / 3) !important;
	max-width: calc((100% - 16px) / 3) !important;
	aspect-ratio: 1 / 1;
	margin: 0 !important;
	overflow: hidden;
	border-radius: 12px;
	background: #fff;
	scroll-snap-align: start;
	cursor: pointer;
}

.single-product.woocommerce div.product div.images
.cornukopia-product-thumbnails > .flex-control-thumbs > li > img {
	display: block !important;
	box-sizing: border-box;
	width: 100% !important;
	min-width: 100% !important;
	max-width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	border: 1px solid rgba(47, 31, 27, 0.16);
	border-radius: 12px;
	object-fit: contain;
	object-position: center;
	user-select: none;
	-webkit-user-drag: none;
}

.single-product.woocommerce div.product div.images
.cornukopia-product-thumbnails > .flex-control-thumbs > li > img.flex-active {
	border-color: #9d8d70;
	box-shadow: inset 0 0 0 1px #9d8d70;
}

.cornukopia-product-thumbnails__button {
	position: absolute;
	top: 50%;
	z-index: 3;
	display: none;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 34px;
	height: 34px;
	padding: 0;
	border: 1px solid rgba(47, 31, 27, 0.12);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.96);
	box-shadow: 0 3px 12px rgba(47, 31, 27, 0.14);
	color: #2f1f1b;
	font-size: 26px;
	font-weight: 400;
	line-height: 1;
	cursor: pointer;
	transform: translateY(-50%);
}

.cornukopia-product-thumbnails.has-overflow .cornukopia-product-thumbnails__button {
	display: inline-flex;
}

.cornukopia-product-thumbnails__button--previous {
	left: -17px;
}

.cornukopia-product-thumbnails__button--next {
	right: -17px;
}

.cornukopia-product-thumbnails__button:disabled {
	cursor: default;
	opacity: 0.28;
}

.cornukopia-product-thumbnails__button > span {
	display: block;
	margin-top: -2px;
}

/*
 * Nelle griglie Shop mantiene la foto completa, centrata e con il
 * dimensionamento approvato anche negli stati interattivi della card.
 */
.woocommerce ul.products li.product .product-thumbnail,
.woocommerce ul.products li.product .archive-image-wrap,
.woocommerce ul.products li.product .woocommerce-loop-image-link,
ul.products li.product .archive-image-wrap,
ul.products li.product .archive-image-wrap > a.woocommerce-loop-image-link {
	left: 0 !important;
	right: auto !important;
	box-sizing: border-box;
	width: 100% !important;
	min-width: 100% !important;
	max-width: 100% !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
	transform: none !important;
	transition: none !important;
}

.woocommerce ul.products li.product .archive-image-wrap > .woocommerce-loop-image-link,
ul.products li.product .archive-image-wrap > a.woocommerce-loop-image-link,
ul.products li.product .archive-image-wrap > a.woocommerce-loop-image-link:hover,
ul.products li.product .archive-image-wrap > a.woocommerce-loop-image-link:focus {
	display: flex !important;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: #fff;
}

.woocommerce ul.products li.product .product-thumbnail img:not(.secondary-product-image):not(.wp-post-image--secondary),
ul.products li.product .archive-image-wrap > a.woocommerce-loop-image-link > img.wp-post-image:not(.secondary-product-image):not(.wp-post-image--secondary) {
	position: static !important;
	top: auto !important;
	bottom: auto !important;
	left: 0 !important;
	right: auto !important;
	display: block;
	width: 100% !important;
	min-width: 100% !important;
	max-width: 100% !important;
	height: 100% !important;
	margin-right: auto !important;
	margin-left: auto !important;
	object-fit: contain !important;
	object-position: center !important;
	opacity: 1 !important;
	transform: none !important;
	transition: none !important;
}

.woocommerce ul.products li.product .product-thumbnail img.secondary-product-image,
.woocommerce ul.products li.product .product-thumbnail img.wp-post-image--secondary,
ul.products li.product .archive-image-wrap img.secondary-product-image,
ul.products li.product .archive-image-wrap img.wp-post-image--secondary {
	display: none !important;
}

/*
 * Galleria rapida isolata delle sole card Shop/categorie. I nomi dedicati
 * evitano qualsiasi collisione con Owl, Slider Revolution e le frecce Home.
 */
.woocommerce ul.products li.product .archive-image-wrap.cornukopia-catalog-gallery-wrap {
	position: relative;
}

.woocommerce ul.products li.product a.cornukopia-catalog-gallery {
	position: relative !important;
	user-select: none;
	-webkit-user-select: none;
	touch-action: pan-y;
}

.cornukopia-catalog-gallery__track {
	position: absolute;
	inset: 0;
	display: flex;
	width: 100%;
	height: 100%;
	transform: translate3d(0, 0, 0);
	transition: transform 220ms ease;
	pointer-events: none;
}

.cornukopia-catalog-gallery__slide {
	display: flex;
	flex: 0 0 100%;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 100%;
	min-width: 100%;
	height: 100%;
	background: #fff;
}

.woocommerce ul.products li.product .cornukopia-catalog-gallery__slide img.cornukopia-catalog-gallery__image {
	position: static !important;
	display: block !important;
	flex: 0 0 100%;
	box-sizing: border-box;
	width: 100% !important;
	min-width: 100% !important;
	max-width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	object-fit: contain !important;
	object-position: center !important;
	opacity: 1 !important;
	transform: none !important;
}

.woocommerce ul.products li.product .archive-image-wrap > .cornukopia-catalog-gallery__button {
	position: absolute;
	top: 50%;
	z-index: 4;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 30px;
	height: 30px;
	min-height: 0;
	margin: 0;
	padding: 0 !important;
	border: 1px solid rgba(47, 31, 27, 0.18);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.9);
	box-shadow: 0 2px 7px rgba(47, 31, 27, 0.12);
	color: #2f1f1b;
	font: 400 25px/1 Arial, sans-serif;
	cursor: pointer;
	transform: translateY(-50%);
}

.woocommerce ul.products li.product .archive-image-wrap > .cornukopia-catalog-gallery__button:hover,
.woocommerce ul.products li.product .archive-image-wrap > .cornukopia-catalog-gallery__button:focus-visible {
	border-color: rgba(47, 31, 27, 0.42);
	background: #fff;
	color: #2f1f1b;
	outline: none;
}

.woocommerce ul.products li.product .archive-image-wrap > .cornukopia-catalog-gallery__button--previous {
	left: 8px;
}

.woocommerce ul.products li.product .archive-image-wrap > .cornukopia-catalog-gallery__button--next {
	right: 8px;
}

/*
 * Indicatore locale a spazio fisso: cambia solo opacita e non provoca salti
 * della riga, richieste di rete o ricalcoli del carrello.
 */
.single-product.woocommerce div.product form.cart .cornukopia-add-status {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 26px;
	height: 46px;
	margin-left: 8px;
	opacity: 0;
	transition: opacity 220ms ease;
	vertical-align: top;
	pointer-events: none;
}

.single-product.woocommerce div.product form.cart .cornukopia-add-status.is-loading,
.single-product.woocommerce div.product form.cart .cornukopia-add-status.is-success {
	opacity: 1;
}

.single-product.woocommerce div.product form.cart .cornukopia-add-status.is-loading::before {
	box-sizing: border-box;
	width: 16px;
	height: 16px;
	border: 2px solid rgba(144, 130, 106, 0.28);
	border-top-color: #90826a;
	border-radius: 50%;
	content: "";
	animation: cornukopia-add-status-spin 650ms linear infinite;
}

.single-product.woocommerce div.product form.cart .cornukopia-add-status.is-success::before {
	color: #27833f;
	content: "\2713";
	font-size: 22px;
	font-weight: 700;
	line-height: 1;
}

@keyframes cornukopia-add-status-spin {
	to {
		transform: rotate(360deg);
	}
}

@media (prefers-reduced-motion: reduce) {
	.single-product.woocommerce div.product form.cart .cornukopia-add-status.is-loading::before {
		animation: none;
	}
}

/*
 * Riserva due righe identiche nell'area comandi del catalogo. In questo modo
 * pulsante, opzioni e quantita restano allineati tra prodotti semplici e variabili.
 */
body.post-type-archive-product ul.products:not(.products-list-view) li.product .product-action-wrap,
body.tax-product_cat ul.products:not(.products-list-view) li.product .product-action-wrap,
body.tax-product_tag ul.products:not(.products-list-view) li.product .product-action-wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	box-sizing: border-box;
	min-height: 102px;
}

.woocommerce ul.products li.product .product-action-wrap:has(.cornukopia-catalog-quantity),
.woocommerce ul.products li.product .product-action-wrap.cornukopia-catalog-action-row {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.woocommerce ul.products li.product .product-action-wrap:has(.cornukopia-catalog-quantity) > .button:not(.kb-button),
.woocommerce ul.products li.product .product-action-wrap.cornukopia-catalog-action-row > .button:not(.kb-button) {
	flex: 0 1 auto;
	box-sizing: border-box;
	width: auto;
	max-width: calc(100% - 20px);
	min-width: 0;
	padding-right: 18px;
	padding-left: 18px;
}

.woocommerce ul.products li.product .product-action-wrap > form.cornukopia-catalog-variable-form {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	gap: 8px;
}

/*
 * WooCommerce aggiunge al form cart due pseudo-elementi di clearfix. Dentro
 * questo form flex diventano due elementi vuoti e il gap crea 8 px sopra e
 * sotto i comandi, disallineando sia il pulsante sia l'intera card.
 */
.woocommerce ul.products li.product .product-action-wrap > form.cornukopia-catalog-variable-form::before,
.woocommerce ul.products li.product .product-action-wrap > form.cornukopia-catalog-variable-form::after {
	display: none !important;
	content: none !important;
}

.woocommerce ul.products li.product .product-action-wrap > form.cornukopia-catalog-variable-form > .button:not(.kb-button) {
	flex: 0 1 auto;
	box-sizing: border-box;
	width: auto;
	max-width: calc(100% - 20px);
	min-width: 0;
	margin: 0;
	padding-right: 18px;
	padding-left: 18px;
}

.cornukopia-catalog-options-row {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: min(100%, 176px);
	max-width: calc(100% - 12px);
	height: 28px;
	gap: 8px;
}

.cornukopia-catalog-variation-wrap {
	position: relative;
	display: block;
	flex: 1 1 auto;
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	height: 26px;
}

.woocommerce .cornukopia-catalog-variation {
	display: block;
	flex: 1 1 auto;
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	height: 26px;
	min-height: 0;
	max-height: 26px;
	margin: 0;
	padding: 2px 22px 2px 8px;
	border: 1px solid #8f826a;
	border-radius: 6px;
	background-color: #fff;
	box-shadow: 0 1px 2px rgba(47, 31, 27, 0.12);
	color: #1f1714;
	font-family: Archivo, sans-serif;
	font-size: 11.5px;
	font-weight: 600;
	line-height: normal;
	text-overflow: clip;
	white-space: nowrap;
	cursor: pointer;
}

.woocommerce .cornukopia-catalog-variation:hover,
.woocommerce .cornukopia-catalog-variation:focus {
	border-color: #2f1f1b;
	outline: 0;
	box-shadow: 0 0 0 1.5px rgba(144, 130, 106, 0.24);
}

.cornukopia-catalog-variable-form .cornukopia-add-status {
	display: none !important;
}

.woocommerce ul.products li.product .product-action-wrap > form.cornukopia-catalog-variable-form > .cornukopia-catalog-variable-add {
	position: relative;
}

/* Mantiene il form variabile dei correlati alla sua altezza naturale. */
.single-product .related.products ul.products li.product
.product-action-wrap > form.cornukopia-catalog-variable-form {
	height: auto !important;
	min-height: 0 !important;
	justify-content: flex-start;
}

/* Riutilizza la stessa rotellina nativa gia presente nei pulsanti semplici. */
.woocommerce ul.products li.product .product-action-wrap
> form.cornukopia-catalog-variable-form
> .cornukopia-catalog-variable-add.loading
> .base-svg-iconset {
	display: inline-flex !important;
}

.cornukopia-catalog-quantity {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
}

/*
 * Wishlist: stessi controlli del catalogo, ridotti soltanto nello spazio della
 * colonna azioni del popup. Il testo del pulsante resta sempre su una riga.
 */
#woosw_wishlist .woosw-item--actions {
	flex: 0 0 154px;
	width: 154px;
	min-width: 154px;
}

#woosw_wishlist .woosw-popup-content-bot .woosw-page,
.woocommerce-MyAccount-content .woosw-list .woosw-copy {
	display: none !important;
}

#woosw_wishlist .cornukopia-wishlist-cart-controls,
#woosw_wishlist .cornukopia-wishlist-cart-controls > form.cornukopia-catalog-variable-form {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	gap: 6px;
}

#woosw_wishlist .cornukopia-wishlist-cart-controls > form.cornukopia-catalog-variable-form::before,
#woosw_wishlist .cornukopia-wishlist-cart-controls > form.cornukopia-catalog-variable-form::after {
	display: none !important;
	content: none !important;
}

#woosw_wishlist .woosw-item--atc a.button.add_to_cart_button {
	position: relative;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: auto !important;
	max-width: 100%;
	min-width: 0;
	min-height: 34px;
	margin: 0 !important;
	padding: 9px 13px !important;
	border-radius: 999px;
	font-size: 11px !important;
	line-height: 1 !important;
	text-align: center;
	white-space: nowrap !important;
}

#woosw_wishlist .woosw-item--atc a.added_to_cart {
	display: none !important;
}

#woosw_wishlist .cornukopia-catalog-options-row {
	width: 142px;
	max-width: 100%;
	height: 24px;
	gap: 5px;
}

#woosw_wishlist .cornukopia-catalog-variation-wrap,
#woosw_wishlist .woocommerce .cornukopia-catalog-variation {
	height: 24px;
}

#woosw_wishlist .woocommerce .cornukopia-catalog-variation {
	min-height: 0;
	max-height: 24px;
	padding-top: 1px;
	padding-bottom: 1px;
	font-size: 10.5px;
}

#woosw_wishlist .cornukopia-mini-cart-quantity__control {
	grid-template-columns: 22px minmax(26px, auto) 22px;
	height: 24px;
}

#woosw_wishlist .woocommerce .cornukopia-mini-cart-quantity__control .cornukopia-mini-cart-quantity__button {
	width: 22px;
	height: 24px;
	min-width: 22px;
	font-size: 12px;
}

#woosw_wishlist .cornukopia-mini-cart-quantity__value {
	min-width: 26px;
	height: 24px;
	font-size: 12px;
}

@media screen and (max-width: 600px) {
	#woosw_wishlist .woosw-item--actions {
		flex-basis: 138px;
		width: 138px;
		min-width: 138px;
	}

	#woosw_wishlist .woosw-item--atc a.button.add_to_cart_button {
		padding-right: 10px !important;
		padding-left: 10px !important;
		font-size: 10px !important;
	}
}

@media screen and (max-width: 767px) {
	html.cornukopia-wishlist-mobile-open,
	html.cornukopia-wishlist-mobile-open body {
		overflow: hidden !important;
		overscroll-behavior: none;
	}

	html.cornukopia-wishlist-mobile-open body {
		position: fixed !important;
		left: 0;
		width: 100%;
	}

	html.cornukopia-wishlist-mobile-open #woosw_wishlist {
		overscroll-behavior: contain;
	}

	#woosw_wishlist .woosw-items .woosw-item .woosw-item-inner {
		display: grid !important;
		grid-template-columns: 14px clamp(54px, 16vw, 72px) minmax(52px, 1fr) clamp(118px, 34vw, 138px);
		grid-template-rows: auto auto auto;
		align-items: center;
		box-sizing: border-box;
		width: 100% !important;
		padding: 12px 0;
		border-bottom: 1px solid rgba(47, 31, 27, 0.10);
		column-gap: 8px;
		row-gap: 3px;
	}

	#woosw_wishlist .woosw-items .woosw-item .woosw-item-inner > div {
		display: block;
		box-sizing: border-box;
		width: auto !important;
		min-width: 0;
		margin-right: 0;
		padding: 0 !important;
		background: transparent !important;
	}

	#woosw_wishlist .woosw-items .woosw-item {
		border-bottom: 0 !important;
	}

	#woosw_wishlist .woosw-item--remove {
		grid-column: 1;
		grid-row: 2 / 4;
		align-self: center;
		width: 14px !important;
	}

	#woosw_wishlist .woosw-item--image {
		grid-column: 2;
		grid-row: 2 / 4;
		align-self: center;
		justify-self: center;
		display: block !important;
		width: 100% !important;
	}

	#woosw_wishlist .woosw-item--image a {
		display: block;
		width: 100%;
	}

	#woosw_wishlist .woosw-item--image img {
		display: block !important;
		width: auto !important;
		max-width: 100% !important;
		height: auto !important;
		max-height: 92px;
		margin: 0 auto !important;
		object-fit: contain;
	}

	#woosw_wishlist .woosw-item--info {
		display: contents !important;
	}

	#woosw_wishlist .woosw-item--name {
		grid-column: 2 / 5;
		grid-row: 1;
		min-width: 0;
		margin: 0 0 5px;
		line-height: 1.25;
		text-align: left;
	}

	#woosw_wishlist .woosw-item--price {
		grid-column: 3;
		grid-row: 2;
		align-self: end;
	}

	#woosw_wishlist .woosw-item--time {
		grid-column: 3;
		grid-row: 3;
		align-self: start;
	}

	#woosw_wishlist .woosw-item--actions {
		grid-column: 4;
		grid-row: 2 / 4;
		align-self: center;
		justify-self: stretch;
		display: block !important;
		box-sizing: border-box;
		width: clamp(118px, 34vw, 138px) !important;
		min-width: 0;
		text-align: center !important;
	}

	#woosw_wishlist .woosw-item--atc,
	#woosw_wishlist .cornukopia-wishlist-cart-controls {
		width: 100%;
	}

	#woosw_wishlist .woosw-item--atc a.button.add_to_cart_button {
		width: 100% !important;
		padding-right: 8px !important;
		padding-left: 8px !important;
		font-size: clamp(8.5px, 2.2vw, 10px) !important;
	}

	#woosw_wishlist .cornukopia-catalog-quantity,
	#woosw_wishlist .cornukopia-catalog-options-row {
		margin-right: auto;
		margin-left: auto;
	}

	#woosw_wishlist .woosw-popup-content-mid {
		box-sizing: border-box;
		padding-bottom: 10px !important;
		scroll-padding-bottom: 10px;
	}
}

/*
 * Lista desideri di My Account, desktop: conserva la tabella esistente ma
 * riusa nella colonna azioni gli stessi comandi compatti del popup rapido.
 */
.woocommerce-MyAccount-content .woosw-list table.woosw-items .woosw-item .woosw-item--actions {
	box-sizing: border-box;
	width: 170px !important;
	min-width: 170px;
	text-align: center;
}

.woocommerce-MyAccount-content .woosw-list table.woosw-items .woosw-item .woosw-item--name,
.woocommerce-MyAccount-content .woosw-list table.woosw-items .woosw-item .woosw-item--name a {
	color: var(--global-palette1, #9d8d70) !important;
	font-family: inherit;
	font-weight: 700;
	text-decoration: none;
	text-transform: none;
}

.woocommerce-MyAccount-content .woosw-list .cornukopia-wishlist-cart-controls,
.woocommerce-MyAccount-content .woosw-list .cornukopia-wishlist-cart-controls > form.cornukopia-catalog-variable-form {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 154px;
	max-width: 100%;
	margin: 0 auto;
	gap: 6px;
}

.woocommerce-MyAccount-content .woosw-list .cornukopia-wishlist-cart-controls > form.cornukopia-catalog-variable-form::before,
.woocommerce-MyAccount-content .woosw-list .cornukopia-wishlist-cart-controls > form.cornukopia-catalog-variable-form::after {
	display: none !important;
	content: none !important;
}

.woocommerce-MyAccount-content .woosw-list .woosw-item--atc a.button.add_to_cart_button {
	position: relative;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 154px !important;
	max-width: 100%;
	min-width: 0;
	min-height: 34px;
	margin: 0 !important;
	padding: 9px 13px !important;
	border-radius: 999px;
	font-size: 11px !important;
	line-height: 1 !important;
	text-align: center;
	white-space: nowrap !important;
}

.woocommerce-MyAccount-content .woosw-list .woosw-item--atc a.added_to_cart {
	display: none !important;
}

.woocommerce-MyAccount-content .woosw-list .cornukopia-catalog-options-row {
	width: 142px;
	max-width: 100%;
	height: 24px;
	margin-right: auto;
	margin-left: auto;
	gap: 5px;
}

.woocommerce-MyAccount-content .woosw-list .cornukopia-catalog-variation-wrap,
.woocommerce-MyAccount-content .woosw-list .woocommerce .cornukopia-catalog-variation {
	height: 24px;
}

.woocommerce-MyAccount-content .woosw-list .woocommerce .cornukopia-catalog-variation {
	position: relative;
	z-index: 1;
	display: block !important;
	min-height: 0;
	max-height: 24px;
	padding-top: 1px;
	padding-bottom: 1px;
	font-size: 10.5px;
	visibility: visible;
	opacity: 1;
	pointer-events: auto;
}

.woocommerce-MyAccount-content .woosw-list .cornukopia-mini-cart-quantity__control {
	grid-template-columns: 22px minmax(26px, auto) 22px;
	height: 24px;
}

.woocommerce-MyAccount-content .woosw-list .woocommerce .cornukopia-mini-cart-quantity__control .cornukopia-mini-cart-quantity__button {
	width: 22px;
	height: 24px;
	min-width: 22px;
	font-size: 12px;
}

.woocommerce-MyAccount-content .woosw-list .cornukopia-mini-cart-quantity__value {
	min-width: 26px;
	height: 24px;
	font-size: 12px;
}

/*
 * Lista desideri di My Account, mobile: la tabella diventa la stessa griglia
 * del popup rapido. Queste regole non intervengono sul desktop.
 */
@media screen and (max-width: 767px) {
	.woocommerce-MyAccount-content .woosw-list table.woosw-items,
	.woocommerce-MyAccount-content .woosw-list table.woosw-items > tbody {
		display: block !important;
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100%;
	}

	.woocommerce-MyAccount-content .woosw-list table.woosw-items tr.woosw-item {
		display: grid !important;
		grid-template-columns: 14px clamp(54px, 16vw, 72px) minmax(52px, 1fr) clamp(118px, 34vw, 138px);
		grid-template-rows: auto auto auto;
		align-items: center;
		box-sizing: border-box;
		width: 100%;
		padding: 12px 0;
		border-bottom: 1px solid rgba(47, 31, 27, 0.10);
		column-gap: 8px;
		row-gap: 3px;
	}

	.woocommerce-MyAccount-content .woosw-list table.woosw-items tr.woosw-item > td {
		display: block;
		box-sizing: border-box;
		width: auto !important;
		min-width: 0;
		margin: 0;
		padding: 0 !important;
		border: 0 !important;
		background: transparent !important;
		text-align: left !important;
	}

	.woocommerce-MyAccount-content .woosw-list table.woosw-items tr.woosw-item > td::before {
		display: none !important;
		content: none !important;
	}

	.woocommerce-MyAccount-content .woosw-list table.woosw-items .woosw-item .woosw-item--remove {
		grid-column: 1;
		grid-row: 2 / 4;
		align-self: center;
		width: 14px !important;
	}

	.woocommerce-MyAccount-content .woosw-list table.woosw-items .woosw-item .woosw-item--image {
		grid-column: 2;
		grid-row: 2 / 4;
		align-self: center;
		justify-self: center;
		display: block !important;
		width: 100% !important;
	}

	.woocommerce-MyAccount-content .woosw-list table.woosw-items .woosw-item .woosw-item--image a {
		display: block;
		width: 100%;
	}

	.woocommerce-MyAccount-content .woosw-list table.woosw-items .woosw-item .woosw-item--image img {
		display: block !important;
		width: auto !important;
		max-width: 100% !important;
		height: auto !important;
		max-height: 92px;
		margin: 0 auto !important;
		object-fit: contain;
	}

	.woocommerce-MyAccount-content .woosw-list table.woosw-items .woosw-item .woosw-item--info {
		display: contents !important;
	}

	.woocommerce-MyAccount-content .woosw-list table.woosw-items .woosw-item .woosw-item--name {
		grid-column: 2 / 5;
		grid-row: 1;
		min-width: 0;
		margin: 0 0 5px;
		line-height: 1.25;
		text-align: left;
	}

	.woocommerce-MyAccount-content .woosw-list table.woosw-items .woosw-item .woosw-item--price {
		grid-column: 3;
		grid-row: 2;
		align-self: end;
	}

	.woocommerce-MyAccount-content .woosw-list table.woosw-items .woosw-item .woosw-item--time {
		grid-column: 3;
		grid-row: 3;
		align-self: start;
	}

	.woocommerce-MyAccount-content .woosw-list table.woosw-items .woosw-item .woosw-item--actions {
		grid-column: 4;
		grid-row: 2 / 4;
		align-self: center;
		justify-self: stretch;
		display: block !important;
		box-sizing: border-box;
		width: clamp(118px, 34vw, 138px) !important;
		min-width: 0;
		text-align: center !important;
	}

	.woocommerce-MyAccount-content .woosw-list .woosw-item--atc,
	.woocommerce-MyAccount-content .woosw-list .cornukopia-wishlist-cart-controls,
	.woocommerce-MyAccount-content .woosw-list .cornukopia-wishlist-cart-controls > form.cornukopia-catalog-variable-form {
		width: 100%;
	}

	.woocommerce-MyAccount-content .woosw-list .woosw-item--atc a.button.add_to_cart_button {
		width: 100% !important;
		padding-right: 8px !important;
		padding-left: 8px !important;
		font-size: clamp(8.5px, 2.2vw, 10px) !important;
	}

	.woocommerce-MyAccount-content .woosw-list .cornukopia-catalog-quantity,
	.woocommerce-MyAccount-content .woosw-list .cornukopia-catalog-options-row {
		margin-right: auto;
		margin-left: auto;
	}
}

.single-product .related.products .cornukopia-catalog-quantity__value {
	user-select: text;
	-webkit-user-select: text;
	touch-action: manipulation;
	cursor: text;
}

.woocommerce ul.products li.product .product-action-wrap.cornukopia-catalog-action-row > a.added_to_cart,
.woocommerce ul.products li.product .product-action-wrap:has(.cornukopia-catalog-quantity) > a.added_to_cart,
.woocommerce ul.products li.product .product-action-wrap > form.cornukopia-catalog-variable-form > a.added_to_cart,
#woosw_wishlist .woosw-item--atc a.added_to_cart,
.woocommerce-MyAccount-content .woosw-list .woosw-item--atc a.added_to_cart {
	display: none !important;
}

.woocommerce ul.products li.product .product-action-wrap.cornukopia-catalog-action-row > .button.added:not(.kb-button),
.woocommerce ul.products li.product .product-action-wrap:has(.cornukopia-catalog-quantity) > .button.added:not(.kb-button),
.woocommerce ul.products li.product .product-action-wrap > form.cornukopia-catalog-variable-form > .button.added:not(.kb-button),
#woosw_wishlist .woosw-item--atc .button.added:not(.kb-button),
.woocommerce-MyAccount-content .woosw-list .woosw-item--atc .button.added:not(.kb-button) {
	font-size: inherit;
}

.woocommerce ul.products li.product .product-action-wrap.cornukopia-catalog-action-row > .button .base-check-svg,
.woocommerce ul.products li.product .product-action-wrap:has(.cornukopia-catalog-quantity) > .button .base-check-svg,
.woocommerce ul.products li.product .product-action-wrap > form.cornukopia-catalog-variable-form > .button .base-check-svg,
#woosw_wishlist .woosw-item--atc .button .base-check-svg,
.woocommerce-MyAccount-content .woosw-list .woosw-item--atc .button .base-check-svg {
	display: none !important;
}

#woosw_wishlist .woosw-item--atc .button .base-spinner-svg,
.woocommerce-MyAccount-content .woosw-list .woosw-item--atc .button .base-spinner-svg {
	display: none;
}

/*
 * Durante l'aggiunta AJAX nelle card, la rotella occupa lo stesso pulsante:
 * il testo resta nello spazio di impaginazione ma diventa invisibile, evitando
 * righe aggiuntive e qualsiasi variazione delle dimensioni del comando.
 */
.woocommerce ul.products li.product .product-action-wrap > a.button.add_to_cart_button.ajax_add_to_cart,
#woosw_wishlist .woosw-item--atc a.button.add_to_cart_button.ajax_add_to_cart,
.woocommerce-MyAccount-content .woosw-list .woosw-item--atc a.button.add_to_cart_button.ajax_add_to_cart {
	position: relative;
}

.woocommerce ul.products li.product .product-action-wrap > a.button.add_to_cart_button.ajax_add_to_cart.loading,
.woocommerce ul.products li.product .product-action-wrap > form.cornukopia-catalog-variable-form > .cornukopia-catalog-variable-add.loading,
#woosw_wishlist .woosw-item--atc a.button.add_to_cart_button.ajax_add_to_cart.loading,
.woocommerce-MyAccount-content .woosw-list .woosw-item--atc a.button.add_to_cart_button.ajax_add_to_cart.loading {
	color: transparent !important;
	opacity: 0.7;
	text-shadow: none !important;
}

#woosw_wishlist .woosw-item--atc a.button.add_to_cart_button.ajax_add_to_cart.loading::after,
.woocommerce-MyAccount-content .woosw-list .woosw-item--atc a.button.add_to_cart_button.ajax_add_to_cart.loading::after {
	display: none !important;
	content: none !important;
}

.woocommerce ul.products li.product .product-action-wrap > a.button.add_to_cart_button.ajax_add_to_cart.loading .base-spinner-svg,
.woocommerce ul.products li.product .product-action-wrap > form.cornukopia-catalog-variable-form > .cornukopia-catalog-variable-add.loading .base-spinner-svg,
#woosw_wishlist .woosw-item--atc a.button.add_to_cart_button.ajax_add_to_cart.loading .base-spinner-svg,
.woocommerce-MyAccount-content .woosw-list .woosw-item--atc a.button.add_to_cart_button.ajax_add_to_cart.loading .base-spinner-svg {
	position: absolute;
	inset: 0;
	display: block !important;
	width: 16px;
	height: 16px;
	margin: auto !important;
	color: var(--global-palette-btn, #fff) !important;
	animation: spin 2s linear infinite;
}

#woosw_wishlist .woosw-item--atc a.button.add_to_cart_button.ajax_add_to_cart.loading > .base-svg-iconset:has(.base-spinner-svg),
.woocommerce-MyAccount-content .woosw-list .woosw-item--atc a.button.add_to_cart_button.ajax_add_to_cart.loading > .base-svg-iconset:has(.base-spinner-svg) {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	pointer-events: none;
}

#woosw_wishlist .woosw-item--atc a.button.add_to_cart_button.ajax_add_to_cart.loading .base-spinner-svg,
.woocommerce-MyAccount-content .woosw-list .woosw-item--atc a.button.add_to_cart_button.ajax_add_to_cart.loading .base-spinner-svg {
	z-index: 1;
	width: 14px;
	height: 14px;
	transform-origin: center;
}

@media screen and (max-width: 767px) {
	/*
	 * Home mobile: mantiene la hero proporzionata al telefono e contiene il
	 * titolo di Slider Revolution senza alterare desktop o altre pagine.
	 */
	body.home #SR7_1_1 {
		--cornukopia-home-hero-mobile-height: clamp(166px, 52vw, 230px);
		height: var(--cornukopia-home-hero-mobile-height) !important;
		min-height: var(--cornukopia-home-hero-mobile-height) !important;
	}

	body.home #SR7_1_1 > sr7-content,
	body.home #SR7_1_1 sr7-slide,
	body.home #SR7_1_1 sr7-slide > sr7-mask,
	body.home #SR7_1_1 sr7-bg {
		height: 100% !important;
	}

	body.home #SR7_1_1-2-1 {
		top: 16.5% !important;
		left: 0 !important;
		width: 100% !important;
		font-size: clamp(10px, 2.8vw, 12px) !important;
		line-height: 1.4 !important;
		text-align: center !important;
	}

	body.home #SR7_1_1-2-2 {
		top: 28.8% !important;
		left: 2% !important;
		width: 96% !important;
		font-size: clamp(14px, 4.4vw, 18px) !important;
		line-height: 1.2 !important;
		text-align: center !important;
		white-space: nowrap !important;
	}

	body.home #SR7_1_1-2-0 {
		top: 67% !important;
		right: 0 !important;
		left: 0 !important;
		width: max-content !important;
		margin-right: auto !important;
		margin-left: auto !important;
	}

	/* Compensa visivamente il badge del carrello sul lato opposto. */
	#masthead .widget-toggle-open-container #widget-toggle {
		position: relative;
		left: -10px;
	}

	/* Il logo cresce in proporzione verso sinistra, senza avvicinarsi alla lente. */
	#masthead .mobile-site-branding img.custom-logo {
		width: 80% !important;
		max-width: 80% !important;
		height: auto !important;
		margin-right: 18% !important;
		margin-left: 2% !important;
		padding-right: 0 !important;
		padding-left: 0 !important;
		aspect-ratio: auto;
		object-fit: contain;
		transform: none;
	}

	.cornukopia-product-thumbnails .cornukopia-product-thumbnails__button,
	.cornukopia-product-thumbnails.has-overflow .cornukopia-product-thumbnails__button {
		display: none !important;
	}

	.woocommerce ul.products li.product .archive-image-wrap > .cornukopia-catalog-gallery__button {
		display: none !important;
	}

	.woocommerce ul.products:not(.products-list-view) li.product
	.woocommerce-loop-product__title {
		min-height: calc(4.2em + 1rem - 5px);
		max-height: calc(4.2em + 1rem - 5px);
		overflow: hidden;
	}

	.woocommerce ul.products li.product .product-action-wrap:has(.cornukopia-catalog-quantity) > .button:not(.kb-button),
	.woocommerce ul.products li.product .product-action-wrap.cornukopia-catalog-action-row > .button:not(.kb-button),
	.woocommerce ul.products li.product .product-action-wrap > form.cornukopia-catalog-variable-form > .button:not(.kb-button) {
		padding-right: 5px;
		padding-left: 5px;
		font-size: 10px;
		line-height: 1.15;
		white-space: normal;
	}

	.cornukopia-catalog-options-row {
		width: 100%;
		max-width: 100%;
		gap: 3px;
	}

	.cornukopia-catalog-variation-wrap {
		flex: 0 0 var(--cornukopia-mobile-select-width, 64px);
		width: var(--cornukopia-mobile-select-width, 64px);
	}

	.cornukopia-catalog-variation-wrap[data-mobile-label]::before {
		position: absolute;
		z-index: 2;
		inset: 0;
		display: flex;
		box-sizing: border-box;
		align-items: center;
		justify-content: center;
		padding: 0;
		color: #1f1714;
		font-family: Archivo, sans-serif;
		font-size: 13px;
		font-weight: 600;
		line-height: normal;
		content: attr(data-mobile-label);
		white-space: nowrap;
		pointer-events: none;
	}

	#woosw_wishlist .cornukopia-catalog-variation-wrap[data-mobile-label]::before,
	.woocommerce-MyAccount-content .woosw-list .cornukopia-catalog-variation-wrap[data-mobile-label]::before {
		inset: 1px;
		box-sizing: content-box;
		border: 1px solid #8f826a;
		border-radius: 5px;
		background: #fff;
		box-shadow: 0 1px 2px rgba(47, 31, 27, 0.12);
		font-size: 10.5px;
	}

	#woosw_wishlist .woocommerce .cornukopia-catalog-variation,
	.woocommerce-MyAccount-content .woosw-list .woocommerce .cornukopia-catalog-variation {
		border-color: transparent;
		background: transparent;
		box-shadow: none;
	}

	#woosw_wishlist .cornukopia-catalog-variation-wrap,
	.woocommerce-MyAccount-content .woosw-list .cornukopia-catalog-variation-wrap {
		transform: translateX(2px);
	}

	.cornukopia-catalog-variation-wrap::after {
		position: absolute;
		top: calc(100% + 3px);
		left: 50%;
		width: 0;
		height: 0;
		border-top: 6px solid #8f826a;
		border-right: 4px solid transparent;
		border-left: 4px solid transparent;
		content: "";
		transform: translateX(-50%);
		pointer-events: none;
	}

	.woocommerce .cornukopia-catalog-variation {
		width: var(--cornukopia-mobile-select-width, 64px);
		margin-right: auto;
		margin-left: auto;
		padding-right: 5px;
		padding-left: 5px;
		background-image: none !important;
		box-shadow: none;
		font-size: 13px;
		text-align: center;
		text-align-last: center;
		text-overflow: clip;
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
	}

	.woocommerce .cornukopia-catalog-variation-wrap[data-mobile-label] .cornukopia-catalog-variation {
		color: transparent;
		-webkit-text-fill-color: transparent;
	}

	.woocommerce .cornukopia-catalog-variation-wrap[data-mobile-label] .cornukopia-catalog-variation option {
		color: #1f1714;
		-webkit-text-fill-color: #1f1714;
	}

	.woocommerce .cornukopia-catalog-variation:hover,
	.woocommerce .cornukopia-catalog-variation:focus {
		box-shadow: none;
	}

	/*
	 * Anteprima rapida mobile: quantita e varianti restano sopra, mentre
	 * aggiunta, feedback locale e wishlist condividono una sola riga stabile.
	 * Il selettore copre sia i prodotti semplici sia quelli con tendina.
	 */
	#woosq-popup .reset_variations {
		display: none !important;
		visibility: hidden !important;
		width: 0 !important;
		height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		line-height: 0 !important;
	}

	#woosq-popup .woosq-product div.product form.cart:not(.variations_form),
	#woosq-popup .woosq-product div.product form.cart.variations_form
	.woocommerce-variation-add-to-cart {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) 26px auto;
		align-items: center;
		column-gap: 8px;
	}

	#woosq-popup .woosq-product div.product form.cart:not(.variations_form) > div.quantity,
	#woosq-popup .woosq-product div.product form.cart.variations_form
	.woocommerce-variation-add-to-cart > div.quantity {
		float: none !important;
		grid-row: 1;
		grid-column: 1 / -1;
		margin: 0 0 10px !important;
	}

	#woosq-popup .woosq-product div.product form.cart:not(.variations_form) > .single_add_to_cart_button,
	#woosq-popup .woosq-product div.product form.cart.variations_form
	.woocommerce-variation-add-to-cart > .single_add_to_cart_button {
		grid-row: 2;
		grid-column: 1;
		box-sizing: border-box;
		width: 100% !important;
		min-width: 0;
		margin: 0 !important;
	}

	#woosq-popup .woosq-product div.product form.cart:not(.variations_form) > .cornukopia-add-status,
	#woosq-popup .woosq-product div.product form.cart.variations_form
	.woocommerce-variation-add-to-cart > .cornukopia-add-status {
		grid-row: 2;
		grid-column: 2;
		width: 26px;
		height: 46px;
		margin: 0 !important;
	}

	#woosq-popup .woosq-product div.product form.cart:not(.variations_form) > .woosw-btn,
	#woosq-popup .woosq-product div.product form.cart.variations_form
	.woocommerce-variation-add-to-cart > .woosw-btn {
		grid-row: 2;
		grid-column: 3;
		margin: 0 !important;
	}

}

body.woocommerce-checkout .cornukopia-checkout-transient-cart-empty-notice {
	display: none !important;
}

/*
 * Solo su mobile, contiene l'azione WooCommerce che invia la verifica e-mail.
 * Il parametro nel link rende la regola estranea a tutti gli altri avvisi e pulsanti.
 */
@media screen and (max-width: 767px) {
	body.woocommerce-account .woocommerce-MyAccount-content
	a.button.wc-forward[href*="wc_send_verification"] {
		float: none;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		box-sizing: border-box;
		width: fit-content;
		max-width: 100%;
		min-height: 0;
		margin: 0 0 8px;
		padding: 8px 16px;
		font-size: 15px;
		line-height: 1.25;
	}
}

@media screen and (min-width: 1025px) {
	.header-navigation li.cornukopia-shop-menu-item > ul.sub-menu,
	.header-navigation li.cornukopia-shop-menu-item > ul.submenu {
		left: 50% !important;
		right: auto !important;
		translate: -50% 0;
	}
}
