/* ==========================================================================
   GNA Bianco — Shop
   Lo stesso bianco e nero, in scala più piccola. Vetrina, scheda, carrello,
   checkout, account e wishlist sopra il markup standard di WooCommerce.
   ========================================================================== */

/* ------------------------------------------------------ testata vetrina */

.gna-shophead {
	padding-block: clamp(32px, 6vw, 88px) clamp(24px, 3vw, 40px);
}

.gna-shophead__title {
	margin-bottom: clamp(24px, 3vw, 40px);
}

.gna-cats ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.gna-cats li {
	margin: 0;
}

.gna-cats a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	padding: 0 16px;
	border: 1px solid var(--line-strong);
	border-radius: 999px;
	font: 600 11px/1 var(--sans);
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--ink) !important;
	text-decoration: none !important;
	transition: background-color var(--t1) var(--ease), color var(--t1) var(--ease);
}

.gna-cats a:hover {
	border-color: var(--ink);
}

.gna-cats a[aria-current] {
	background: var(--ink);
	border-color: var(--ink);
	color: var(--ivory) !important;
}

.gna-cats__n {
	font-weight: 500;
	letter-spacing: 0;
	opacity: .7;
	font-variant-numeric: tabular-nums;
}

.woocommerce-products-header,
body.gna-bianco .woocommerce-result-count {
	display: none;
}

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) .gna-cats {
	margin-bottom: 28px;
}

body.gna-bianco .woocommerce-ordering {
	float: none;
	margin: 0 0 28px;
}

body.gna-bianco .woocommerce-ordering select {
	min-height: 44px;
	padding: 0 36px 0 12px;
	border: 1px solid var(--line-strong);
	border-radius: var(--radius);
	background-color: var(--paper);
	font: 500 13px var(--sans);
	color: var(--ink);
}

.gna-shop-grid {
	padding-bottom: var(--sec);
}

/* ---------------------------------------------------------- griglia */

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) ul.products {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: clamp(40px, 5vw, 72px) clamp(20px, 3vw, 48px);
	margin: 0;
	padding: 0;
	list-style: none;
}

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) ul.products::before,
:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) ul.products::after {
	display: none;
}

@media (min-width: 640px) {
	:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1080px) {
	:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) ul.products.columns-3,
	:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) .related ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	body.gna-bianco .gna-shop-page ul.products.columns-2 {
		max-width: 1120px;
	}
}

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) ul.products li.product {
	float: none;
	width: auto;
	margin: 0;
	padding: 0;
	text-align: left;
}

/* ------------------------------------------------------- card prodotto */

.gna-pcard {
	position: relative;
	display: grid;
	gap: 20px;
	align-content: start;
}

.gna-pcard__media {
	display: block;
	text-decoration: none !important;
}

.gna-frame--product .gna-frame__stage {
	aspect-ratio: 4 / 5;
	background: var(--paper);
}

/* Le copertine contengono testo: si mostrano intere, mai ritagliate. */
.gna-frame--product .gna-frame__stage img {
	object-fit: contain;
}

.gna-pcard__media img {
	transition: transform 1400ms var(--ease);
}

@media (hover: hover) {
	.gna-pcard:hover .gna-pcard__media img {
		transform: scale(1.05);
		transition-duration: 6s;
	}
}

.gna-pcard__body {
	display: grid;
	gap: 10px;
	justify-items: start;
}

.gna-pcard__cat {
	margin: 0;
	font: 600 10.5px/1.3 var(--sans);
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--ink-soft);
}

body.gna-bianco .gna-pcard__title {
	margin: 0;
	padding: 0;
	font: 400 clamp(1.6rem, 2.6vw, 2.3rem)/1.08 var(--serif) !important;
	letter-spacing: -0.01em;
	text-wrap: balance;
}

.gna-pcard__title a {
	color: var(--ink) !important;
	text-decoration: none !important;
	background: linear-gradient(var(--rose-deep), var(--rose-deep)) left 100% / 0 1px no-repeat;
	transition: background-size var(--t3) var(--ease);
}

.gna-pcard:hover .gna-pcard__title a {
	background-size: 100% 1px;
}

.gna-pcard__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 16px;
	margin-top: 6px;
}

/* ------------------------------------------------------------- prezzi */

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) .price,
:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) div.product p.price,
:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) div.product span.price,
body.gna-bianco .gna-pcard .price {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 10px;
	margin: 0;
	color: var(--ink) !important;
	font: 600 16px/1.2 var(--sans);
	font-variant-numeric: tabular-nums;
}

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) .price del,
body.gna-bianco .gna-pcard .price del {
	order: 2;
	opacity: 1;
	font-weight: 400;
	font-size: .86em;
	color: var(--ink-mute);
	text-decoration-thickness: 1px;
}

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) .price ins,
body.gna-bianco .gna-pcard .price ins {
	order: 1;
	text-decoration: none;
	font-weight: 600;
	background: none;
}

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) .price .woocommerce-price-suffix {
	font-weight: 400;
	font-size: .82em;
	color: var(--ink-soft);
}

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) span.onsale,
body.gna-bianco .woo_banner_wrapper {
	display: none !important;
}

