/* =========================================================================
   Honey — Stile WooCommerce on-brand
   Riveste il markup standard di WooCommerce con l'identità del tema (colori,
   tipografia, bottoni, card) così shop/prodotto/carrello/checkout sono coerenti.
   ========================================================================= */

.wac-wc { padding-block: 60px; }
.honey-wc .wac-container { max-width: var(--wac-container); }

/* --- Titoli / breadcrumb --- */
.woocommerce-products-header__title,
.product_title,
.cart-collaterals h2,
.woocommerce-column__title,
#order_review_heading,
.woocommerce-checkout h3 {
	font-family: var(--wac-display); color: var(--wac-night); font-weight: 600;
}
.woocommerce-breadcrumb {
	font-size: 13px; color: var(--wac-mute); margin-bottom: 22px; letter-spacing: .02em;
}
.woocommerce-breadcrumb a { color: var(--wac-gold-deep); text-decoration: none; }

/* --- Griglia prodotti --- */
.woocommerce ul.products {
	display: grid; column-gap: 28px; row-gap: 52px; margin: 0; padding: 0;
	grid-template-columns: repeat(var(--wc-cols, 3), minmax(0, 1fr));
}
/* FIX celle vuote: WooCommerce aggiunge ::before/::after (clearfix per il vecchio
   layout float). In una grid diventano due celle vuote (prima e ultima). Via. */
.woocommerce ul.products::before,
.woocommerce ul.products::after {
	content: none !important; display: none !important;
}
.woocommerce ul.products.columns-2 { --wc-cols: 2; }
.woocommerce ul.products.columns-3 { --wc-cols: 3; }
.woocommerce ul.products.columns-4 { --wc-cols: 4; }
.woocommerce ul.products li.product {
	width: auto !important; margin: 0 !important; float: none !important;
	background: var(--wac-paper); border: 1px solid var(--wac-line);
	border-radius: var(--wac-radius-lg); overflow: hidden;
	display: flex; flex-direction: column; text-align: left;
	transition: transform .3s var(--wac-ease-out), box-shadow .3s var(--wac-ease-out);
}
.woocommerce ul.products li.product:hover {
	transform: translateY(-4px); box-shadow: 0 18px 44px rgba(20,14,6,.10);
}
.woocommerce ul.products li.product a img {
	margin: 0; border-radius: 0; aspect-ratio: 1/1; object-fit: cover; width: 100%;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--wac-display); font-size: 18px; font-weight: 600;
	color: var(--wac-night); padding: 16px 18px 4px; line-height: 1.25;
}
.woocommerce ul.products li.product .price {
	color: var(--wac-night); font-weight: 600; font-size: 16px; padding: 0 18px 14px; margin: 0;
}
.woocommerce ul.products li.product .price del { color: var(--wac-mute); font-weight: 400; opacity: .7; margin-right: 6px; }
.woocommerce ul.products li.product .price ins { text-decoration: none; color: var(--wac-gold-deep); }
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart {
	margin: auto 18px 18px; text-align: center;
}

/* --- Badge "in offerta" --- */
.woocommerce span.onsale {
	background: var(--wac-gold); color: var(--wac-night); font-weight: 700;
	border-radius: 999px; min-width: 0; min-height: 0; padding: 6px 12px;
	font-size: 11px; letter-spacing: .06em; text-transform: uppercase;
	top: 12px; left: 12px; margin: 0; line-height: 1;
}

/* --- Bottoni --- */
.woocommerce a.button, .woocommerce button.button,
.woocommerce input.button, .woocommerce .button,
.woocommerce #respond input#submit, .woocommerce a.button.alt,
.woocommerce button.button.alt {
	background: var(--wac-gold); color: var(--wac-night);
	font-family: var(--wac-body); font-weight: 600; font-size: 14px;
	border: 0; border-radius: 999px; padding: 13px 26px; line-height: 1;
	transition: background .25s var(--wac-ease), color .25s var(--wac-ease), transform .2s var(--wac-ease-out);
	cursor: pointer;
}
.woocommerce a.button:hover, .woocommerce button.button:hover,
.woocommerce input.button:hover, .woocommerce .button:hover,
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover,
.woocommerce #respond input#submit:hover {
	background: var(--wac-night); color: var(--wac-cream);
}
.woocommerce .button.disabled, .woocommerce button.button:disabled { opacity: .55; }

/* --- Prezzi generici --- */
.woocommerce div.product p.price, .woocommerce div.product span.price {
	color: var(--wac-night); font-family: var(--wac-display); font-size: 28px; font-weight: 600;
}
.woocommerce div.product p.price ins { text-decoration: none; color: var(--wac-gold-deep); }

/* --- Scheda prodotto singola --- */
.single-product div.product { display: grid; grid-template-columns: 1.1fr 1fr; gap: 48px; align-items: start; }
.single-product div.product .woocommerce-product-gallery { margin: 0; }
.single-product div.product .woocommerce-product-gallery__image img { border-radius: var(--wac-radius-lg); }
.single-product .product_title { font-size: clamp(30px, 4vw, 46px); line-height: 1.05; margin: 0 0 12px; }
.single-product .woocommerce-product-details__short-description { color: var(--wac-mute); line-height: 1.7; }
.single-product form.cart { margin: 22px 0; display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.single-product .woocommerce-tabs { grid-column: 1 / -1; margin-top: 30px; }
.single-product .woocommerce-tabs ul.tabs { padding: 0; border: 0; }
.single-product .woocommerce-tabs ul.tabs::before { border-color: var(--wac-line); }
.single-product .woocommerce-tabs ul.tabs li {
	background: transparent; border: 0; border-bottom: 2px solid transparent; border-radius: 0;
}
.single-product .woocommerce-tabs ul.tabs li.active { border-bottom-color: var(--wac-gold); }
.single-product .woocommerce-tabs ul.tabs li a { color: var(--wac-night); font-weight: 600; }

/* --- Quantità --- */
.woocommerce .quantity .qty {
	border: 1px solid var(--wac-line-strong); border-radius: 999px; padding: 12px;
	width: 72px; text-align: center; font-weight: 600; background: var(--wac-paper);
}

/* --- Carrello --- */
.woocommerce table.shop_table {
	border: 1px solid var(--wac-line); border-radius: var(--wac-radius-lg); overflow: hidden; border-collapse: separate;
}
.woocommerce table.shop_table th { font-family: var(--wac-body); color: var(--wac-night); }
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce .cart_totals {
	background: var(--wac-paper); border: 1px solid var(--wac-line); border-radius: var(--wac-radius-lg); padding: 22px;
}
.woocommerce a.remove { color: var(--wac-night) !important; border-radius: 50%; }
.woocommerce a.remove:hover { background: var(--wac-gold) !important; color: var(--wac-night) !important; }

/* --- Drawer mini-cart: annulla lo stile nativo Woo del link "rimuovi" ---
   Woo dà a a.remove un cerchietto in position:absolute che sballa la riga.
   Qui lo riportiamo alla × pulita del vecchio drawer, in colonna con il totale. */
.wac-cart-line-end a.wac-cart-line-remove,
.wac-cart-line a.remove.wac-cart-line-remove {
	position: static !important; float: none !important;
	width: auto !important; height: auto !important;
	min-width: 0 !important; min-height: 0 !important;
	background: none !important; box-shadow: none !important;
	border-radius: 0 !important; text-decoration: none !important;
	color: var(--wac-mute) !important;
	font-size: 20px !important; line-height: 1 !important;
	margin: 0 !important; padding: 0 !important;
}
.wac-cart-line-end a.wac-cart-line-remove:hover {
	background: none !important; color: #c62828 !important;
}

/* --- Checkout --- */
.woocommerce-checkout .col2-set, .woocommerce-checkout #customer_details { margin-bottom: 24px; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce-checkout select, .select2-container .select2-selection {
	border: 1px solid var(--wac-line-strong); border-radius: 10px; padding: 12px 14px;
	/* Era var(--wac-paper), cioe' #FFFDF8: il fondo caldo dei campi veniva da
	   qui (v1.2.164). Un campo da compilare si legge meglio bianco, e questa
	   regola vale su tutti i moduli WooCommerce, non solo sul checkout. */
	background: #fff; font-family: var(--wac-body);
}
.woocommerce form .form-row label { font-weight: 600; color: var(--wac-night); }
/* NB: nessuna "card" su #order_review/#payment: il nostro checkout è piatto (Shopify). */
.woocommerce-checkout #order_review,
.woocommerce-checkout #payment {
	background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
}