/* ----------------------------------------------------------- pulsanti */

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) a.button,
:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) button.button,
:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) input.button,
:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) #respond input#submit,
:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) .button,
body.gna-bianco.woocommerce-page .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 44px;
	margin: 0;
	padding: 0 18px;
	border: 1px solid var(--ink);
	border-radius: var(--radius);
	background: transparent;
	color: var(--ink) !important;
	font: 600 11px/1.2 var(--sans) !important;
	letter-spacing: .16em;
	text-transform: uppercase;
	text-decoration: none !important;
	box-shadow: none;
	transition: background-color var(--t1) var(--ease), color var(--t1) var(--ease), border-color var(--t1) var(--ease);
}

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) a.button:hover,
:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) button.button:hover,
:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) input.button:hover {
	background: var(--ink);
	color: var(--ivory) !important;
}

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) a.button.alt,
:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) button.button.alt,
:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) input.button.alt,
:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) .single_add_to_cart_button,
:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) .checkout-button,
:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) #place_order,
body.gna-bianco .gna-pcard .add_to_cart_button {
	background: var(--bordeaux);
	border-color: var(--bordeaux);
	color: var(--ivory) !important;
}

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) a.button.alt:hover,
:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) button.button.alt:hover,
:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) .single_add_to_cart_button:hover,
:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) .checkout-button:hover,
:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) #place_order:hover,
body.gna-bianco .gna-pcard .add_to_cart_button:hover {
	background: var(--bordeaux-2);
	border-color: var(--bordeaux-2);
}

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) .button:disabled,
:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) .button[disabled] {
	opacity: .45;
	cursor: not-allowed;
}

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) a.button.loading {
	opacity: .6;
}

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) a.button.loading::after,
:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) a.button.added::after {
	position: static;
	margin-left: 4px;
	font-family: var(--sans);
}

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) a.added_to_cart {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0;
	font: 600 11px/1 var(--sans);
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--bordeaux) !important;
	text-decoration: underline !important;
	text-underline-offset: .3em;
}

/* -------------------------------------------------------------- avvisi */

body.gna-bianco .woocommerce-message,
body.gna-bianco .woocommerce-info,
body.gna-bianco .woocommerce-error,
body.gna-bianco .colibro_module_message_box {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 20px;
	margin: 0 0 28px;
	padding: 16px 20px;
	border: 1px solid var(--line);
	border-left: 2px solid var(--rose-deep);
	border-radius: 0;
	background: var(--paper);
	color: var(--ink);
	font: 500 14px/1.5 var(--sans);
	list-style: none;
	box-shadow: none;
}

body.gna-bianco .woocommerce-error {
	border-left-color: var(--bordeaux);
}

body.gna-bianco .woocommerce-message::before,
body.gna-bianco .woocommerce-info::before,
body.gna-bianco .woocommerce-error::before,
body.gna-bianco .colibro_module_message_box .message_icon_wrap,
body.gna-bianco .colibro_module_message_box .message_close_button {
	display: none;
}

body.gna-bianco .woocommerce-message .button,
body.gna-bianco .woocommerce-info .button {
	order: 2;
	margin-left: auto;
}

body.gna-bianco .wc-empty-cart-message {
	margin-bottom: 8px;
}

body.gna-bianco .wc-empty-cart-message .message_text,
body.gna-bianco .cart-empty {
	font: 400 clamp(1.6rem, 3vw, 2.4rem)/1.15 var(--serif);
}

body.gna-bianco .return-to-shop {
	margin: 0 0 var(--sec);
}

/* ----------------------------------------------------- quantità (stepper) */

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) .quantity {
	display: inline-flex;
	align-items: stretch;
	height: 48px;
	border: 1px solid var(--line-strong);
	border-radius: var(--radius);
	background: var(--paper);
}

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) .quantity .quantity-wrapper {
	display: contents;
}

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) .quantity .minus,
:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) .quantity .plus {
	display: none;
}

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) .quantity .qty {
	width: 52px;
	height: 100%;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 0 !important;
	background: transparent !important;
	font: 600 15px/1 var(--sans) !important;
	text-align: center;
	color: var(--ink);
	-moz-appearance: textfield;
	box-shadow: none !important;
}

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) .quantity .qty::-webkit-outer-spin-button,
:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) .quantity .qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.gna-qty__btn {
	display: inline-grid;
	place-items: center;
	width: 44px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--ink);
	cursor: pointer;
}

.gna-qty__btn:hover {
	background: var(--ivory-2);
}

.gna-qty__btn .gna-i {
	width: 16px;
	height: 16px;
}

/* ====================================================== SCHEDA PRODOTTO */

.gna-product {
	padding-block: clamp(20px, 3vw, 40px) var(--sec);
}

body.gna-bianco.single-product #main .wgl-container,
body.gna-bianco.tax-product_cat #main .wgl-container,
body.gna-bianco.post-type-archive-product #main .wgl-container {
	width: 100%;
	max-width: var(--maxw);
	padding-inline: var(--gutter);
}

body.gna-bianco.single-product #main .row,
body.gna-bianco.tax-product_cat #main .row {
	margin-inline: 0;
}

body.gna-bianco.single-product #main-content,
body.gna-bianco.tax-product_cat #main-content {
	width: 100%;
	padding-inline: 0;
}

body.gna-bianco.tax-product_cat #main .wgl-container {
	padding-block: clamp(28px, 4vw, 56px) var(--sec);
}

.gna-product .gna-crumbs {
	margin-bottom: clamp(20px, 3vw, 36px);
}

.gna-product__grid {
	display: grid;
	gap: clamp(28px, 4vw, 48px);
}

@media (min-width: 900px) {
	.gna-product__grid {
		grid-template-columns: minmax(0, 6fr) minmax(0, 5fr);
		gap: clamp(48px, 6vw, 112px);
		align-items: start;
	}

	.gna-product__summary {
		position: sticky;
		top: calc(var(--hh-s) + 32px);
	}
}

body.gna-bianco .gna-product div.images.images,
body.gna-bianco .gna-product div.summary.summary,
:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) div.product div.images,
:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) div.product div.summary,
body.gna-bianco.woocommerce-page div.product div.images,
body.gna-bianco.woocommerce-page div.product div.summary {
	float: none;
	width: auto;
	max-width: none;
	margin: 0;
}

.gna-product__media .gna-frame {
	padding: clamp(10px, 1.6vw, 22px);
}

.gna-product__media .woocommerce-product-gallery {
	opacity: 1 !important;
	margin: 0 !important;
}

.gna-product__media .woocommerce-product-gallery__image img {
	display: block;
	width: 100%;
	height: auto;
}

.gna-product__media .woocommerce-product-gallery__trigger {
	top: 14px !important;
	right: 14px !important;
	width: 40px !important;
	height: 40px !important;
	border-radius: 50%;
	background: var(--paper) !important;
}

.gna-product__media .flex-control-thumbs {
	display: grid !important;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 8px;
	margin: 10px 0 0 !important;
}

.gna-product__media .flex-control-thumbs li {
	width: auto !important;
	float: none !important;
}

.gna-product__summary {
	display: grid;
	gap: 18px;
	align-content: start;
}

.gna-product__summary > * {
	margin: 0 !important;
}

body.gna-bianco .gna-product .product_title {
	font: 400 clamp(2.4rem, 5vw, 4.4rem)/.98 var(--serif) !important;
	letter-spacing: -0.015em;
	text-wrap: balance;
	color: var(--ink) !important;
	text-transform: none !important;
}

.gna-product__cat a {
	color: inherit !important;
	text-decoration: none !important;
}

body.gna-bianco .gna-product__summary p.price {
	font-size: 20px !important;
	padding-bottom: 18px;
	border-bottom: 1px solid var(--line);
}

body.gna-bianco .gna-product .woocommerce-product-details__short-description {
	font-size: 15.5px;
	line-height: 1.7;
	color: var(--ink-soft);
}

body.gna-bianco .gna-product .woocommerce-product-details__short-description > div:first-child {
	font: 400 clamp(1.4rem, 2.4vw, 1.9rem)/1.15 var(--serif);
	color: var(--ink);
	margin-bottom: 6px;
}

body.gna-bianco .gna-product .woocommerce-product-details__short-description ul {
	margin: 12px 0 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--line);
}

body.gna-bianco .gna-product .woocommerce-product-details__short-description li {
	position: relative;
	margin: 0;
	padding: 10px 0 10px 22px;
	line-height: 1.55;
	list-style: none;
	border-bottom: 1px solid var(--line);
	color: var(--ink);
}

body.gna-bianco .gna-product .woocommerce-product-details__short-description li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 1.15em;
	width: 10px;
	height: 1px;
	background: var(--rose-deep);
}

body.gna-bianco .gna-product form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 10px;
	margin: 0 !important;
	padding-top: 6px;
}

body.gna-bianco .gna-product form.cart .single_add_to_cart_button {
	flex: 1 1 200px;
	min-height: 48px;
	float: none;
}

body.gna-bianco .gna-product .quantity {
	float: none;
	margin: 0;
}

body.gna-bianco .gna-product .yith-wcwl-add-to-wishlist {
	margin: 0;
}

body.gna-bianco .gna-product .yith-wcwl-add-to-wishlist a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	font: 600 11px/1 var(--sans);
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--ink) !important;
	text-decoration: none !important;
}

body.gna-bianco .gna-product .yith-wcwl-add-to-wishlist svg {
	width: 18px;
	height: 18px;
	color: var(--rose-deep);
}

body.gna-bianco .gna-product .product_meta {
	padding-top: 16px;
	border-top: 1px solid var(--line);
	font-size: 13px;
	color: var(--ink-soft);
}

body.gna-bianco .gna-product .product_meta a {
	color: var(--ink) !important;
}

body.gna-bianco .gna-product .addtoany_header {
	font: 600 10.5px/1.4 var(--sans);
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--ink-soft);
}

body.gna-bianco .gna-product .a2a_kit {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
}

body.gna-bianco .gna-product .a2a_kit .a2a_svg {
	border-radius: 50% !important;
	background-color: var(--ink) !important;
}

body.gna-bianco .pagodil-sticker-container {
	margin-bottom: 0 !important;
}

/* Sezioni editoriali al posto delle schede */
.gna-psections {
	margin-top: clamp(64px, 9vw, 140px);
}

.gna-psection {
	display: grid;
	gap: 24px;
	padding-top: clamp(20px, 2.4vw, 32px);
	border-top: 1px solid var(--line-strong);
}

.gna-psection + .gna-psection {
	margin-top: clamp(48px, 6vw, 96px);
}

@media (min-width: 900px) {
	.gna-psection {
		grid-template-columns: minmax(0, 4fr) minmax(0, 7fr);
		gap: clamp(40px, 5vw, 96px);
	}
}

body.gna-bianco .gna-psection__title {
	margin: 0;
	font: 400 clamp(2rem, 4vw, 3.4rem)/1 var(--serif) !important;
	color: var(--ink) !important;
}

.gna-psection__body {
	max-width: 68ch;
	font-size: 15.5px;
	line-height: 1.75;
	color: var(--ink-soft);
}