/* --- Notifiche --- */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews {
	border-top: 0; border-left: 4px solid var(--wac-gold); border-radius: 10px;
	background: var(--wac-cream-2); color: var(--wac-night);
}
.woocommerce-error { border-left-color: #b71c1c; }

/* --- Paginazione --- */
.woocommerce nav.woocommerce-pagination ul { border: 0; gap: 6px; display: inline-flex; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	border-radius: 8px; border: 1px solid var(--wac-line); color: var(--wac-night); padding: 8px 14px;
}
.woocommerce nav.woocommerce-pagination ul li span.current {
	background: var(--wac-gold); border-color: var(--wac-gold); color: var(--wac-night);
}

/* --- Responsive --- */
@media (max-width: 900px) {
	.single-product div.product { grid-template-columns: 1fr; gap: 26px; }
	/* Colonne mobile scelte dal Builder (--wc-cols-m). Default 2. */
	.woocommerce ul.products {
		grid-template-columns: repeat(var(--wc-cols-m, 2), minmax(0, 1fr));
		column-gap: 14px; row-gap: 36px;
	}
}

/* =========================================================================
   FASE 2 — Resa fedele "Honey": scheda prodotto, bottoni, drawer
   ========================================================================= */

/* --- TUTTI i bottoni Woo in oro (basta viola/default) --- */
.woocommerce #respond input#submit,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt,
.woocommerce .single_add_to_cart_button,
.woocommerce div.product form.cart .button,
.woocommerce ul.products li.product .button,
.wc-block-components-button, .wp-block-button__link {
	background: var(--wac-gold) !important; color: var(--wac-night) !important;
	border: 0 !important; border-radius: 999px !important;
	font-family: var(--wac-body) !important; font-weight: 600 !important;
	box-shadow: none !important; text-transform: none !important; letter-spacing: 0 !important;
	transition: background .25s var(--wac-ease), color .25s var(--wac-ease);
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover,
.woocommerce .single_add_to_cart_button:hover,
.woocommerce div.product form.cart .button:hover {
	background: var(--wac-night) !important; color: var(--wac-cream) !important;
}
.woocommerce .single_add_to_cart_button { padding: 16px 40px !important; font-size: 15px !important; }
.woocommerce button.button.disabled, .woocommerce .single_add_to_cart_button.disabled { opacity: .5 !important; }

/* --- SCHEDA PRODOTTO: layout e spaziature --- */
.single-product .wac-wc { padding-block: 40px 70px; }
.single-product div.product {
	display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: start; margin: 0;
}
.single-product .woocommerce-breadcrumb {
	grid-column: 1 / -1; margin: 0 0 30px; font-size: 13px; color: var(--wac-mute);
}
.single-product div.product .woocommerce-product-gallery { width: 100% !important; margin: 0; float: none; position: sticky; top: 110px; }
.single-product div.product .woocommerce-product-gallery__wrapper { margin: 0; }
.single-product div.product .woocommerce-product-gallery__image img { border-radius: var(--wac-radius-lg); box-shadow: 0 20px 50px rgba(20,14,6,.08); }
.single-product div.product .flex-control-thumbs { display: flex; gap: 10px; margin-top: 12px; padding: 0; }
.single-product div.product .flex-control-thumbs li { width: 72px !important; margin: 0; }
.single-product div.product .flex-control-thumbs img { border-radius: 10px; border: 1px solid var(--wac-line); opacity: .7; transition: opacity .2s; }
.single-product div.product .flex-control-thumbs img.flex-active, 
.single-product div.product .flex-control-thumbs img:hover { opacity: 1; }

.single-product div.product .summary { margin: 0 !important; }
.single-product .product_title.entry-title {
	font-family: var(--wac-display); font-weight: 600; line-height: 1.02;
	font-size: clamp(32px, 4.2vw, 52px); margin: 0 0 14px; color: var(--wac-night);
}
.single-product div.product p.price, .single-product div.product .price {
	font-family: var(--wac-display); font-size: 26px; font-weight: 600; color: var(--wac-night); margin: 0 0 20px;
}
.single-product div.product p.price del { color: var(--wac-mute); font-weight: 400; opacity: .6; margin-right: 8px; }
.single-product div.product p.price ins { text-decoration: none; color: var(--wac-gold-deep); }
.single-product .woocommerce-product-details__short-description { color: var(--wac-mute); line-height: 1.75; margin-bottom: 22px; }
.single-product .woocommerce-product-details__short-description strong { color: var(--wac-night); }

/* Form varianti + acquisto */
.single-product form.cart { margin: 24px 0 10px; }
.single-product .variations { margin-bottom: 14px; border: 0; }
.single-product .variations th.label { font-family: var(--wac-body); font-weight: 600; color: var(--wac-night); vertical-align: middle; padding-right: 14px; }
.single-product .variations select {
	border: 1px solid var(--wac-line-strong); border-radius: 12px; padding: 12px 14px;
	background: var(--wac-paper); font-family: var(--wac-body); min-width: 220px;
}
.single-product .woocommerce-variation-price .price { font-size: 22px; }
.single-product form.cart .quantity { margin-right: 12px; }
.single-product form.cart .quantity .qty {
	border: 1px solid var(--wac-line-strong); border-radius: 999px; padding: 14px 10px;
	width: 78px; text-align: center; font-weight: 600; background: var(--wac-paper); font-size: 15px;
}
.single-product form.cart { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.single-product .product_meta { margin-top: 22px; font-size: 13px; color: var(--wac-mute); border-top: 1px solid var(--wac-line); padding-top: 16px; }
.single-product .product_meta a { color: var(--wac-gold-deep); text-decoration: none; }

/* Tabs */
.single-product .woocommerce-tabs { grid-column: 1 / -1; margin-top: 48px; }
.single-product .woocommerce-tabs ul.tabs { padding: 0 0 0; margin: 0 0 24px; border: 0; text-align: left; }
.single-product .woocommerce-tabs ul.tabs::before { border-bottom: 1px solid var(--wac-line); }
.single-product .woocommerce-tabs ul.tabs li {
	background: transparent !important; border: 0 !important; border-bottom: 2px solid transparent !important;
	border-radius: 0 !important; margin: 0 22px 0 0 !important; padding: 0 0 12px !important;
}
.single-product .woocommerce-tabs ul.tabs li::before, 
.single-product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.single-product .woocommerce-tabs ul.tabs li.active { border-bottom-color: var(--wac-gold) !important; }
.single-product .woocommerce-tabs ul.tabs li a { color: var(--wac-mute) !important; font-weight: 600; padding: 0 !important; font-size: 15px; }
.single-product .woocommerce-tabs ul.tabs li.active a { color: var(--wac-night) !important; }
.single-product .woocommerce-Tabs-panel h2 { font-family: var(--wac-display); font-weight: 600; font-size: 24px; }
.single-product .woocommerce-Tabs-panel { color: var(--wac-coffee); line-height: 1.8; max-width: 820px; }

/* Correlati / Upsell */
.single-product .related, .single-product .upsells { grid-column: 1 / -1; margin-top: 54px; }
.single-product .related > h2, .single-product .upsells > h2 {
	font-family: var(--wac-display); font-weight: 600; font-size: 30px; margin-bottom: 26px;
}

@media (max-width: 900px) {
	.single-product div.product { grid-template-columns: 1fr; gap: 28px; }
	.single-product div.product .woocommerce-product-gallery { position: static; top: auto; }
	.single-product .product_title.entry-title { font-size: 34px; }
}

/* =========================================================================
   MINI-CART nel drawer laterale (stile Honey)
   ========================================================================= */
.wac-cart-drawer .widget_shopping_cart_content { display: flex; flex-direction: column; height: 100%; }
.wac-cart-drawer ul.woocommerce-mini-cart { list-style: none; margin: 0; padding: 0; flex: 1; overflow-y: auto; }
.wac-cart-drawer ul.woocommerce-mini-cart li.woocommerce-mini-cart-item {
	display: flex; align-items: center; gap: 14px; padding: 16px 0; border-bottom: 1px solid var(--wac-line); position: relative;
}
.wac-cart-drawer ul.woocommerce-mini-cart li img {
	width: 64px; height: 64px; object-fit: cover; border-radius: 10px; float: none !important; margin: 0 !important; order: -1;
}
.wac-cart-drawer ul.woocommerce-mini-cart li a:not(.remove) { color: var(--wac-night); font-weight: 600; text-decoration: none; font-size: 14px; }
.wac-cart-drawer ul.woocommerce-mini-cart li .quantity { display: block; color: var(--wac-mute); font-size: 13px; margin-top: 4px; }
.wac-cart-drawer ul.woocommerce-mini-cart li a.remove {
	position: absolute; right: 0; top: 50%; transform: translateY(-50%);
	width: 22px; height: 22px; line-height: 20px; color: var(--wac-mute) !important; font-size: 18px;
}
.wac-cart-drawer ul.woocommerce-mini-cart li a.remove:hover { background: var(--wac-gold) !important; color: var(--wac-night) !important; }
.wac-cart-drawer p.woocommerce-mini-cart__total {
	display: flex; justify-content: space-between; align-items: baseline;
	padding: 18px 0 14px; margin: 0; border-top: 2px solid var(--wac-line); font-family: var(--wac-display); font-size: 18px; color: var(--wac-night);
}
.wac-cart-drawer p.woocommerce-mini-cart__total strong { font-weight: 600; }
.wac-cart-drawer p.woocommerce-mini-cart__buttons { display: flex; flex-direction: column; gap: 10px; margin: 0 0 6px; }
.wac-cart-drawer p.woocommerce-mini-cart__buttons a {
	width: 100%; text-align: center; margin: 0 !important; padding: 14px !important;
}
.wac-cart-drawer p.woocommerce-mini-cart__buttons a.checkout { order: -1; }
.wac-cart-drawer p.woocommerce-mini-cart__buttons a:not(.checkout) {
	background: transparent !important; color: var(--wac-night) !important; border: 1px solid var(--wac-line-strong) !important;
}
.wac-cart-drawer .woocommerce-mini-cart__empty-message { color: var(--wac-mute); text-align: center; padding: 40px 0; }

/* --- Drawer: layout contenuto mini-cart (item scrollabili, footer in basso) --- */
.wac-cart-drawer .widget_shopping_cart_content { display: flex; flex-direction: column; min-height: 100%; }
.wac-cart-drawer .wac-cart-lines { flex: 1 1 auto; overflow-y: auto; list-style: none; margin: 0; padding: 0; }
.wac-cart-drawer .wac-cart-drawer-foot { margin-top: auto; }

/* --- Drawer: rifiniture riga prodotto ---------------------------------------
   1) spazio in alto: la prima riga non deve toccare la riga divisoria header
   2) immagine: SOLO la foto, nessuno sfondo marroncino (Woo forza height:auto)
   3) × rimuovi allineata in basso, alla stessa altezza dello stepper quantità */
.wac-cart-drawer .wac-cart-lines { padding-top: 10px; }
.wac-cart-drawer .wac-cart-line { align-items: stretch; padding-top: 20px; }

.wac-cart-drawer .wac-cart-line-img { background: transparent !important; }
.wac-cart-drawer .wac-cart-line-img img {
	width: 100% !important; height: 100% !important;
	object-fit: cover !important; display: block !important;
}

/* La colonna destra si estende a tutta l'altezza e spinge la × in fondo,
   così finisce alla stessa altezza dello stepper quantità (in fondo all'info). */
.wac-cart-drawer .wac-cart-line-end { justify-content: flex-end !important; }

/* --- Drawer: una sola riga divisoria sopra "Totale" (togliamo quella corta) --- */
.wac-cart-drawer .wac-cart-totals-row.is-total {
	border-top: 0 !important; padding-top: 0 !important; margin-top: 0 !important;
}

/* --- Archivio prodotti: un po' d'aria tra i filtri e la griglia --- */
.woocommerce ul.products { margin-top: 26px; }

/* =========================================================================
   Toast "dal basso" (feedback aggiunta al carrello)
   ========================================================================= */
.wac-toast {
	position: fixed; left: 50%; bottom: 28px; transform: translate(-50%, 40px);
	background: var(--wac-night); color: var(--wac-cream);
	padding: 14px 22px; border-radius: 999px; font-family: var(--wac-body); font-weight: 600; font-size: 14px;
	display: flex; align-items: center; gap: 10px; z-index: 99999;
	box-shadow: 0 16px 44px rgba(20,14,6,.30); opacity: 0; pointer-events: none;
	transition: opacity .35s var(--wac-ease-out), transform .45s var(--wac-ease-out);
}
.wac-toast.is-show { opacity: 1; transform: translate(-50%, 0); }
.wac-toast-ico {
	display: inline-flex; align-items: center; justify-content: center;
	width: 20px; height: 20px; border-radius: 50%; background: var(--wac-gold); color: var(--wac-night); font-size: 12px; font-weight: 800;
}

/* =========================================================================
   Barra filtri shop (conteggio risultati + ordinamento) in stile Honey
   ========================================================================= */
.woocommerce-products-header { margin-bottom: 10px; }
.woocommerce .woocommerce-result-count,
.woocommerce-page .woocommerce-result-count {
	color: var(--wac-mute); font-size: 13px; margin: 0; float: none; line-height: 40px;
}
.woocommerce .woocommerce-ordering, .woocommerce-page .woocommerce-ordering { margin: 0; float: none; }
.woocommerce .woocommerce-ordering select, .woocommerce-page .woocommerce-ordering select {
	font-family: var(--wac-body); font-size: 13px; font-weight: 600; color: var(--wac-night);
	background: var(--wac-paper); border: 1px solid var(--wac-line-strong); border-radius: 999px;
	padding: 10px 40px 10px 18px; cursor: pointer; -webkit-appearance: none; appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 10 10'%3E%3Cpath d='M2 4l3 3 3-3' stroke='%236E665B' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right 16px center;
}
.woocommerce .woocommerce-notices-wrapper:empty { display: none; }

/* Quantità e "Aggiungi al carrello" stessa altezza, ben allineati */
.wac-product-purchase { display: flex; align-items: stretch; gap: 12px; flex-wrap: wrap; }
.wac-product-purchase .wac-qty-control-large,
.wac-product-purchase .wac-btn-large {
	height: 62px; min-height: 62px; box-sizing: border-box;
}
.wac-product-purchase .wac-qty-control-large { display: inline-flex; align-items: center; }
/* Selettore quantità spento: il pulsante prende tutta la riga (v1.2.161) */
.wac-product-purchase--noqty .wac-btn-large { flex: 1 1 100%; min-width: 0; }
.wac-product-purchase .wac-btn-large { display: inline-flex; align-items: center; justify-content: center; }

/* =========================================================================
   STICKY SCHEDA PRODOTTO — allineata al tema originale (v1.2.13)
   -------------------------------------------------------------------------
   Il meccanismo giusto è GIÀ in main.css e va lasciato lavorare:
   • modalità "sotto" (default): è la GALLERIA a restare sticky (colonna corta)
     mentre la colonna info/acquisto (più alta) scorre;
   • modalità "lato": è la CARD INFO a restare sticky mentre le immagini
     impilate (colonna più alta) scorrono;
   • mobile (<=900px): niente sticky.
   L'unica cosa che serve nel tema WooCommerce è impedire che i NUOVI wrapper
   (#primary/.wac-wc/.wac-container) intrappolino lo sticky con un overflow.
========================================================================= */
.single-product .wac-main,
.single-product #primary,
.single-product .wac-wc,
.single-product .wac-wc .wac-container,
.single-product .wac-product-layout,
.single-product .wac-product-gallery { overflow: visible !important; }

/* --- Note "spedizione calcolata al checkout" --- */
.woocommerce-cart .cart_totals tr.wac-ship-note th,
.woocommerce-cart .cart_totals tr.wac-ship-note td { color: var(--wac-mute); font-weight: 500; font-size: 13px; }
.wac-cart-ship-note { color: var(--wac-mute) !important; font-size: 12px; font-weight: 500; }
.wac-cart-ship-note span:last-child { color: var(--wac-mute); font-style: italic; }

/* =========================================================================
   Pagina Carrello Honey (override cart.php)
   ========================================================================= */
.wac-cart-update-btn { display: none !important; }
/* input quantità nativo dentro lo stepper: niente bordo proprio, centrato */
.wac-cart-qty .quantity { margin: 0; display: contents; }
.wac-cart-qty .wac-qty-input {
	width: 42px; text-align: center; border: 0 !important; background: transparent !important;
	font-weight: 600; -moz-appearance: textfield; padding: 0; box-shadow: none !important;
}
.wac-cart-qty .wac-qty-input::-webkit-outer-spin-button,
.wac-cart-qty .wac-qty-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.wac-cart-qty .screen-reader-text { position: absolute; left: -9999px; }

.wac-cart-coupon { display: flex; gap: 10px; margin: 18px 0 0; max-width: 420px; }
.wac-cart-coupon .input-text {
	flex: 1; border: 1px solid var(--wac-line-strong); border-radius: 999px; padding: 12px 18px;
	background: var(--wac-paper); font-family: var(--wac-body);
}
.wac-cart-continue-link {
	display: block; text-align: center; margin-top: 12px; color: var(--wac-mute);
	font-size: 13px; text-decoration: none;
}
.wac-cart-continue-link:hover { color: var(--wac-night); }
.wac-cart-shipping-note { color: var(--wac-mute); font-style: italic; font-size: 13px; }

/* =========================================================================
   Card shop = nostro markup .wac-product-card: azzera il "box" generico
   di WooCommerce (evita bordi/ombre/hover doppi) e lascia fare a main.css
   ========================================================================= */
.woocommerce ul.products li.product.wac-product-card {
	background: transparent !important; border: 0 !important; border-radius: 0 !important;
	overflow: visible !important; box-shadow: none !important; transform: none !important;
	display: block; padding: 0; text-align: left;
}
.woocommerce ul.products li.product.wac-product-card:hover {
	transform: none !important; box-shadow: none !important;
}

/* =========================================================================
   Paginazione: numeri rotondi, minimal, in stile Honey
   ========================================================================= */
.woocommerce nav.woocommerce-pagination { text-align: center; margin-top: 40px; }
.woocommerce nav.woocommerce-pagination ul { border: 0; gap: 8px; display: inline-flex; align-items: center; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; margin: 0; overflow: visible; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	width: 42px; height: 42px; padding: 0; line-height: 42px;
	display: inline-flex; align-items: center; justify-content: center;
	border-radius: 50%; border: 1px solid var(--wac-line); color: var(--wac-night);
	font-family: var(--wac-body); font-weight: 600; font-size: 14px; background: transparent;
	transition: background .2s var(--wac-ease), color .2s var(--wac-ease), border-color .2s var(--wac-ease);
}
.woocommerce nav.woocommerce-pagination ul li a:hover {
	background: var(--wac-cream-2); border-color: var(--wac-gold);
}
.woocommerce nav.woocommerce-pagination ul li span.current {
	background: var(--wac-gold); border-color: var(--wac-gold); color: var(--wac-night);
}
.woocommerce nav.woocommerce-pagination ul li .next,
.woocommerce nav.woocommerce-pagination ul li .prev { font-size: 18px; }

/* --- Sticky "card acquisto" su scheda prodotto: valida in OGNI modalità --- */
@media (min-width: 901px) {
	.single-product .wac-product-layout { align-items: flex-start !important; }
	.single-product .wac-product-info {
		position: -webkit-sticky !important; position: sticky !important;
		top: calc(var(--wac-header-h, 84px) + 24px) !important; align-self: flex-start !important;
	}
}

/* =========================================================================
   CHECKOUT — stile Shopify (v1.2.20)  [ricostruzione pulita]
   Sinistra: cream + form. Destra: pannello bianco a tutta altezza fino al
   bordo schermo, con riepilogo pulito (foto+badge qty in alto a destra).
   ========================================================================= */

/* ---- Chrome minimale ---- */
.wac-checkout-page .wac-topbar,
.wac-checkout-page .wac-nav,
.wac-checkout-page .wac-header-actions,
.wac-checkout-page .wac-header-mobile-left,
.wac-checkout-page #wac-footer,
.wac-checkout-page .wac-cart-drawer,
.wac-checkout-page .wac-cart-overlay,
.wac-checkout-page .wac-search-overlay,
.wac-checkout-page .wac-mobile-menu,
.wac-checkout-page .wac-scrolltop,
.wac-checkout-page .wac-page-header,
.wac-checkout-page .entry-header { display: none !important; }

.wac-checkout-page { background: var(--wac-cream); }
.wac-checkout-page #wac-header {
	position: static !important; transform: none !important;
	background: var(--wac-cream) !important; box-shadow: none !important;
	border-bottom: 1px solid var(--wac-line);
}
.wac-checkout-page #wac-header .wac-header-inner {
	display: flex !important; justify-content: flex-start !important; align-items: center;
	max-width: 1120px; margin: 0 auto; padding-left: clamp(20px, 4vw, 40px);
}
.wac-checkout-page .wac-logo { margin: 0 !important; position: static !important; }
.wac-checkout-page .wac-logo img,
.wac-checkout-page .wac-logo .wac-logo-img { max-height: 52px !important; width: auto !important; }
.wac-checkout-page .wac-logo .wac-logo-name { font-size: 28px !important; }
.wac-checkout-page .wac-logo .wac-logo-symbol svg { width: 32px; height: 32px; }
.wac-checkout-page .wac-main { padding-top: 0 !important; }
.wac-checkout-page .wac-wc { padding: 0 !important; }
.wac-checkout-page .woocommerce-notices-wrapper { max-width: 1120px; margin: 0 auto; padding: 0 clamp(20px,4vw,40px); }

/* ---- Griglia centrata; il pannello destro sfonda fino al bordo ---- */
.wac-checkout-form .wac-checkout-grid {
	display: grid; grid-template-columns: 1.08fr 0.92fr;
	max-width: 1120px; margin: 0 auto; align-items: stretch;
	min-height: calc(100vh - 92px);
}
.wac-checkout-main {
	padding: 48px clamp(28px, 4vw, 56px) 90px clamp(20px, 4vw, 40px);
	min-width: 0;
}
.wac-checkout-aside { position: relative; min-width: 0; padding: 48px clamp(20px,4vw,40px) 90px clamp(28px, 4vw, 56px); }
/* pannello bianco: dal divisorio fino al bordo destro dello schermo, tutta l'altezza */
.wac-checkout-aside::before {
	content: ""; position: absolute; top: 0; bottom: 0; left: 0; right: -100vw;
	background: #fff; border-left: 1px solid var(--wac-line); z-index: 0;
}
.wac-checkout-aside > * { position: relative; z-index: 1; }
.wac-checkout-aside-inner { position: sticky; top: 30px; max-width: 440px; }

@media (max-width: 900px) {
	.wac-checkout-form .wac-checkout-grid { grid-template-columns: 1fr; max-width: 640px; min-height: 0; }
	.wac-checkout-main { order: 2; padding: 30px 22px 60px; }
	.wac-checkout-aside { order: 1; padding: 26px 22px; }
	.wac-checkout-aside::before { right: -22px; left: -22px; border-left: 0; border-bottom: 1px solid var(--wac-line); }
	.wac-checkout-aside-inner { position: static; max-width: none; }
}

/* ---- Testata CONTATTI + Login ---- */
.wac-checkout-contacts-head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin: 0 0 14px; }
.wac-checkout-contatti { font-family: var(--wac-body); font-weight: 700; text-transform: uppercase; letter-spacing: .05em; font-size: 15px; color: var(--wac-night); margin: 0; }
.wac-checkout-login { text-decoration: underline; text-underline-offset: 3px; font-size: 14px; color: var(--wac-gold-deep); }