.gna-psection__body > div:empty {
	height: .9em;
}

.gna-psection__body p {
	margin: 0;
	padding: 18px 0;
	border-bottom: 1px solid var(--line);
}

.gna-psection__body p:first-child {
	padding-top: 0;
}

.gna-psection__body p > strong:first-child + br {
	display: none;
}

.gna-psection__body p > strong:first-child {
	display: block;
	margin-bottom: 8px;
	font: 400 clamp(1.25rem, 2vw, 1.6rem)/1.2 var(--serif);
	color: var(--ink);
}

.gna-psection__body .Apple-tab-span {
	display: none;
}

/* Correlati */
body.gna-bianco .gna-product .related,
body.gna-bianco .gna-product .upsells {
	margin-top: clamp(64px, 9vw, 140px);
	padding-top: clamp(20px, 2.4vw, 32px);
	border-top: 1px solid var(--line-strong);
}

body.gna-bianco .gna-product .related > h2,
body.gna-bianco .gna-product .upsells > h2 {
	margin: 0 0 clamp(24px, 3vw, 40px);
	font: 400 clamp(2rem, 4vw, 3.4rem)/1 var(--serif) !important;
	color: var(--ink) !important;
}

/* ========================================================== CARRELLO */

body.gna-bianco.woocommerce-cart #main .wgl-container,
body.gna-bianco.woocommerce-checkout #main .wgl-container,
body.gna-bianco.woocommerce-account #main .wgl-container,
body.gna-bianco.gna-shop.page #main .wgl-container {
	width: 100%;
	max-width: var(--maxw);
	padding-inline: var(--gutter);
	padding-block: clamp(28px, 4vw, 56px) var(--sec);
}

body.gna-bianco.woocommerce-cart .woocommerce {
	display: grid;
	gap: clamp(28px, 4vw, 56px);
}

@media (min-width: 1080px) {
	body.gna-bianco.woocommerce-cart .woocommerce:has(.woocommerce-cart-form) {
		grid-template-columns: minmax(0, 7fr) minmax(0, 4fr);
		align-items: start;
	}

	body.gna-bianco.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper {
		grid-column: 1 / -1;
	}
}

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) table.shop_table {
	width: 100%;
	margin: 0;
	border: 0;
	border-collapse: collapse;
	border-radius: 0;
	font-size: 14.5px;
}

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) table.shop_table th {
	padding: 0 12px 12px 0;
	border: 0;
	border-bottom: 1px solid var(--line-strong);
	font: 600 10.5px/1.3 var(--sans);
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--ink-soft);
	text-align: left;
}

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) table.shop_table td {
	padding: 18px 12px 18px 0;
	border: 0;
	border-bottom: 1px solid var(--line);
	vertical-align: middle;
	background: transparent !important;
}

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) table.cart .product-thumbnail {
	width: 92px;
}

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) table.cart img {
	display: block;
	width: 72px !important;
	height: 90px !important;
	object-fit: cover;
	border: 1px solid var(--line);
	background: var(--paper);
	padding: 4px;
}

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) table.cart .product-name a {
	font: 400 1.35rem/1.15 var(--serif);
	color: var(--ink) !important;
	text-decoration: none !important;
}

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) table.cart a.remove {
	display: inline-grid !important;
	place-items: center;
	width: 44px !important;
	height: 44px !important;
	border: 1px solid var(--line);
	border-radius: 50% !important;
	color: var(--ink) !important;
	font: 300 20px/1 var(--sans) !important;
	background: transparent !important;
	transition: background-color var(--t1) var(--ease), color var(--t1) var(--ease);
}

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) table.cart a.remove:hover {
	background: var(--ink) !important;
	color: var(--ivory) !important;
}

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) table.cart td.actions {
	padding-top: 22px;
	border-bottom: 0;
}

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) table.cart td.actions .coupon {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	float: none;
	margin-bottom: 10px;
}

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) table.cart td.actions .coupon label {
	display: none;
}

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) table.cart td.actions .input-text,
:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) form .form-row .input-text,
:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) form .form-row select,
:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) form .form-row textarea,
body.gna-bianco.woocommerce-page form .form-row .input-text {
	width: 100%;
	min-height: 48px;
	padding: 0 14px;
	border: 1px solid var(--line-strong);
	border-radius: var(--radius);
	background: var(--paper);
	color: var(--ink);
	font: 400 15px/1.4 var(--sans);
	box-shadow: none;
}

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) table.cart td.actions .input-text {
	width: auto;
	flex: 1 1 180px;
}

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) form .form-row textarea {
	min-height: 120px;
	padding: 12px 14px;
}

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) .input-text:focus,
:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) select:focus,
:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) textarea:focus {
	border-color: var(--bordeaux);
	outline: none;
	box-shadow: 0 0 0 1px var(--bordeaux);
}

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) table.cart td.actions > .button {
	float: right;
}

/* Totali */
:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) .cart-collaterals {
	width: auto;
}

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) .cart-collaterals .cart_totals,
body.gna-bianco.woocommerce-page .cart-collaterals .cart_totals {
	float: none;
	width: auto;
	padding: clamp(22px, 3vw, 36px);
	background: var(--paper);
	border: 1px solid var(--line);
	position: relative;
}

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) .cart_totals::before {
	content: "";
	position: absolute;
	left: clamp(22px, 3vw, 36px);
	top: -1px;
	width: 56px;
	height: 1px;
	background: var(--rose-deep);
}

@media (min-width: 1080px) {
	:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) .cart-collaterals {
		position: sticky;
		top: calc(var(--hh-s) + 32px);
	}
}

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) .cart_totals h2,
:is(body.gna-bianco.woocommerce-checkout, body.gna-bianco .woocommerce-checkout) h3,
body.gna-bianco #order_review_heading,
body.gna-bianco.woocommerce-account h2 {
	margin: 0 0 18px;
	font: 400 clamp(1.8rem, 3vw, 2.4rem)/1.05 var(--serif) !important;
	color: var(--ink) !important;
	text-transform: none !important;
}

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) .cart_totals table.shop_table th {
	padding: 14px 12px 14px 0;
	border-bottom: 1px solid var(--line);
	vertical-align: top;
}

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) .cart_totals .order-total th,
:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) .cart_totals .order-total td {
	border-bottom: 0;
	font-size: 17px;
	color: var(--ink);
}

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) .wc-proceed-to-checkout {
	padding: 18px 0 0;
}

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) .wc-proceed-to-checkout .checkout-button {
	display: flex;
	width: 100%;
	min-height: 52px;
	margin: 0;
	font-size: 11.5px !important;
}

/* Carrello su smartphone (WooCommerce smallscreen) */
@media (max-width: 768px) {
	:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) table.shop_table_responsive thead {
		display: none;
	}

	:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) table.shop_table_responsive tr {
		display: grid;
		grid-template-columns: 84px minmax(0, 1fr) 44px;
		gap: 4px 12px;
		padding: 18px 0;
		border-bottom: 1px solid var(--line);
	}

	:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) table.shop_table_responsive tr td {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 4px 0;
		border: 0;
		text-align: left !important;
	}

	:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) table.shop_table_responsive tr td::before {
		font: 600 10px/1.3 var(--sans);
		letter-spacing: .14em;
		text-transform: uppercase;
		color: var(--ink-soft);
		float: none;
	}

	:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) table.cart tr.cart_item td.product-thumbnail {
		display: block;
		grid-column: 1;
		grid-row: 1 / span 4;
	}

	:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) table.cart tr.cart_item td.product-thumbnail::before,
	:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) table.cart tr.cart_item td.product-remove::before,
	:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) table.cart tr.cart_item td.product-name::before {
		display: none;
	}

	:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) table.cart tr.cart_item td.product-remove {
		grid-column: 3;
		grid-row: 1;
		justify-content: flex-end;
	}

	:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) table.cart tr.cart_item td.product-name {
		grid-column: 2;
		grid-row: 1;
	}

	:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) table.cart tr.cart_item td.product-price,
	:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) table.cart tr.cart_item td.product-quantity,
	:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) table.cart tr.cart_item td.product-subtotal {
		grid-column: 2 / 4;
	}

	:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) table.cart tr:last-child {
		display: block;
		border-bottom: 0;
	}

	:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) table.cart td.actions {
		display: block;
	}

	:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) table.cart td.actions::before {
		display: none;
	}

	:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) table.cart td.actions > .button {
		float: none;
		width: 100%;
	}

	:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) .cart_totals table.shop_table_responsive tr {
		grid-template-columns: minmax(0, 1fr);
	}

	:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) .cart_totals table.shop_table_responsive tr td::before {
		content: attr(data-title);
	}
}

/* ========================================================== CHECKOUT */

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) form .form-row {
	margin: 0 0 16px;
	padding: 0;
}

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) form .form-row label {
	display: block;
	margin-bottom: 6px;
	font: 600 12px/1.4 var(--sans);
	letter-spacing: .02em;
	color: var(--ink);
}

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) form .form-row .required {
	color: var(--bordeaux);
	text-decoration: none;
	border: 0;
}

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) form .form-row.woocommerce-invalid .input-text {
	border-color: var(--bordeaux);
}

body.gna-bianco .select2-container--default .select2-selection--single {
	height: 48px;
	border: 1px solid var(--line-strong);
	border-radius: var(--radius);
	background: var(--paper);
}

body.gna-bianco .select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 46px;
	padding-left: 14px;
	color: var(--ink);
}

body.gna-bianco .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 46px;
}

body.gna-bianco .select2-dropdown {
	border-color: var(--line-strong);
	border-radius: 0;
}

body.gna-bianco .select2-results__option--highlighted[aria-selected] {
	background: var(--ink) !important;
}

@media (min-width: 1080px) {
	body.gna-bianco form.woocommerce-checkout {
		display: grid;
		grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
		gap: 0 clamp(40px, 5vw, 88px);
		align-items: start;
	}

	body.gna-bianco form.woocommerce-checkout > * {
		grid-column: 1;
	}

	body.gna-bianco form.woocommerce-checkout #order_review_heading,
	body.gna-bianco form.woocommerce-checkout #order_review {
		grid-column: 2;
	}

	body.gna-bianco form.woocommerce-checkout #order_review_heading {
		grid-row: 1;
	}

	body.gna-bianco form.woocommerce-checkout #order_review {
		grid-row: 2 / span 4;
		position: sticky;
		top: calc(var(--hh-s) + 32px);
	}
}

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) .col2-set,
body.gna-bianco.woocommerce-page .col2-set {
	width: auto;
	display: grid;
	gap: 0 32px;
}

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) .col2-set::before,
:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) .col2-set::after {
	display: none;
}

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) .col2-set .col-1,
:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) .col2-set .col-2 {
	float: none;
	width: auto;
}