.wac-checkout-form .woocommerce-billing-fields > h3,
.wac-checkout-form .woocommerce-shipping-fields > h3 {
	font-family: var(--wac-body); font-weight: 700; text-transform: uppercase; letter-spacing: .05em;
	font-size: 15px; color: var(--wac-night); margin: 30px 0 14px;
}
.wac-checkout-aside #order_review_heading {
	font-family: var(--wac-body); font-weight: 700; text-transform: uppercase; letter-spacing: .05em;
	font-size: 15px; color: var(--wac-night); margin: 0 0 22px;
}

/* ---- Campi ---- */
.wac-checkout-form .form-row { margin: 0 0 12px; padding: 0; }
/* Questi selettori partono da `.woocommerce form.wac-checkout-form` e non dal
   solo `.wac-checkout-form` per una ragione precisa: piu' in alto c'e' il
   blocco generico `.woocommerce form .form-row input.input-text`, che ha tre
   classi contro una e quindi vinceva. Il risultato era che il checkout
   mostrava bordo, raggio e sfondo di quella regola invece di questi, e le
   righe qui sotto erano lettera morta senza che si vedesse (v1.2.164).
   Aggiungendo le classi che mancavano si pareggia il conto, e a parita' vince
   chi viene dopo nel file: questi. Nessun !important. */