:is(body.gna-bianco.woocommerce-checkout, body.gna-bianco .woocommerce-checkout) #order_review {
	padding: clamp(22px, 3vw, 36px);
	background: var(--paper);
	border: 1px solid var(--line);
}

:is(body.gna-bianco.woocommerce-checkout, body.gna-bianco .woocommerce-checkout) #payment {
	margin-top: 18px;
	border-radius: 0;
	background: transparent;
}

:is(body.gna-bianco.woocommerce-checkout, body.gna-bianco .woocommerce-checkout) #payment ul.payment_methods {
	padding: 0 0 12px;
	border-bottom: 1px solid var(--line);
}

:is(body.gna-bianco.woocommerce-checkout, body.gna-bianco .woocommerce-checkout) #payment ul.payment_methods li {
	padding: 12px 0;
	border-bottom: 1px solid var(--line);
	list-style: none;
}

:is(body.gna-bianco.woocommerce-checkout, body.gna-bianco .woocommerce-checkout) #payment ul.payment_methods li:last-child {
	border-bottom: 0;
}

:is(body.gna-bianco.woocommerce-checkout, body.gna-bianco .woocommerce-checkout) #payment ul.payment_methods li label {
	font: 600 14px/1.4 var(--sans);
}

:is(body.gna-bianco.woocommerce-checkout, body.gna-bianco .woocommerce-checkout) #payment ul.payment_methods li input[type="radio"],
:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) form .form-row input[type="checkbox"] {
	accent-color: var(--bordeaux);
	width: 18px;
	height: 18px;
	vertical-align: -3px;
	margin-right: 8px;
}

:is(body.gna-bianco.woocommerce-checkout, body.gna-bianco .woocommerce-checkout) #payment div.payment_box {
	margin: 10px 0 0;
	padding: 14px 16px;
	border-radius: 0;
	background: var(--ivory-2);
	color: var(--ink-soft);
	font-size: 13.5px;
}

:is(body.gna-bianco.woocommerce-checkout, body.gna-bianco .woocommerce-checkout) #payment div.payment_box::before {
	display: none;
}

:is(body.gna-bianco.woocommerce-checkout, body.gna-bianco .woocommerce-checkout) #payment div.form-row {
	padding: 16px 0 0;
}

:is(body.gna-bianco.woocommerce-checkout, body.gna-bianco .woocommerce-checkout) #place_order {
	width: 100%;
	min-height: 52px;
	float: none;
}

:is(body.gna-bianco.woocommerce-checkout, body.gna-bianco .woocommerce-checkout) .woocommerce-privacy-policy-text,
:is(body.gna-bianco.woocommerce-checkout, body.gna-bianco .woocommerce-checkout) .woocommerce-terms-and-conditions-wrapper {
	font-size: 12.5px;
	line-height: 1.6;
	color: var(--ink-soft);
}

:is(body.gna-bianco.woocommerce-checkout, body.gna-bianco .woocommerce-checkout) .woocommerce-form-coupon-toggle .woocommerce-info,
:is(body.gna-bianco.woocommerce-checkout, body.gna-bianco .woocommerce-checkout) .woocommerce-form-login-toggle .woocommerce-info {
	font-size: 13.5px;
}

/* ============================================================ ACCOUNT */

body.gna-bianco.woocommerce-account .u-columns.col2-set {
	gap: 24px;
}

@media (min-width: 900px) {
	:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) .col2-set,
	body.gna-bianco.woocommerce-account .u-columns.col2-set {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.gna-bianco.woocommerce-checkout .woocommerce .col2-set {
		grid-template-columns: minmax(0, 1fr);
	}
}

body.gna-bianco.woocommerce-account .u-column1,
body.gna-bianco.woocommerce-account .u-column2 {
	padding: clamp(22px, 3vw, 40px);
	background: var(--paper);
	border: 1px solid var(--line);
}

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) form.login,
:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) form.register {
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
}

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) form .woocommerce-form-login__rememberme {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	margin-right: 16px;
	font-weight: 500;
}

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) .lost_password a {
	color: var(--bordeaux) !important;
	font-size: 13px;
}

body.gna-bianco.woocommerce-account .woocommerce-MyAccount-navigation ul {
	margin: 0 0 28px;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--line);
}

body.gna-bianco.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: flex;
	align-items: center;
	min-height: 48px;
	border-bottom: 1px solid var(--line);
	font: 500 14px var(--sans);
	color: var(--ink) !important;
	text-decoration: none !important;
}

body.gna-bianco.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
	font-weight: 700;
	color: var(--bordeaux) !important;
}

/* ============================================================ WISHLIST */

body.gna-bianco .wishlist_table,
body.gna-bianco table.wishlist_table {
	width: 100%;
	border: 0 !important;
	font-size: 14.5px;
}

body.gna-bianco .wishlist_table th,
body.gna-bianco .wishlist_table td {
	padding: 16px 12px 16px 0 !important;
	border: 0 !important;
	border-bottom: 1px solid var(--line) !important;
	background: transparent !important;
	text-align: left;
}

body.gna-bianco .wishlist_table .product-name a {
	font: 400 1.35rem/1.15 var(--serif);
	color: var(--ink) !important;
}

body.gna-bianco .wishlist-title h2 {
	font: 400 clamp(1.8rem, 3vw, 2.4rem)/1.05 var(--serif) !important;
}

body.gna-bianco .wishlist-empty,
body.gna-bianco .wishlist_table .wishlist-empty {
	font: 400 1.6rem/1.2 var(--serif) !important;
	color: var(--ink) !important;
	text-align: left !important;
}

/* Prodotto aggiunto: la cifra nel carrello pulsa una volta */
.gna-cart__count.is-bump {
	animation: gna-bump 600ms var(--ease);
}

/* ==================================================== DIFESE DAL PARENT */

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) button.button,
:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) button.button:hover {
	font-size: 11px !important;
}

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) button.button {
	background-color: transparent !important;
}

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) button.button:hover {
	background-color: var(--ink) !important;
}

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) button.button.alt,
:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) button.single_add_to_cart_button,
:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) button#place_order {
	background-color: var(--bordeaux) !important;
}

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) button.button.alt:hover,
:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) button.single_add_to_cart_button:hover,
:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) button#place_order:hover {
	background-color: var(--bordeaux-2) !important;
}

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) div.product form.cart .button::before,
:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) div.product form.cart .button::after {
	display: none !important;
}

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) .gna-qty__btn {
	font-size: 16px !important;
	background-color: transparent !important;
}

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) .gna-qty__btn:hover {
	background-color: var(--ivory-2) !important;
}

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) .summary form.cart,
body.gna-bianco .gna-product form.cart {
	border-top: 0;
	padding-bottom: 0;
	margin-top: 0;
}

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) .col2-set,
body.gna-bianco.woocommerce-page .col2-set {
	float: none;
	margin-right: 0;
	background: transparent;
}

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) form .form-row label {
	font-size: 12px !important;
}

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) label,
:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) p {
	font-size: inherit;
}

:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) table.shop_table td,
:is(body.gna-bianco.woocommerce, body.gna-bianco .woocommerce, body.gna-bianco .gna-product) table.shop_table th {
	border-top: 0;
}

/* Il CSS aggiuntivo nascondeva i correlati: nella scheda editoriale tornano
   come seconda proposta (eliminate questa regola per nasconderli di nuovo). */
body.gna-bianco .gna-product .related.products {
	display: block !important;
}

body.gna-bianco .gna-noimg {
	position: absolute;
	inset: 0;
	background: repeating-linear-gradient(135deg, var(--ivory-2) 0 10px, var(--paper) 10px 20px);
}

body.gna-bianco .gna-product .product_meta,
body.gna-bianco .gna-product .product_meta * {
	font-family: var(--sans) !important;
	font-weight: 500;
}

body.gna-bianco .gna-product .product_meta .posted_in {
	font-weight: 400;
	color: var(--ink-soft);
}

/* Stepper quantità: un solo bordo (Colibro ne aggiunge uno al campo). */
body.gna-bianco .quantity input.qty.qty {
	width: 52px !important;
	height: 46px !important;
	min-height: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	text-align: center;
}

body.gna-bianco .gna-product div.quantity.quantity {
	height: 48px;
	margin: 0;
	border: 1px solid var(--line-strong);
}

body.gna-bianco .gna-product form.cart .single_add_to_cart_button.button {
	height: auto;
	min-height: 48px;
	padding: 0 22px;
	line-height: 1.2;
}

body.gna-bianco .gna-product form.cart div.quantity input.qty.qty,
body.gna-bianco .woocommerce-cart-form div.quantity input.qty.qty {
	width: 52px !important;
	height: 46px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	align-self: center;
	font: 600 15px/1 var(--sans) !important;
	color: var(--ink) !important;
}

body.gna-bianco .gna-product form.cart div.quantity.quantity {
	display: inline-flex !important;
	align-items: center;
	padding: 0 !important;
	border-top: 1px solid var(--line-strong) !important;
}

body.gna-bianco .gna-product .yith-wcwl-add-to-wishlist,
body.gna-bianco .gna-product .yith-wcwl-add-button {
	text-align: left;
	justify-content: flex-start;
}

/* ---------------------------------------- difese tabelle/checkout (Colibro) */
body.gna-bianco table.shop_table thead,
body.gna-bianco table.shop_table thead tr,
body.gna-bianco table.shop_table thead th,
body.gna-bianco table.wishlist_table thead,
body.gna-bianco table.wishlist_table thead th {
	background: transparent !important;
	color: var(--ink-soft) !important;
}

body.gna-bianco table.shop_table .woocommerce-Price-amount,
body.gna-bianco table.shop_table .woocommerce-Price-amount bdi,
body.gna-bianco table.shop_table strong,
body.gna-bianco table.wishlist_table .woocommerce-Price-amount {
	font-family: var(--sans) !important;
	font-weight: 600 !important;
	color: var(--ink) !important;
}

body.gna-bianco table.shop_table tr,
body.gna-bianco table.shop_table tfoot,
body.gna-bianco table.shop_table tfoot tr th,
body.gna-bianco table.shop_table tfoot tr td,
body.gna-bianco .cart_totals table tr th,
body.gna-bianco .cart_totals table tr td {
	border-top: 0 !important;
}

body.gna-bianco .cart_totals table tr.cart-subtotal th,
body.gna-bianco .cart_totals table tr.cart-subtotal td,
body.gna-bianco table.shop_table tfoot tr.cart-subtotal th,
body.gna-bianco table.shop_table tfoot tr.cart-subtotal td {
	border-bottom: 1px solid var(--line) !important;
}

body.gna-bianco .cart_totals table tr.order-total th,
body.gna-bianco .cart_totals table tr.order-total td,
body.gna-bianco table.shop_table tfoot tr.order-total th,
body.gna-bianco table.shop_table tfoot tr.order-total td {
	border-bottom: 0 !important;
	padding-top: 16px;
	font: 600 10.5px/1.3 var(--sans) !important;
	letter-spacing: .16em;
	text-transform: uppercase;
}