.woocommerce form.wac-checkout-form .form-row label { display: block; font-size: 13px; font-weight: 500; color: #717171; margin: 0 0 6px; }
.wac-checkout-form .form-row .required { color: var(--wac-gold-deep); text-decoration: none; }
.woocommerce form.wac-checkout-form .form-row input.input-text,
.woocommerce form.wac-checkout-form .form-row textarea,
.woocommerce form.wac-checkout-form .form-row select,
.wac-checkout-form input.input-text,
.wac-checkout-form textarea,
.wac-checkout-form select,
.wac-checkout-form .select2-container .select2-selection {
	width: 100%; box-sizing: border-box;
	border: 1px solid #d9d9d9; border-radius: 8px;
	padding: 14px 14px; background: #fff;
	font-family: var(--wac-body); font-size: 15px; color: var(--wac-night);
	transition: border-color .15s, box-shadow .15s;
}
.wac-checkout-form input.input-text:focus,
.wac-checkout-form textarea:focus,
.wac-checkout-form select:focus { outline: 0; border-color: var(--wac-gold-deep); box-shadow: 0 0 0 2px rgba(200,147,42,.18); }

/* Compilazione automatica del browser (v1.2.163).
   Il fondo colorato dei campi indirizzo non lo mettevamo noi: è Chrome che
   segna così i campi che ha riempito da sé, e quel colore NON si toglie con
   background, perché il browser lo disegna sopra. L'unico modo è coprirlo con
   un'ombra interna grande quanto il campo. La transizione lunghissima serve
   ai browser che riapplicano il colore in ritardo: la tengono in coda per
   sempre e non arriva mai. */
.wac-checkout-form input:-webkit-autofill,
.wac-checkout-form input:-webkit-autofill:hover,
.wac-checkout-form input:-webkit-autofill:focus,
.wac-checkout-form input:-webkit-autofill:active,
.wac-checkout-form textarea:-webkit-autofill,
.wac-checkout-form select:-webkit-autofill,
.wac-co-coupon .input-text:-webkit-autofill {
	-webkit-box-shadow: 0 0 0 1000px #fff inset !important;
	box-shadow: 0 0 0 1000px #fff inset !important;
	-webkit-text-fill-color: var(--wac-night) !important;
	caret-color: var(--wac-night);
	transition: background-color 9999s ease-out 0s;
}
.wac-checkout-form input:-webkit-autofill:focus {
	-webkit-box-shadow: 0 0 0 1000px #fff inset, 0 0 0 2px rgba(200,147,42,.18) !important;
	box-shadow: 0 0 0 1000px #fff inset, 0 0 0 2px rgba(200,147,42,.18) !important;
}
/* Firefox ha il suo, e lì basta il background. */
.wac-checkout-form input:autofill { background: #fff; }
.wac-checkout-form .select2-container .select2-selection--single { height: auto; display: flex; align-items: center; border-radius: 8px; }
.wac-checkout-form .select2-container--default .select2-selection--single .select2-selection__arrow { top: 50%; transform: translateY(-50%); right: 10px; }

.wac-checkout-form .woocommerce-billing-fields__field-wrapper,
.wac-checkout-form .woocommerce-shipping-fields__field-wrapper {
	display: grid; grid-template-columns: 1fr 1fr; gap: 0 12px;
}
.wac-checkout-form .form-row-wide,
.wac-checkout-form .form-row.notes,
.wac-checkout-form #billing_country_field,
.wac-checkout-form #billing_address_1_field,
.wac-checkout-form #billing_address_2_field,
.wac-checkout-form #billing_email_field,
.wac-checkout-form #billing_phone_field { grid-column: 1 / -1; }
.wac-checkout-form .form-row-first { grid-column: 1 / 2; }
.wac-checkout-form .form-row-last  { grid-column: 2 / 3; }

/* ---- Note ordine: textarea non allargabile in orizzontale (rompeva la sidebar) ---- */
.wac-checkout-form #order_comments,
.wac-checkout-form .woocommerce-additional-fields textarea,
.wac-checkout-form textarea.input-text {
	/* min-height allineata a quella scritta più sotto: erano 92 qui e 104 là,
	   e vinceva questa per un pelo di specificità senza che si capisse. */
	resize: vertical; width: 100%; max-width: 100%; box-sizing: border-box; min-height: 104px;
}

/* ---- "Informazioni aggiuntive" come fisarmonica (parte chiusa) ---- */
.wac-checkout-form .woocommerce-additional-fields > h3 {
	cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 10px;
	margin: 24px 0 0; padding: 15px 0; border-top: 1px solid var(--wac-line); user-select: none;
	font-size: 13px; letter-spacing: .1em; text-transform: uppercase;
}
.wac-checkout-form .woocommerce-additional-fields > h3::after {
	content: ""; width: 9px; height: 9px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
	transform: rotate(45deg); transition: transform .25s ease; flex-shrink: 0; margin: -4px 4px 0 0;
}
.wac-checkout-form .woocommerce-additional-fields.is-open > h3::after { transform: rotate(-135deg); margin-top: 2px; }
.wac-checkout-form .woocommerce-additional-fields .woocommerce-additional-fields__field-wrapper {
	overflow: hidden; max-height: 0; opacity: 0; transition: max-height .3s ease, opacity .25s ease;
}
.wac-checkout-form .woocommerce-additional-fields.is-open .woocommerce-additional-fields__field-wrapper {
	max-height: 640px; opacity: 1; padding-top: 6px;
}

/* ---- Il pagamento vive nella colonna sinistra, non qui (v1.2.160) ---- */
.wac-checkout-aside #place_order {
	width: 100%; padding: 16px; border-radius: 10px; margin-top: 22px;
	background: var(--wac-night); color: var(--wac-cream); font-weight: 600; font-size: 16px; border: 0;
}
.wac-checkout-aside #place_order:hover { background: var(--wac-gold); color: var(--wac-night); }

/* ---- Riepilogo ordine (stile Shopify) ---- */
.wac-co-items { list-style: none; margin: 0; padding: 0 0 22px; border-bottom: 1px solid var(--wac-line); }
.wac-co-item { display: flex; gap: 14px; align-items: center; padding: 10px 0; }
.wac-co-item-media { position: relative; width: 64px; height: 64px; flex-shrink: 0; }
.wac-co-item-media img { width: 100%; height: 100%; object-fit: cover; border-radius: 8px; border: 1px solid var(--wac-line); display: block; margin: 0; }
/* badge quantità: cerchio scuro, ANGOLO ALTO-DESTRA (come Shopify) */
.wac-co-item-qty { position: absolute; top: -8px; right: -8px; min-width: 21px; height: 21px; padding: 0 6px; background: var(--wac-night); color: #fff; border-radius: 50%; font-size: 12px; font-weight: 600; display: flex; align-items: center; justify-content: center; box-sizing: border-box; }
.wac-co-item-info { flex: 1; min-width: 0; }
.wac-co-item-remove {
	display: inline-block; margin-top: 4px;
	font-size: 11px; color: var(--wac-mute, #7a7166);
	text-decoration: underline; text-underline-offset: 3px;
}
.wac-co-item-remove:hover { color: #c62828; }
.wac-co-item-name { display: block; font-weight: 500; color: var(--wac-night); font-size: 14px; line-height: 1.3; }
.wac-co-item-meta { display: block; color: #717171; font-size: 13px; margin-top: 2px; }
.wac-co-item-price { font-weight: 500; color: var(--wac-night); white-space: nowrap; font-size: 14px; }

.wac-co-coupon { display: grid; grid-template-columns: 1fr auto; gap: 10px; margin: 22px 0; padding-bottom: 22px; border-bottom: 1px solid var(--wac-line); }
.wac-co-coupon .input-text { border: 1px solid #d9d9d9; border-radius: 8px; padding: 13px 14px; background: #fff; font-family: var(--wac-body); font-size: 14px; }
/* Stesso nero di "Procedi": è un'azione, non una decorazione (v1.2.163) */
.wac-co-coupon-apply { border: 1px solid var(--wac-night); background: var(--wac-night); border-radius: 8px; padding: 0 22px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; font-size: 13px; color: var(--wac-cream); cursor: pointer; transition: background .2s, color .2s, border-color .2s; }
.wac-co-coupon-apply:hover { background: var(--wac-gold); border-color: var(--wac-gold); color: var(--wac-night); }
.wac-co-coupon-apply:disabled { opacity: .6; cursor: default; }
/* Messaggio esito codice sconto */
.wac-co-coupon-msg { margin: -10px 0 20px; }
.wac-co-coupon-msg:empty { display: none; }
.wac-co-coupon-loading { font-size: 13px; color: var(--wac-mute); }
.wac-co-coupon-msg .woocommerce-message,
.wac-co-coupon-msg .woocommerce-error,
.wac-co-coupon-msg .woocommerce-info { margin: 0; padding: 10px 12px; border-radius: 8px; font-size: 13px; list-style: none; }
.wac-co-coupon-msg .woocommerce-message { background: #eaf6ea; color: #1e6a34; border: 1px solid #bfe2c4; }
.wac-co-coupon-msg .woocommerce-error { background: #fdecea; color: #a3271b; border: 1px solid #f3c6c0; }
.wac-co-coupon-msg .woocommerce-info { background: #f4f0e6; color: var(--wac-night); border: 1px solid #e5dcc7; }
.wac-co-coupon-msg .button { display: none; }
/* niente icona nativa Woo (si sovrapponeva al testo) */
.wac-co-coupon-msg .woocommerce-message::before,
.wac-co-coupon-msg .woocommerce-error::before,
.wac-co-coupon-msg .woocommerce-info::before { display: none !important; }

.wac-co-totals { padding-top: 4px; }
.wac-co-row { display: flex; justify-content: space-between; align-items: center; color: #717171; font-size: 15px; margin-bottom: 12px; gap: 16px; }
.wac-co-row .woocommerce-Price-amount { color: var(--wac-night); }
.wac-co-total { padding-top: 16px; margin-top: 6px; border-top: 1px solid var(--wac-line); align-items: baseline; }
.wac-co-total-label { font-family: var(--wac-body); font-size: 22px; font-weight: 700; color: var(--wac-night); }
.wac-co-total-value { font-family: var(--wac-body); font-size: 21px; font-weight: 700; color: var(--wac-night); }
.wac-co-total-value .woocommerce-Price-amount { color: var(--wac-night); }
.wac-co-cur { font-size: 12px; color: #717171; font-weight: 500; }
.wac-co-taxnote { color: #717171; font-size: 13px; margin: 8px 0 0; line-height: 1.5; }

/* ---- Trust badge al checkout ---- */
.wac-trust-badges--checkout { margin: 30px 0 0; padding: 22px 0 0; border-top: 1px solid var(--wac-line); list-style: none; display: flex; flex-direction: column; gap: 16px; }
.wac-trust-badges--checkout .wac-trust-badge { display: flex; gap: 14px; align-items: flex-start; }
.wac-trust-badges--checkout .wac-trust-badge-icon { color: var(--wac-gold-deep); font-size: 24px; line-height: 1; flex-shrink: 0; }
.wac-trust-badges--checkout .wac-trust-badge-text { font-size: 14px; color: #717171; line-height: 1.55; }

/* --- Checkout: TUTTO sans-serif nelle due colonne (annulla il serif generico
   del tema su .woocommerce-checkout h3 e #order_review_heading) --- */
.wac-checkout-main, .wac-checkout-main *,
.wac-checkout-aside, .wac-checkout-aside *,
.wac-checkout-contatti { font-family: var(--wac-body) !important; }

/* --- Bottone "Procedi al pagamento": scuro, pieno, forzato --- */
.wac-checkout-aside #place_order,
.woocommerce-checkout .wac-checkout-aside button#place_order {
	background: var(--wac-night) !important; color: var(--wac-cream) !important;
	border-radius: 10px !important; width: 100% !important; padding: 16px !important;
	font-weight: 600 !important; font-size: 16px !important;
}
.wac-checkout-aside #place_order:hover { background: var(--wac-gold) !important; color: var(--wac-night) !important; }

/* --- Trust badge checkout: icona senza box, riga allineata --- */
.wac-trust-badges--checkout .wac-trust-badge-icon {
	background: none !important; padding: 0 !important; width: auto !important; height: auto !important;
	border-radius: 0 !important; display: inline-flex; align-items: center;
}
.wac-trust-badges--checkout .wac-trust-badge { align-items: center; }

/* =========================================================================
   CHECKOUT — rifiniture v1.2.22
   ========================================================================= */

/* 1) Niente spazio sopra: il contenuto (e il bianco) partono sotto l'header */
.wac-checkout-page .wac-main,
.wac-checkout-page #primary,
.wac-checkout-page .wac-wc,
.wac-checkout-page .wac-section { padding-top: 0 !important; margin-top: 0 !important; }
.wac-checkout-form .wac-checkout-grid { min-height: 0 !important; align-items: stretch !important; }
.wac-checkout-main { padding-top: 40px !important; }
.wac-checkout-aside { padding-top: 40px !important; align-self: stretch !important; }
.wac-checkout-aside::before { top: 0; bottom: 0; }

/* 2) FIX icona trust badge: il font "Phosphor" NON deve essere sovrascritto dal
   sans-serif forzato (era questo a rompere il glifo). */
.wac-checkout-page .ph,
.wac-checkout-page i[class*="ph-"],
.wac-trust-badges--checkout .wac-trust-badge-icon i { font-family: "Phosphor" !important; }

/* 3) Nome/Cognome (e tutti i campi) a piena larghezza della loro colonna */
.wac-checkout-form .form-row-first,
.wac-checkout-form .form-row-last { width: auto !important; float: none !important; }
.wac-checkout-form .form-row input.input-text,
.wac-checkout-form .form-row .woocommerce-input-wrapper,
.wac-checkout-form .form-row .select2-container { width: 100% !important; }

/* 4) Via l'intestazione "Consegna" (non serve) */
.wac-checkout-form .woocommerce-billing-fields > h3 { display: none !important; }

/* 5) "Procedi al pagamento" IN FONDO A SINISTRA — con i metodi di pagamento (v1.2.160)
      NB: fino alla 1.2.159 la lista dei metodi era nascosta con display:none, scritta
      quando Stripe non era ancora collegato. Restava visibile solo l'Express Checkout
      (Link), che Stripe inietta FUORI da #payment. Ora la lista si vede. */
.wac-checkout-pay { margin-top: 30px; }
.wac-checkout-pay #payment {
	/* Un solo posto per il grigio del pannello: lo usano sia il nostro
	   riquadro sia il fieldset da cui Stripe copia lo sfondo. Se restasse
	   scritto due volte, basterebbe cambiarne uno per ritrovarsi il modulo
	   di Stripe di un colore diverso dal riquadro che lo contiene. */
	--wac-pay-panel: #F4F3F1;
	background: transparent !important; border: 0 !important; padding: 0 !important; margin: 0 !important;
}
/* L'informativa privacy la scriviamo noi sotto il bottone: la nativa è un doppione.
   Il blocco termini resta nascosto SOLO se non contiene una casella da spuntare,
   altrimenti nasconderemmo un campo obbligatorio e l'ordine non partirebbe più. */
.wac-checkout-pay #payment .woocommerce-privacy-policy-text { display: none !important; }
.wac-checkout-pay #payment .woocommerce-terms-and-conditions-wrapper:not(:has(input)) { display: none !important; }
.wac-checkout-pay #payment .place-order { padding: 0 !important; margin: 0 !important; }

/* ============================================================
   METODI DI PAGAMENTO (v1.2.165)
   Una sola scheda bianca, una riga per metodo separata da una linea,
   etichetta in grassetto a sinistra e loghi a destra. Il metodo scelto
   apre sotto di se' un pannello grigio a tutta larghezza.

   Tutti i selettori qui partono da `.woocommerce` e nominano il tag
   (`div.payment_box`, `ul.payment_methods`). Non e' pedanteria: le regole
   di serie di WooCommerce sono scritte cosi', `.woocommerce #payment
   div.payment_box`, e pesano quanto un id piu' due classi. Scrivendo solo
   `#payment .payment_box` si finiva in parita', e a parita' decide quale
   foglio di stile viene caricato per ultimo — che non e' sempre il nostro.
   E' da li' che venivano il pannello violetto e la freccetta.
============================================================ */

/* Il viola e la freccia sono di WooCommerce, non di Stripe: il suo
   .payment_box ha background #dfdcde e un triangolino in ::before dello
   stesso colore. Si spengono qui, una volta sola. */
.woocommerce .wac-checkout-pay #payment div.payment_box::before,
.woocommerce-page .wac-checkout-pay #payment div.payment_box::before {
	display: none !important;
}

.wac-checkout-pay #payment {
	/* Un solo posto per i due colori del blocco: li usano il nostro pannello
	   e il fieldset da cui Stripe copia lo sfondo. Scritti due volte, basta
	   cambiarne uno per ritrovarsi il modulo di Stripe di un colore diverso
	   dal riquadro che lo contiene. */
	--wac-pay-panel: #F4F3F1;
	--wac-pay-line: #E4E0DA;
	background: transparent !important; border: 0 !important; padding: 0 !important; margin: 0 !important;
}

/* L'informativa privacy la scriviamo noi sotto il bottone: la nativa e' un
   doppione. Il blocco termini resta nascosto SOLO se non contiene una casella
   da spuntare, altrimenti nasconderemmo un campo obbligatorio e l'ordine non
   partirebbe piu'. */
.wac-checkout-pay #payment .woocommerce-privacy-policy-text { display: none !important; }
.wac-checkout-pay #payment .woocommerce-terms-and-conditions-wrapper:not(:has(input)) { display: none !important; }
.wac-checkout-pay #payment .place-order { padding: 0 !important; margin: 0 !important; }

/* ---- La scheda ---- */
.woocommerce .wac-checkout-pay #payment ul.payment_methods {
	list-style: none; margin: 0 0 22px; padding: 0;
	border: 1px solid var(--wac-pay-line); border-radius: 12px; overflow: hidden;
	background: #fff;
}
.woocommerce .wac-checkout-pay #payment ul.payment_methods li {
	list-style: none; margin: 0; padding: 0; line-height: 1.4;
	border-top: 1px solid var(--wac-pay-line);
	/* La riga e' lei il contenitore: il radio nativo sta PRIMA della label,
	   non dentro, e il pannello che si apre e' un terzo fratello che deve
	   andare a capo a tutta larghezza. */
	display: flex; align-items: center; flex-wrap: wrap;
}
.woocommerce .wac-checkout-pay #payment ul.payment_methods li:first-child { border-top: 0; }

/* ---- Pallino ---- */
.woocommerce .wac-checkout-pay #payment ul.payment_methods li > input[type="radio"] {
	appearance: none; -webkit-appearance: none;
	width: 20px; height: 20px; flex-shrink: 0; margin: 0 0 0 20px;
	border: 1.5px solid #C9C3B9; border-radius: 50%;
	background: #fff; cursor: pointer;
	transition: border-color .18s ease, background-color .18s ease;
}
/* Selezionato: cerchio pieno scuro con il puntino bianco al centro. Il puntino
   e' un gradiente e non un'ombra interna, perche' l'ombra parte dal bordo
   verso dentro e darebbe l'anello, cioe' l'esatto contrario. */
.woocommerce .wac-checkout-pay #payment ul.payment_methods li > input[type="radio"]:checked {
	border-color: var(--wac-night, #0F0E0C);
	background-color: var(--wac-night, #0F0E0C);
	background-image: radial-gradient(circle at center, #fff 0 3.5px, transparent 3.5px);
}
.woocommerce .wac-checkout-pay #payment ul.payment_methods li > input[type="radio"]:focus-visible {
	outline: 2px solid var(--wac-gold, #C8932A); outline-offset: 2px;
}

/* ---- Riga: nome a sinistra, loghi a destra ---- */
.woocommerce .wac-checkout-pay #payment ul.payment_methods li > label {
	flex: 1; min-width: 0;
	display: flex; align-items: center; gap: 8px;
	margin: 0; padding: 18px 20px 18px 12px; cursor: pointer;
	font-size: 15px; font-weight: 700; color: var(--wac-night, #0F0E0C); line-height: 1.3;
}
/* margin-left:auto sul PRIMO logo spinge lui e tutti quelli dopo a destra,
   senza dover avvolgere il testo in un elemento che WooCommerce non stampa. */
.woocommerce .wac-checkout-pay #payment ul.payment_methods li > label img {
	max-height: 24px; width: auto; margin: 0; vertical-align: middle; flex-shrink: 0;
}
.woocommerce .wac-checkout-pay #payment ul.payment_methods li > label img:first-of-type { margin-left: auto; }
.woocommerce .wac-checkout-pay #payment ul.payment_methods li > label a { margin-left: 8px; font-weight: 500; font-size: 13px; }

/* ---- Pannello del metodo scelto ---- */
.woocommerce .wac-checkout-pay #payment div.payment_box,
.woocommerce-page .wac-checkout-pay #payment div.payment_box {
	flex: 0 0 100%; position: relative;
	/* padding stretto di proposito: dentro ci va il modulo di Stripe, che ha
	   gia' i suoi margini. Sommandoli si finiva con i campi in mezzo alla
	   pagina e tre cornici una dentro l'altra. */
	margin: 0; padding: 16px;
	background: var(--wac-pay-panel); border: 0; border-top: 1px solid var(--wac-pay-line);
	border-radius: 0; box-shadow: none;
	font-size: 14px; line-height: 1.6; color: #5b5751;
	width: auto;
}
.woocommerce .wac-checkout-pay #payment div.payment_box p { margin: 0 0 12px; }
.woocommerce .wac-checkout-pay #payment div.payment_box p:last-child { margin-bottom: 0; }

/* Campi dentro al pannello: bianchi, come quelli dell'indirizzo. */
.wac-checkout-pay #payment .payment_box input[type="text"],
.wac-checkout-pay #payment .payment_box input[type="tel"],
.wac-checkout-pay #payment .payment_box input[type="email"],
.wac-checkout-pay #payment .payment_box input[type="number"],
.wac-checkout-pay #payment .payment_box select {
	width: 100%; box-sizing: border-box;
	background: #fff; border: 1px solid #DCD8D1; border-radius: 8px;
	padding: 14px 14px; font-family: var(--wac-body); font-size: 15px; color: var(--wac-night);
}
.wac-checkout-pay #payment .payment_box label { font-size: 13px; font-weight: 500; color: #717171; display: block; margin: 0 0 6px; }

/* Modulo carta classico.
   Il fieldset va azzerato a mano: di suo il browser gli mette un bordo
   scanalato, un po' di padding e soprattutto min-width:min-content, che e'
   quello che lo faceva sbordare dal pannello.
   Per affiancare scadenza e CVC serve il FLEX, non i float: piu' in alto c'e'
   gia' un `float:none !important` sui form-row del checkout, che qualunque
   float scritto qui perderebbe. Il flex-basis invece ha la precedenza sul
   width, e quella vecchia regola smette di dare fastidio. */
.wac-checkout-pay #payment .payment_box fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.wac-checkout-pay #payment .payment_box .wc-credit-card-form { display: flex; flex-wrap: wrap; gap: 0 14px; }
.wac-checkout-pay #payment .payment_box .form-row { flex: 1 1 100%; min-width: 0; margin: 0 0 14px; padding: 0; }
.wac-checkout-pay #payment .payment_box .form-row-first,
.wac-checkout-pay #payment .payment_box .form-row-last { flex: 1 1 calc(50% - 7px); }
.wac-checkout-pay #payment .payment_box .clear { display: none; }
@media (max-width: 479px) {
	.wac-checkout-pay #payment .payment_box .form-row-first,
	.wac-checkout-pay #payment .payment_box .form-row-last { flex-basis: 100%; }
}

/* ------------------------------------------------------------------
   Stripe
   Il suo modulo vive dentro un iframe: quello che c'e' la' dentro non lo
   tocchiamo con il CSS. Dalla versione 10.5 del plugin non lo si pilota
   nemmeno dal PHP — il filtro dell'aspetto non viene piu' letto. Al suo
   posto Stripe, a pagina caricata, COPIA lo stile da tre punti nostri:
     - i campi:      #billing_first_name
     - le etichette: .woocommerce-checkout .form-row label
     - lo sfondo:    il primo di questi che non sia trasparente, in ordine
                     li.wc_payment_method .wc-payment-form
                     li.wc_payment_method .payment_box
                     #payment, #order_review, form.checkout, body
   Governare quei tre punti e' l'unico modo di governare il suo aspetto.
   Il fieldset .wc-payment-form e' il PRIMO della lista: dandogli lo stesso
   grigio del pannello, Stripe disegna il suo riquadro dello stesso colore e
   sparisce la cornice dentro la cornice.
------------------------------------------------------------------ */
.wac-checkout-pay #payment li.wc_payment_method .wc-payment-form,
.wac-checkout-pay #payment li.wc_payment_method .wc-upe-form {
	background: var(--wac-pay-panel); border: 0; padding: 0; margin: 0; min-width: 0;
}
.wac-checkout-pay #payment .wc-stripe-upe-element { margin: 0; }
.wac-checkout-pay #payment .wc-stripe-upe-element iframe { margin: 0 !important; }
.wac-checkout-pay #payment [id$="-upe-errors"]:empty { display: none; }
.wac-checkout-pay #payment [id$="-upe-errors"] { margin-top: 12px; font-size: 13px; color: #A5322E; }

/* "Ricorda informazioni di pagamento per gli ordini futuri": e' una riga a
   se', staccata dal modulo da una linea invece che appoggiata li' sopra. */
.wac-checkout-pay #payment .woocommerce-SavedPaymentMethods-saveNew,
.wac-checkout-pay #payment .wc-stripe-save-payment-method,
.wac-checkout-pay #payment .payment_box .form-row.woocommerce-SavedPaymentMethods-saveNew {
	margin: 14px 0 0; padding: 14px 0 0; border-top: 1px solid var(--wac-pay-line);
}
.wac-checkout-pay #payment .payment_box input[type="checkbox"] {
	width: 17px; height: 17px; margin: 0 9px 0 0; accent-color: var(--wac-night, #0F0E0C);
	vertical-align: -3px;
}
.wac-checkout-pay #payment .payment_box input[type="checkbox"] + span,
.wac-checkout-pay #payment .payment_box label.checkbox { font-size: 13px; color: #5b5751; display: inline; font-weight: 500; }

/* Avvisi ed errori dell'area pagamento: DEVONO vedersi, e' li' che WooCommerce
   scrive "nessun metodo disponibile" e il motivo. */
.wac-checkout-pay #payment > .woocommerce-info,
.wac-checkout-pay #payment > .woocommerce-error,
.wac-checkout-pay #payment > .woocommerce-notice {
	margin: 0 0 18px; padding: 15px 18px; border-radius: 12px; font-size: 14px; line-height: 1.55;
	background: var(--wac-cream, #FBF7EF); border: 1px solid var(--wac-pay-line); color: var(--wac-night, #0F0E0C);
}
.wac-checkout-pay #payment > .woocommerce-error { border-color: #D9534F; color: #A5322E; background: #FDF3F2; }
.wac-checkout-form #place_order,
.woocommerce-checkout .wac-checkout-pay button#place_order {
	background: var(--wac-night) !important; color: var(--wac-cream) !important;
	border-radius: 10px !important; width: 100% !important; padding: 17px !important;
	font-weight: 600 !important; font-size: 15px !important; border: 0 !important; margin-top: 6px;
	text-transform: uppercase !important; letter-spacing: 0.1em !important;
}
.wac-checkout-form #place_order:hover { background: var(--wac-gold) !important; color: var(--wac-night) !important; }

/* Casella "Iscrivimi alla newsletter" sotto l'email */
.wac-checkout-form .wac-checkout-newsletter { display: flex; align-items: center; gap: 10px; margin: 2px 0 18px; }
.wac-checkout-form .wac-checkout-newsletter input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--wac-gold, #C8932A); flex-shrink: 0; margin: 0; }
.wac-checkout-form .wac-checkout-newsletter label { margin: 0; font-size: 14px; color: var(--wac-night); cursor: pointer; display: inline; }
.wac-checkout-form .wac-checkout-newsletter .required,
.wac-checkout-form .wac-checkout-newsletter .optional { display: none; }

/* Nota termini/privacy sotto il bottone "Procedi" */
.wac-checkout-legal {
	display: flex; align-items: flex-start; gap: 9px;
	margin: 16px 2px 0; font-size: 13px; line-height: 1.55; color: var(--wac-mute, #7a7166);
}
.wac-checkout-legal-icon { width: 17px; height: 17px; flex-shrink: 0; margin-top: 2px; color: var(--wac-gold-deep, #C8932A); }
.wac-checkout-legal .wac-legal-link {
	color: var(--wac-night, #0F0E0C); font-weight: 700;
	text-decoration: underline; text-underline-offset: 2px; text-decoration-thickness: 1px;
}
a.wac-legal-link:hover { color: var(--wac-gold, #C8932A); }

/* La colonna destra ora è solo riepilogo (nessun pagamento) */
.wac-checkout-aside #payment { display: none !important; }

/* =========================================================================
   CHECKOUT — altezze campi uniformi + responsive (v1.2.23)
   ========================================================================= */

/* Tutti i campi alla STESSA altezza (i menu a tendina erano più alti).
 *
 * L'altezza NON e' piu' un `height` fisso ma padding piu' interlinea (v1.2.166).
 * Il motivo sta fuori da questo foglio: Stripe disegna il suo modulo dentro un
 * iframe copiando lo stile di #billing_first_name, e copia `padding` e
 * `line-height` ma NON `height`. Con `height:54px; padding:0` gli arrivava un
 * padding zero, ed e' per questo che i suoi campi venivano bassi e stretti
 * mentre i nostri sembravano a posto. Scritta come padding, la stessa altezza
 * vale per tutti e due.
 *
 * 18 + 18 di padding, piu' 15px di testo per 1.4 di interlinea, piu' i due
 * bordi: 59px. Se un domani cambi il corpo del testo, cambia anche l'altezza,
 * ed e' giusto cosi'.
 */
.wac-checkout-form input.input-text {
	height: auto !important;
	padding: 18px 16px !important;
	line-height: 1.4 !important;
	box-sizing: border-box;
}
/* I menu a tendina il padding verticale lo rendono in modo diverso da un
   browser all'altro, quindi li teniamo a quota fissa, allineata a quella che
   i campi di testo raggiungono da soli. */
.wac-checkout-form select { height: 59px !important; padding: 0 16px !important; box-sizing: border-box; line-height: 1.4; }
.wac-checkout-form .select2-container .select2-selection--single {
	height: 59px !important; box-sizing: border-box; display: flex; align-items: center;
}
.wac-checkout-form .select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 59px !important; padding: 0 16px !important;
}
.wac-checkout-form textarea { min-height: 104px; padding: 16px !important; line-height: 1.5; }

/* Stessa mano nel pannello dei pagamenti, cosi' i campi carta del gateway
   classico sono alti quanto quelli dell'indirizzo. */
.wac-checkout-pay #payment .payment_box input[type="text"],
.wac-checkout-pay #payment .payment_box input[type="tel"],
.wac-checkout-pay #payment .payment_box input[type="email"],
.wac-checkout-pay #payment .payment_box input[type="number"] {
	padding: 18px 16px; line-height: 1.4; height: auto;
}

/* Meno spazio bianco in fondo */
.wac-checkout-main { padding-bottom: 48px !important; }
.wac-checkout-aside { padding-bottom: 48px !important; }

/* ---- Barra "Riepilogo ordine" collassabile: nascosta su desktop ---- */
.wac-co-toggle { display: none; }

/* ================= MOBILE ≤900px ================= */
@media (max-width: 900px) {
	.wac-checkout-form .wac-checkout-grid { grid-template-columns: 1fr !important; max-width: 680px !important; margin: 0 auto; }
	.wac-checkout-main { order: 2; padding: 26px 20px 60px !important; }
	.wac-checkout-main > * { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
	.wac-checkout-aside { order: 1; padding: 0 !important; }
	.wac-checkout-aside::before { display: none !important; }
	.wac-checkout-aside-inner { position: static !important; max-width: none !important; top: auto !important; }

	/* Barra grigia col totale */
	.wac-co-toggle {
		display: flex; align-items: center; justify-content: space-between; width: 100%;
		background: var(--wac-cream-2); border: 0;
		border-top: 1px solid var(--wac-line); border-bottom: 1px solid var(--wac-line);
		padding: 18px 20px; cursor: pointer; font-family: var(--wac-body);
	}
	.wac-co-toggle-label { display: inline-flex; align-items: center; gap: 8px; color: var(--wac-gold-deep); font-weight: 500; font-size: 15px; }
	.wac-co-toggle-chevron { width: 18px; height: 18px; transition: transform .25s; }
	.wac-checkout-aside.is-open .wac-co-toggle-chevron { transform: rotate(180deg); }
	.wac-co-toggle-total { font-weight: 700; font-size: 18px; color: var(--wac-night); }
	.wac-co-toggle-total .woocommerce-Price-amount { color: var(--wac-night); }

	/* Contenuto: chiuso di default, aperto con .is-open */
	.wac-co-collapse { display: none; padding: 22px 20px 8px; background: #fff; border-bottom: 1px solid var(--wac-line); }
	.wac-checkout-aside.is-open .wac-co-collapse { display: block; }
	.wac-co-collapse #order_review_heading { display: none; }
	.wac-trust-badges--checkout { padding-top: 18px; margin-top: 22px; }
}

/* =========================================================================
   CHECKOUT — correzioni v1.2.24
   ========================================================================= */

/* DESKTOP */
@media (min-width: 901px) {
	/* Niente beige sotto: le colonne (e il bianco) riempiono almeno tutto lo schermo */
	.wac-checkout-form .wac-checkout-grid { min-height: calc(100vh - 92px) !important; }
	/* Sticky: più spazio dall'alto quando scrolli */
	.wac-checkout-aside-inner { top: 60px !important; }
	/* Campi più larghi: meno spazio ai lati della colonna sinistra */
	.wac-checkout-main { padding-left: clamp(16px, 2.5vw, 28px) !important; padding-right: clamp(26px, 3.5vw, 44px) !important; }
}

/* MOBILE ≤900px — layout pulito, a filo, un solo colore */
@media (max-width: 900px) {
	/* Logo che non esce dallo schermo */
	.wac-checkout-page #wac-header .wac-header-inner { max-width: none !important; padding: 0 16px !important; }
	.wac-checkout-page .wac-logo .wac-logo-name { font-size: 20px !important; line-height: 1.05; }
	.wac-checkout-page .wac-logo img,
	.wac-checkout-page .wac-logo .wac-logo-img { max-height: 40px !important; }
	.wac-checkout-page .wac-logo .wac-logo-symbol svg { width: 26px; height: 26px; }

	/* Griglia a piena larghezza, nessun margine/offset laterale */
	.wac-checkout-form .wac-checkout-grid { grid-template-columns: 1fr !important; max-width: none !important; margin: 0 !important; }
	.wac-checkout-main { order: 2; padding: 24px 16px 50px !important; }
	/* Solo i margini laterali vanno azzerati: quelli sopra e sotto tengono
	   separate le sezioni (avvisi, "Contatti", spedizione) anche sul telefono. */
	.wac-checkout-main > * { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
	.wac-checkout-aside { order: 1; padding: 0 !important; background: transparent !important; }
	.wac-checkout-aside::before { display: none !important; }
	.wac-checkout-aside-inner { position: static !important; max-width: none !important; top: auto !important; margin: 0 !important; }

	/* Barra "Riepilogo ordine": beige a filo + linea ORO sotto, tutta larga */
	.wac-co-toggle {
		display: flex; width: 100%; align-items: center; justify-content: space-between;
		background: var(--wac-cream-2); border: 0; border-bottom: 2px solid var(--wac-gold) !important;
		padding: 16px 16px; cursor: pointer; box-sizing: border-box;
	}
	.wac-co-toggle-label { color: var(--wac-gold-deep); font-weight: 600; font-size: 16px; display: inline-flex; align-items: center; gap: 8px; }
	.wac-co-toggle-total { font-weight: 700; font-size: 17px; color: var(--wac-night); }

	/* Contenuto: BIANCO a filo sotto tutti i dati, margini stretti e coerenti */
	.wac-co-collapse { display: none; background: #fff; padding: 18px 16px 10px !important; border-bottom: 1px solid var(--wac-line); }
	.wac-checkout-aside.is-open .wac-co-collapse { display: block; }
	.wac-co-collapse #order_review_heading { display: none; }
	.wac-co-items, .wac-co-coupon { margin-left: 0; margin-right: 0; }
}

/* =========================================================================
   CHECKOUT — logo mobile a sinistra e rimpicciolito (v1.2.25)
   Il layout header mobile centra il logo in position:absolute → sul checkout
   lo forziamo statico, allineato a sinistra e piccolo, così non esce/taglia.
   ========================================================================= */
@media (max-width: 900px) {
	.wac-checkout-page #wac-header .wac-header-inner {
		display: flex !important; justify-content: flex-start !important; align-items: center !important;
		position: relative !important; padding: 10px 16px !important; min-height: 0 !important;
	}
	.wac-checkout-page #wac-header .wac-logo,
	.wac-checkout-page.wac-header-m--ham-search-logo-cart .wac-logo,
	.wac-checkout-page .wac-header-m--ham-search-logo-cart .wac-logo,
	.wac-checkout-page .wac-header-m--ham-logo-cart .wac-logo,
	.wac-checkout-page .wac-header-m--logo-cart .wac-logo {
		position: static !important; left: auto !important; top: auto !important; right: auto !important;
		transform: none !important; margin: 0 !important; max-width: 70vw !important;
	}
	.wac-checkout-page .wac-logo img,
	.wac-checkout-page .wac-logo .custom-logo,
	.wac-checkout-page .wac-logo .wac-logo-img { max-height: 38px !important; width: auto !important; height: auto !important; }
	.wac-checkout-page .wac-logo .wac-logo-name { font-size: 19px !important; line-height: 1.05 !important; }
	.wac-checkout-page .wac-logo .wac-logo-symbol svg { width: 24px !important; height: 24px !important; }
}

/* =========================================================================
   CHECKOUT mobile — azzera il padding del .wac-container (32px) che insettava
   tutto il contenuto; il respiro laterale lo danno i nostri 16px (v1.2.26)
   ========================================================================= */
@media (max-width: 900px) {
	.wac-checkout-page .wac-container { padding-left: 0 !important; padding-right: 0 !important; }
	.wac-checkout-page .wac-checkout-grid,
	.wac-checkout-page .wac-checkout-aside-inner,
	.wac-checkout-page .wac-co-collapse,
	.wac-checkout-page .wac-co-review,
	.wac-checkout-page .wac-co-items,
	.wac-checkout-page .wac-co-totals { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
	.wac-checkout-page .wac-co-toggle { padding: 15px 18px !important; }
	.wac-checkout-page .wac-co-collapse { padding: 16px 18px 10px !important; }
	.wac-checkout-page .wac-checkout-main { padding: 22px 18px 50px !important; }
}

/* =========================================================================
   DRAWER CARRELLO — "Elimina" sottolineato, immagine più grande, trust sopra
   il totale (v1.2.36)
   ========================================================================= */
/* Riga: contenuti in alto; "Elimina" in alto a destra, allineato col titolo */
.wac-cart-line { align-items: flex-start !important; }
.wac-cart-line-end { justify-content: flex-start !important; align-items: flex-end !important; }
.wac-cart-line-end a.wac-cart-line-remove,
.wac-cart-line a.remove.wac-cart-line-remove {
	font-size: 12px !important; line-height: 1.3 !important;
	text-decoration: underline !important; text-underline-offset: 3px !important;
	color: var(--wac-mute) !important; font-weight: 400 !important;
	background: none !important; width: auto !important; height: auto !important; padding: 2px 0 !important;
}
.wac-cart-line-end a.wac-cart-line-remove:hover { color: #c62828 !important; background: none !important; }

/* Immagine prodotto più grande (desktop + mobile) */
.wac-cart-line-img { width: 90px !important; height: 90px !important; border-radius: 12px; }

/* Trust badge dentro il drawer, sopra il totale */
.wac-cart-drawer .wac-cart-trust { margin: 10px 24px 6px; padding-top: 16px; border-top: 1px solid var(--wac-line); list-style: none; display: flex; flex-direction: column; gap: 12px; }
.wac-cart-drawer .wac-cart-trust .wac-trust-badge { display: flex; gap: 12px; align-items: center; }
.wac-cart-drawer .wac-cart-trust .wac-trust-badge-text { font-size: 13px; color: var(--wac-mute); line-height: 1.4; }

/* ============================================================
   Scroll infinito archivio — card segnaposto (skeleton)
============================================================ */
.wac-inf, .wac-inf-sentinel { list-style: none; }
.wac-inf-sentinel { width: 100%; height: 1px; margin: 0; padding: 0; }

/* Le card segnaposto vivono dentro ul.products, quindi ereditano la griglia */
li.product.wac-inf-skel {
	display: flex;
	flex-direction: column;
	gap: 12px;
	pointer-events: none;
}
.wac-inf-skel-img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	border-radius: 6px;
	background: #ececec;
}
.wac-inf-skel-line {
	display: block;
	height: 12px;
	border-radius: 6px;
	background: #ececec;
}
.wac-inf-skel-line.w70 { width: 70%; }
.wac-inf-skel-line.w40 { width: 40%; }
.wac-inf-skel-img,
.wac-inf-skel-line {
	background-image: linear-gradient(90deg, #ececec 0%, #f6f6f6 50%, #ececec 100%);
	background-size: 200% 100%;
	animation: wacInfShimmer 1.2s ease-in-out infinite;
}
@keyframes wacInfShimmer {
	0%   { background-position: 200% 0; }
	100% { background-position: -200% 0; }
}
@media (prefers-reduced-motion: reduce) {
	.wac-inf-skel-img, .wac-inf-skel-line { animation: none; }
}

/* =========================================================================
   Carrello vuoto — categorie consigliate (stile Velasca) + visti di recente
   ========================================================================= */
.wac-empty-cats { display: grid; grid-template-columns: 1fr; gap: 16px; margin-top: 8px; }
/* Card che "si apre": si solleva, la foto zooma, la freccia scorre */
.wac-empty-cat {
	display: block; text-decoration: none; color: inherit;
	border: 1px solid var(--wac-line, #E7E0D2); border-radius: 8px; overflow: hidden;
	background: var(--wac-paper, #fff);
	transition: transform .3s var(--wac-ease-out), box-shadow .3s var(--wac-ease-out);
}
.wac-empty-cat:hover { transform: translateY(-4px); box-shadow: 0 16px 40px rgba(20,14,6,.12); }
.wac-empty-cat-media {
	display: block; overflow: hidden;
	aspect-ratio: 16 / 10; background: var(--wac-cream-2, #F2ECE0);
}
.wac-empty-cat-media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .55s var(--wac-ease); }
.wac-empty-cat:hover .wac-empty-cat-media img { transform: scale(1.06); }
.wac-empty-cat-title {
	display: flex; align-items: center; gap: 8px;
	padding: 13px 15px; text-align: left;
	text-transform: uppercase; text-decoration: underline; text-underline-offset: 3px;
	font-size: 12px; letter-spacing: .06em; font-weight: 600; color: var(--wac-night);
}
.wac-empty-cat-title::after { content: "→"; margin-left: auto; text-decoration: none; transition: transform .3s var(--wac-ease-out); }
.wac-empty-cat:hover .wac-empty-cat-title::after { transform: translateX(5px); }

/* Variante nel carrello laterale (drawer): stack compatto */
.wac-cart-empty-suggest { margin-top: 22px; text-align: left; }
.wac-cart-empty-suggest-label {
	display: block; font-size: 11px; letter-spacing: .12em; text-transform: uppercase;
	color: var(--wac-mute, #8a8375); margin-bottom: 12px;
}
.wac-empty-cats--drawer .wac-empty-cat-media { aspect-ratio: 16 / 9; }

/* Pagina carrello vuoto */
.wac-cart-empty-page { padding: 60px clamp(20px, 4vw, 40px) 80px; }
.wac-cart-empty-hero { text-align: center; max-width: 560px; margin: 0 auto 40px; }
.wac-cart-empty-title { font-size: clamp(2rem, 4vw, 3rem); margin: 0 0 12px; }
.wac-cart-empty-text { color: var(--wac-mute, #6b6559); margin: 0 0 24px; }
.wac-empty-cats-section { margin-top: 20px; }
.wac-empty-cats-heading { font-size: 15px; text-transform: uppercase; letter-spacing: .08em; margin: 0 0 16px; }
.wac-empty-cats--page { grid-template-columns: repeat(3, 1fr); }
.wac-empty-cats--page .wac-empty-cat-media { aspect-ratio: 3 / 4; }

/* Desktop: mostra "visti di recente", nasconde le categorie mobile */
@media (min-width: 768px) { .wac-empty-cats-mobile { display: none; } }
/* Mobile: nasconde "visti di recente", categorie a colonna singola */
@media (max-width: 767px) {
	.wac-empty-recent-desktop { display: none; }
	.wac-empty-cats--page { grid-template-columns: 1fr; }
	.wac-empty-cats--page .wac-empty-cat-media { aspect-ratio: 16 / 10; }
}

/* =========================================================================
   Categorie in evidenza (ereditate da IW → Carrello vuoto): 3 colonne grandi
   sotto "Visti di recente" / "Potrebbero piacerti" nella pagina prodotto.
   ========================================================================= */
/* Grandi come Velasca: a tutta larghezza (full-bleed), nettamente più grandi
   dei prodotti così non si confondono con altre schede. */
.wac-cat-showcase { padding-top: 50px; }
.wac-empty-cats--showcase {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 8px;                      /* gap raddoppiato */
	margin: 0;
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	padding: 0 24px;               /* margine ai lati (≈ triplo del gap) */
	box-sizing: border-box;
}
/* Look "editoriale": niente bordo/ombra, immagine molto grande, titolo sotto */
.wac-empty-cats--showcase .wac-empty-cat {
	border: 0; border-radius: 0; background: transparent;
}
.wac-empty-cats--showcase .wac-empty-cat:hover { transform: none; box-shadow: none; }
.wac-empty-cats--showcase .wac-empty-cat-media {
	aspect-ratio: 4 / 5; border-radius: 0;
}
.wac-empty-cats--showcase .wac-empty-cat-title {
	padding: 16px 24px 4px;
	font-size: 1.4rem;
	letter-spacing: 0.06em;
	color: var(--wac-night);
}
@media (max-width: 780px) {
	.wac-empty-cats--showcase { grid-template-columns: 1fr; gap: 10px; padding: 0 16px; }
	.wac-empty-cats--showcase .wac-empty-cat-media { aspect-ratio: 4 / 5; } /* allungata ma non troppo */
	.wac-empty-cats--showcase .wac-empty-cat-title { padding: 12px 18px 4px; font-size: 0.8rem; }
}

/* =========================================================================
   SPEDIZIONE IN CHECKOUT (v1.2.130)
   Riga "Spedizione" del riepilogo: metodo singolo a destra come un totale,
   più metodi impilati con radio. Additivo: non tocca .wac-co-row esistente.
   ========================================================================= */
.wac-co-shipping-value { text-align: right; color: var(--wac-night); }
.wac-co-shipping-value .woocommerce-Price-amount { color: var(--wac-night); }

/* Con più metodi la riga diventa a colonna: l'elenco ha bisogno di larghezza */
.wac-co-row.wac-co-shipping--choice { flex-direction: column; align-items: stretch; gap: 10px; }
.wac-co-shipping--choice .wac-co-shipping-value { text-align: left; }

.wac-co-ship-methods { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.wac-co-ship-method { display: flex; align-items: flex-start; gap: 10px; }
.wac-co-ship-method input[type="radio"] { margin: 3px 0 0; flex: 0 0 auto; accent-color: var(--wac-night); }
.wac-co-ship-method label { margin: 0; cursor: pointer; font-size: 15px; line-height: 1.4; color: var(--wac-night); }

.wac-co-ship-details { display: block; font-size: 13px; color: #717171; margin-top: 4px; }
.wac-co-ship-empty,
.wac-co-ship-none { color: #717171; }

/* Messaggio della zona (es. "Sei in zona: puoi pagare alla consegna") */
.wac-co-shipnote {
	margin: -4px 0 14px;
	padding: 10px 12px;
	border-radius: 10px;
	background: rgba(0, 0, 0, 0.04);
	color: var(--wac-night);
	font-size: 13px;
	line-height: 1.5;
}
.wac-co-shipnote p { margin: 0; }
.wac-co-shipnote p + p { margin-top: 6px; }

/* =========================================================================
   SCONTI QUANTITÀ — tabellina nella scheda prodotto (v1.2.132)
   ========================================================================= */
.wac-bulk-table {
	margin: 18px 0 20px;
	padding: 14px 16px;
	border: 1px solid var(--wac-line);
	border-radius: 12px;
	background: rgba(0, 0, 0, 0.015);
}
.wac-bulk-table-title {
	display: block;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--wac-mute);
	margin-bottom: 10px;
}
.wac-bulk-table-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 7px; }
.wac-bulk-table-list li {
	display: flex; align-items: baseline; justify-content: space-between; gap: 14px;
	font-size: 14px; line-height: 1.35;
}
.wac-bulk-table-list li + li { padding-top: 7px; border-top: 1px dashed var(--wac-line); }
.wac-bulk-qty { color: var(--wac-mute); }
.wac-bulk-val { font-weight: 700; color: var(--wac-night); white-space: nowrap; }
.wac-bulk-table-note { margin: 10px 0 0; font-size: 12px; color: var(--wac-mute); line-height: 1.45; }

/* Sconto sempre attivo: una riga sola, senza quantità */

/* =========================================================================
   BADGE SCONTO SULL'IMMAGINE (v1.2.171)
   Sta sopra la foto, non di fianco al prezzo: è la prima cosa che l'occhio
   incontra scorrendo, ed è lì che deve stare una promozione.
   Colori, misura e rotondità arrivano dalle variabili del pannello, quindi
   non serve vincere nessuna gara di specificità.
   ========================================================================= */
.wac-bulk-badge {
	position: absolute;
	top: 14px;
	z-index: 3;
	display: inline-flex; align-items: center;
	padding: 6px 12px;
	background: var(--wac-badge-bg, var(--wac-night, #0F0E0C));
	color: var(--wac-badge-fg, var(--wac-cream, #FBF7F0));
	border-radius: var(--wac-badge-radius, 999px);
	font-size: var(--wac-badge-size, 11px);
	font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
	line-height: 1.2;
	/* Non deve rubare il clic al link della card né al pannello di zoom. */
	pointer-events: none;
	/* Su una foto chiara un'ombra leggera tiene il testo leggibile senza
	   dover mettere un bordo. */
	box-shadow: 0 2px 10px rgba(15, 14, 12, .22);
	max-width: calc(100% - 28px);
	white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.wac-bulk-badge--left  { left: 14px; }
.wac-bulk-badge--right { right: 14px; }
/* Nella scheda prodotto la foto è grande: il badge può permettersi di più. */
.wac-bulk-badge--single { top: 18px; padding: 8px 15px; font-size: var(--wac-badge-size, 13px); }
.wac-bulk-badge--single.wac-bulk-badge--left  { left: 18px; }
.wac-bulk-badge--single.wac-bulk-badge--right { right: 18px; }
/* In griglia, se c'è già "Offerta" a sinistra, il nostro scende sotto. */
.wac-product-card-media-wrap:has(.wac-product-card-badge) .wac-bulk-badge--left { top: 50px; }

/* Prezzo scontato (v1.2.175)
   Nel prezzo grande i due numeri vanno uno sopra l'altro, con il listino
   barrato in rosso sopra e lo scontato sotto: incolonnati si confrontano a
   colpo d'occhio, e il rosso dice "questo non lo paghi" senza doverlo
   scrivere. Nelle pillole dei formati e nelle card restano in linea, che lì
   lo spazio verticale non c'è. */
.wac-price-now del,
.wac-product-card-price del,
.wac-variant-pill-price del {
	color: var(--wac-price-del, #C0392B);
	text-decoration: line-through;
	font-weight: 400;
	opacity: .85;
}
.wac-price-now ins,
.wac-product-card-price ins,
.wac-variant-pill-price ins { text-decoration: none; }

/* Prezzo grande della scheda: incolonnato. */
.wac-price-now.wac-price-large {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	line-height: 1.05;
}
.wac-price-now.wac-price-large del { font-size: .58em; margin: 0 0 2px; }
.wac-price-now.wac-price-large ins { font-size: 1em; }

/* Pillole dei formati: stessa lettura del prezzo grande, incolonnata.
   Prima erano in linea perché temevo che le pillole diventassero torri: con
   .78em sul barrato la riga in più pesa cinque pixel, e in cambio i due
   numeri si confrontano incolonnati come in cima alla pagina. */
.wac-variant-pill-price {
	display: flex;
	flex-direction: column;
	align-items: center;
	line-height: 1.15;
}
/* Misure esplicite (v1.2.177). Prima etichetta e prezzo non avevano una
   misura loro e si prendevano quella della pagina: incolonnando i due numeri
   il blocco è diventato più fitto e il prezzo risultava illeggibile. Qui sono
   dichiarate, così si leggono e restano in proporzione fra loro. */
.wac-variant-pill-label { font-size: 16px; font-weight: 700; line-height: 1.2; }
.wac-variant-pill-price { font-size: 15px; margin-top: 3px; }
.wac-variant-pill-price del { font-size: 13px; font-weight: 300; margin: 0; }
.wac-variant-pill-price ins { font-weight: 600; }
/* Il blocco è cresciuto in altezza: serve un po' più di respiro dentro e una
   base più larga, o le pillole si stringono sul prezzo. */
.wac-variant-pill { min-width: 92px; padding: 13px 18px; }

@media (max-width: 600px) {
	.wac-variant-pill-label { font-size: 15px; }
	.wac-variant-pill-price { font-size: 14px; }
	.wac-variant-pill-price del { font-size: 12px; }
	.wac-variant-pill { min-width: 84px; padding: 12px 14px; }
}

/* Sulla pillola selezionata lo sfondo è nero: il rosso lì sopra non si legge
   e sporca. Diventa un bianco smorzato, che dice "prezzo superato" con il
   contrasto invece che con il colore, e il prezzo buono resta pieno. */
.wac-variant-pill.is-active .wac-variant-pill-price del {
	/* color:inherit invece di un bianco fisso: eredita la crema che la pillola
	   attiva si è già data, e l'opacità fa il resto. Così se un domani cambi
	   il colore della pillola selezionata, il barrato lo segue da solo. */
	color: inherit;
	opacity: .55;
}
.wac-variant-pill.is-active .wac-variant-pill-price ins {
	color: inherit;
	opacity: 1;
}

/* Card in archivio: in linea, lì lo spazio verticale non c'è. */
.wac-product-card-price del { margin-right: 6px; font-weight: 300; }
.wac-product-card-price ins { font-weight: 600; }

@media (max-width: 600px) {
	.wac-bulk-badge { top: 10px; padding: 5px 10px; }
	.wac-bulk-badge--left  { left: 10px; }
	.wac-bulk-badge--right { right: 10px; }
	.wac-bulk-badge--single { top: 12px; }
	.wac-bulk-badge--single.wac-bulk-badge--left  { left: 12px; }
	.wac-bulk-badge--single.wac-bulk-badge--right { right: 12px; }
}

/* =========================================================================
   ORDINE RICEVUTO (v1.2.178)
   ========================================================================= */
.wac-thankyou {
	max-width: 820px; margin: 0 auto; padding: 8px 0 20px;
	/* Dichiarato e non ereditato: il contenitore della pagina centra, e tutto
	   quello che WooCommerce stampa qui dentro — titoli, coordinate bancarie,
	   indirizzi — finiva centrato. Al centro ci va solo quello che decidiamo
	   noi, cioè l'intestazione e i pulsanti in fondo. */
	text-align: left;
}

.wac-thankyou-head { text-align: center; margin-bottom: 38px; }
.wac-thankyou-mark {
	display: inline-flex; align-items: center; justify-content: center;
	width: 62px; height: 62px; margin-bottom: 20px;
	border-radius: 50%;
	background: #E8F5EA; color: #1E7A37;
}
.wac-thankyou-mark svg { width: 30px; height: 30px; }
.wac-thankyou-mark--failed { background: #FDECEA; color: #A5322E; }
.wac-thankyou-title { font-size: clamp(34px, 5vw, 52px); margin: 0 0 12px; line-height: 1.05; }
.wac-thankyou-sub {
	margin: 0 auto; max-width: 480px;
	font-size: 16px; line-height: 1.6; color: var(--wac-mute, #7a7166);
}

/* Schede dei dati d'ordine */
.wac-thankyou-cards {
	list-style: none; margin: 0 0 36px; padding: 0;
	/* 165px è la soglia sotto cui "29 Settembre 2026" andava a capo tre volte
	   e le schede uscivano di altezze diverse. L'email sta su una riga sua:
	   è lunga e stringerebbe tutte le altre. */
	display: grid; grid-template-columns: repeat(auto-fit, minmax(165px, 1fr)); gap: 12px;
	align-items: stretch;
}
.wac-thankyou-card--mail { grid-column: 1 / -1; }
.wac-thankyou-card {
	display: flex; flex-direction: column; gap: 5px;
	padding: 16px 18px; min-width: 0;
	background: var(--wac-cream, #FBF7F0);
	border: 1px solid var(--wac-line, #E7E0D4); border-radius: 12px;
}
.wac-thankyou-card-label {
	font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
	color: var(--wac-mute, #7a7166);
}
.wac-thankyou-card-value {
	font-size: 16px; font-weight: 600; color: var(--wac-night, #0F0E0C);
	line-height: 1.3; overflow-wrap: anywhere;
}
/* Il numero d'ordine è il dato che serve se poi devi scrivere: si vede. */
.wac-thankyou-card--id { background: var(--wac-night, #0F0E0C); border-color: var(--wac-night, #0F0E0C); }
.wac-thankyou-card--id .wac-thankyou-card-label { color: rgba(255,255,255,.6); }
.wac-thankyou-card--id .wac-thankyou-card-value { color: var(--wac-cream, #FBF7F0); font-size: 20px; }
.wac-thankyou-card--mail .wac-thankyou-card-value { font-size: 14px; font-weight: 500; }

.wac-thankyou-actions {
	display: flex; align-items: center; justify-content: center; gap: 22px;
	flex-wrap: wrap; margin-top: 38px;
}
.wac-thankyou-link {
	color: var(--wac-night, #0F0E0C); font-weight: 600; font-size: 14px;
	text-decoration: underline; text-underline-offset: 3px;
}
.wac-thankyou-link:hover { color: var(--wac-gold, #C8932A); }

/* Istruzioni del metodo di pagamento (coordinate del bonifico) e titoli
   stampati dagli hook di WooCommerce: non sono nostri, quindi si agganciano
   per quello che sono invece di riscriverli. */
.wac-thankyou .woocommerce-bacs-bank-details,
.wac-thankyou .wc-bacs-bank-details-account-name {
	margin: 0 0 30px;
}
.wac-thankyou .woocommerce-bacs-bank-details {
	padding: 22px 24px; border-radius: 14px;
	background: var(--wac-cream-2, #F5EFE2); border: 1px solid var(--wac-line, #E7E0D4);
}
.wac-thankyou .woocommerce-bacs-bank-details h2,
.wac-thankyou .wc-bacs-bank-details-heading { font-size: 17px; margin: 0 0 6px; }
.wac-thankyou .wc-bacs-bank-details-account-name { font-size: 15px; font-weight: 600; margin: 0 0 14px; }
.wac-thankyou .wc-bacs-bank-details {
	list-style: none; margin: 0; padding: 0;
	display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 10px 22px;
}
.wac-thankyou .wc-bacs-bank-details li { font-size: 14px; overflow-wrap: anywhere; }
.wac-thankyou .wc-bacs-bank-details li strong { display: block; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--wac-mute); font-weight: 700; }

/* Tabella dell'ordine e indirizzi */
.wac-thankyou .woocommerce-order-details,
.wac-thankyou .woocommerce-customer-details { margin: 0 0 34px; }
.wac-thankyou .woocommerce-order-details__title,
.wac-thankyou .woocommerce-column__title { font-size: 20px; margin: 0 0 16px; }
.wac-thankyou table.woocommerce-table--order-details {
	width: 100%; border-collapse: collapse;
	border: 1px solid var(--wac-line, #E7E0D4); border-radius: 14px; overflow: hidden;
}
.wac-thankyou table.woocommerce-table--order-details th,
.wac-thankyou table.woocommerce-table--order-details td {
	padding: 15px 18px; text-align: left; border: 0;
	border-bottom: 1px solid var(--wac-line, #E7E0D4); font-size: 15px;
}
.wac-thankyou table.woocommerce-table--order-details thead th {
	background: var(--wac-cream, #FBF7F0);
	font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
	color: var(--wac-mute, #7a7166);
}
.wac-thankyou table.woocommerce-table--order-details td:last-child,
.wac-thankyou table.woocommerce-table--order-details th:last-child { text-align: right; white-space: nowrap; }
.wac-thankyou table.woocommerce-table--order-details tfoot th { font-weight: 600; }
.wac-thankyou table.woocommerce-table--order-details tfoot tr:last-child th,
.wac-thankyou table.woocommerce-table--order-details tfoot tr:last-child td {
	border-bottom: 0; font-size: 17px; font-weight: 700; color: var(--wac-night, #0F0E0C);
}
.wac-thankyou .wc-item-meta { list-style: none; margin: 6px 0 0; padding: 0; font-size: 13px; color: var(--wac-mute); }
.wac-thankyou .wc-item-meta p { display: inline; margin: 0; }

.wac-thankyou .woocommerce-customer-details address {
	font-style: normal; line-height: 1.7; font-size: 15px;
	padding: 20px 22px; border-radius: 14px;
	background: var(--wac-cream, #FBF7F0); border: 1px solid var(--wac-line, #E7E0D4);
}

@media (max-width: 600px) {
	.wac-thankyou-cards { grid-template-columns: 1fr 1fr; }
	.wac-thankyou-card--id, .wac-thankyou-card--mail { grid-column: 1 / -1; }
	.wac-thankyou table.woocommerce-table--order-details th,
	.wac-thankyou table.woocommerce-table--order-details td { padding: 12px 14px; font-size: 14px; }
}

/* =========================================================================
   AVVISI DEL CHECKOUT E DEL CARRELLO (v1.2.178)
   WooCommerce li stampa fuori dalla nostra griglia, agganciati a
   woocommerce_before_checkout_form: senza una larghezza loro si spalmavano
   da bordo a bordo dello schermo, staccati da tutto il resto.
   ========================================================================= */
.woocommerce-cart .woocommerce-notices-wrapper {
	width: 100%; max-width: var(--wac-container, 1280px);
	margin: 0 auto 24px; padding: 0 32px;
	box-sizing: border-box;
}

/* Al checkout gli avvisi stanno dentro la colonna di sinistra, quindi la
   larghezza gliela dà già la colonna: niente contenitore, solo lo spazio che
   li stacca dalla barra in alto e da "CONTATTI". */
.wac-checkout-notices:empty { display: none; }
.wac-checkout-notices { margin: 0 0 32px; }
.wac-checkout-notices .woocommerce-notices-wrapper:empty { display: none; }
.wac-checkout-notices .woocommerce-NoticeGroup { margin: 0; }
/* Lo spazio sopra lo mette la colonna stessa, che parte già a 48px dal bordo:
   serve solo un po' di respiro in più quando l'avviso c'è davvero. */
.wac-checkout-main:has(.wac-checkout-notices:not(:empty)) { padding-top: 34px; }
.woocommerce-checkout .woocommerce-notices-wrapper:empty,
.woocommerce-cart .woocommerce-notices-wrapper:empty { margin: 0; }

.woocommerce-checkout .woocommerce-error,
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-info,
.woocommerce-cart .woocommerce-error,
.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-info {
	display: flex; align-items: flex-start; gap: 12px;
	margin: 0 0 12px; padding: 16px 20px;
	border: 1px solid var(--wac-line, #E7E0D4); border-left-width: 1px;
	border-radius: 12px;
	background: var(--wac-cream, #FBF7F0); color: var(--wac-night, #0F0E0C);
	font-size: 14.5px; line-height: 1.5;
	list-style: none;
	box-shadow: 0 4px 16px -8px rgba(15,14,12,.18);
}
.woocommerce-checkout .woocommerce-error,
.woocommerce-cart .woocommerce-error {
	background: #FDF3F2; border-color: #F0C9C4; color: #8E2B22;
}
/* L'elenco degli errori: più messaggi restano leggibili come elenco, uno
   solo non deve sembrare un elenco di un elemento. */
.woocommerce-checkout ul.woocommerce-error,
.woocommerce-cart ul.woocommerce-error { flex-direction: column; gap: 6px; }
.woocommerce-checkout ul.woocommerce-error li,
.woocommerce-cart ul.woocommerce-error li { list-style: none; margin: 0; }
.woocommerce-checkout ul.woocommerce-error:has(li + li) li,
.woocommerce-cart ul.woocommerce-error:has(li + li) li {
	list-style: disc; margin-left: 18px;
}
/* Il pallino di WooCommerce prima del testo: lo sostituiamo con l'icona. */
.woocommerce-checkout .woocommerce-error::before,
.woocommerce-checkout .woocommerce-message::before,
.woocommerce-checkout .woocommerce-info::before,
.woocommerce-cart .woocommerce-error::before,
.woocommerce-cart .woocommerce-message::before,
.woocommerce-cart .woocommerce-info::before {
	content: ""; flex: 0 0 20px; width: 20px; height: 20px; margin: 0;
	position: static; top: auto; left: auto;
	background: currentColor;
	-webkit-mask: var(--wac-notice-icon) center / 20px 20px no-repeat;
	mask: var(--wac-notice-icon) center / 20px 20px no-repeat;
	opacity: .85;
}
.woocommerce-checkout .woocommerce-error,
.woocommerce-cart .woocommerce-error {
	--wac-notice-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 8v5M12 16.5v.01'/%3E%3C/svg%3E");
}
.woocommerce-checkout .woocommerce-message,
.woocommerce-cart .woocommerce-message {
	--wac-notice-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
	background: #F1F8F2; border-color: #CFE6D4; color: #1E6A34;
}
.woocommerce-checkout .woocommerce-info,
.woocommerce-cart .woocommerce-info {
	--wac-notice-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 11v5M12 7.5v.01'/%3E%3C/svg%3E");
}
/* Il pulsante che WooCommerce infila dentro l'avviso va a destra, non in mezzo
   al testo. */
.woocommerce-checkout .woocommerce-error .button,
.woocommerce-checkout .woocommerce-message .button,
.woocommerce-cart .woocommerce-error .button,
.woocommerce-cart .woocommerce-message .button { margin-left: auto; flex-shrink: 0; }

@media (max-width: 600px) {
	.woocommerce-checkout .woocommerce-notices-wrapper,
	.woocommerce-cart .woocommerce-notices-wrapper,
	.woocommerce-checkout .woocommerce-NoticeGroup { padding: 0 16px; }
}