body.gna-bianco table.shop_table tfoot tr.order-total td .woocommerce-Price-amount,
body.gna-bianco .cart_totals tr.order-total td .woocommerce-Price-amount {
	font-size: 18px !important;
	letter-spacing: 0;
}

body.gna-bianco table.shop_table div.quantity.quantity {
	display: inline-flex !important;
	align-items: center;
	flex-wrap: nowrap;
	height: 48px;
	padding: 0;
	border: 1px solid var(--line-strong);
	background: var(--paper);
}

body.gna-bianco .quantity button.gna-qty__btn {
	align-self: stretch;
	background-color: transparent !important;
}

body.gna-bianco .woocommerce-cart-form input#coupon_code::placeholder {
	text-transform: none;
}

body.gna-bianco .woocommerce .col2-set > .col-1,
body.gna-bianco .woocommerce .col2-set > .col-2 {
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

body.gna-bianco #payment #place_order,
body.gna-bianco #payment button#place_order {
	border: 1px solid var(--bordeaux) !important;
	background-color: var(--bordeaux) !important;
	color: var(--ivory) !important;
	font-size: 11.5px !important;
}

body.gna-bianco #payment #place_order:hover {
	background-color: var(--bordeaux-2) !important;
}

body.gna-bianco #payment,
body.gna-bianco #order_review #payment {
	background: transparent !important;
	border-radius: 0 !important;
}

/* Wishlist YITH su smartphone */
@media (max-width: 768px) {
	body.gna-bianco table.wishlist_table thead {
		display: none;
	}

	body.gna-bianco table.wishlist_table tbody tr {
		display: grid;
		grid-template-columns: 84px minmax(0, 1fr) 44px;
		gap: 6px 12px;
		padding: 18px 0;
		border-bottom: 1px solid var(--line);
	}

	body.gna-bianco table.wishlist_table tbody td {
		display: block;
		padding: 0 !important;
		border: 0 !important;
		text-align: left !important;
	}

	body.gna-bianco table.wishlist_table td.product-thumbnail {
		grid-column: 1;
		grid-row: 1 / span 4;
	}

	body.gna-bianco table.wishlist_table td.product-remove {
		grid-column: 3;
		grid-row: 1;
	}

	body.gna-bianco table.wishlist_table td.product-name,
	body.gna-bianco table.wishlist_table td.product-price,
	body.gna-bianco table.wishlist_table td.product-stock-status,
	body.gna-bianco table.wishlist_table td.product-add-to-cart {
		grid-column: 2;
	}

	body.gna-bianco table.wishlist_table td.wishlist-empty {
		grid-column: 1 / -1;
	}
}

body.gna-bianco table.wishlist_table img {
	display: block;
	width: 72px !important;
	height: 90px !important;
	object-fit: contain;
	padding: 4px;
	border: 1px solid var(--line);
	background: var(--paper);
}

body.gna-bianco table.wishlist_table a.remove {
	display: inline-grid !important;
	place-items: center;
	width: 44px !important;
	height: 44px !important;
	border: 1px solid var(--line);
	border-radius: 50% !important;
	color: var(--ink) !important;
	background: transparent !important;
	font: 300 20px/1 var(--sans) !important;
}

body.gna-bianco .wishlist-in-stock {
	color: var(--ink-soft) !important;
	font-size: 13px;
}

body.gna-bianco table.cart img {
	object-fit: contain !important;
}

@media (min-width: 1080px) {
	body.gna-bianco form.woocommerce-checkout #customer_details {
		grid-row: 1 / span 2;
	}

	body.gna-bianco form.woocommerce-checkout #order_review_heading {
		grid-row: 1;
		align-self: end;
	}

	body.gna-bianco form.woocommerce-checkout #order_review {
		grid-row: 2;
		align-self: start;
	}
}

body.gna-bianco form.woocommerce-checkout #order_review,
body.gna-bianco form.woocommerce-checkout #order_review_heading {
	float: none !important;
	width: auto !important;
	max-width: none !important;
	margin: 0;
}

body.gna-bianco form.woocommerce-checkout #order_review_heading {
	padding-top: 0;
	margin-bottom: 18px;
}

body.gna-bianco .woocommerce form.login,
body.gna-bianco .woocommerce form.register,
body.gna-bianco .woocommerce form.checkout_coupon {
	border: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	border-radius: 0 !important;
}

body.gna-bianco.woocommerce-account .u-column1 h2,
body.gna-bianco.woocommerce-account .u-column2 h2 {
	margin-bottom: 20px;
}

body.gna-bianco.woocommerce-account .woocommerce-privacy-policy-text,
body.gna-bianco.woocommerce-account form.register > p:not(.form-row) {
	font-size: 13.5px;
	line-height: 1.6;
	color: var(--ink-soft);
}

body.gna-bianco .gna-product form.cart div.quantity input.qty.qty {
	line-height: 46px !important;
}

body.gna-bianco .gna-product .yith-wcwl-add-to-wishlist,
body.gna-bianco .gna-product .yith-wcwl-add-to-wishlist .yith-wcwl-add-button {
	display: flex;
	text-align: left !important;
	justify-content: flex-start !important;
}

body.gna-bianco .woocommerce-cart-form td.actions .coupon .input-text {
	margin: 0 !important;
}
