/*
 * Il Covo del Nerd - Carrello (handoff Claude Design 31/07/2026)
 * Si veste con i token di icdn-design-system, come la scheda prodotto.
 * Nessun font, colore o raggio dichiarato qui che non venga da lì.
 *
 * Lo scope è body.woocommerce-cart, la classe che WooCommerce mette da sé.
 *
 * L'architettura del riepilogo: .cart-sidebar diventa una colonna flex,
 * .cart_totals e la sua tabella si appiattiscono con display:contents e
 * ogni riga/blocco prende un `order`. Così i blocchi si mettono
 * nell'ordine del mockup senza template override. Gli elementi che i
 * plugin iniettano via JS (Scalapay, messaggi PayPal) cadono nella
 * fascia "rate" sopra il bottone grazie all'order di ripiego.
 */

/* ===================================================================
 * 1. AVVISI
 * =================================================================== */

body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-info,
body.woocommerce-cart .woocommerce-error {
	background: var(--icdn-surface) !important;
	border: 1px solid var(--icdn-border) !important;
	border-radius: var(--icdn-r) !important;
	color: var(--icdn-ink) !important;
	font-size: var(--icdn-fs-note);
	line-height: 1.5;
	padding: var(--icdn-s3) var(--icdn-s4) !important;
	margin-bottom: var(--icdn-s3);
}
body.woocommerce-cart .woocommerce-message {
	background: var(--icdn-green-bg) !important;
	border-color: var(--icdn-green-bd) !important;
}
body.woocommerce-cart .woocommerce-error {
	background: var(--icdn-red-bg) !important;
	border-color: var(--icdn-red-bd) !important;
	color: var(--icdn-ink) !important;
}
body.woocommerce-cart .message-container { padding: 0; }

/* ===================================================================
 * 2. TESTATA - "Carrello" + "3 articoli - IVA inclusa"
 * =================================================================== */

body.woocommerce-cart .icdn-cart-testata {
	display: flex;
	align-items: baseline;
	gap: 10px;
	flex-wrap: wrap;
	padding: 22px 0 4px;
}
body.woocommerce-cart .icdn-cart-testata__titolo {
	font-family: var(--icdn-font);
	font-size: var(--icdn-fs-title);
	font-weight: var(--icdn-fw-title);
	letter-spacing: var(--icdn-ls-title);
	color: var(--icdn-ink);
	margin: 0;
}
body.woocommerce-cart .icdn-cart-testata__meta {
	font-size: var(--icdn-fs-note);
	color: var(--icdn-ink-3);
}

/* ===================================================================
 * 3. LE DUE COLONNE
 * Desktop: lista fluida a sinistra, riepilogo fisso 372px a destra
 * (+30px di grondaie Flatsome = 402px di colonna). Telefono: il
 * riepilogo sale SOPRA la lista, la richiesta principale del brief.
 * =================================================================== */

body.woocommerce-cart .row-divided > .col + .col,
body.woocommerce-cart .row-divided > .cart-collaterals {
	border-left: 0 !important;
}

@media (min-width: 850px) {
	body.woocommerce-cart .row-divided > .col:not(.cart-collaterals) {
		flex: 1 1 0%;
		max-width: none;
	}
	body.woocommerce-cart .cart-collaterals.large-5 {
		flex: 0 0 402px;
		max-width: 402px;
	}
}

/* Telefono (0.2.6): l'ordine è quello del riepilogo della cassa.
 * Prima cosa compri e quando arriva (intestazione di consegna +
 * striscia di miniature, con la lista chiusa dietro), poi quanto paghi
 * e il bottone. La lista completa non sta più in fondo alla pagina. */
@media (max-width: 849px) {
	body.woocommerce-cart .row-divided { display: flex; flex-wrap: wrap; }
	body.woocommerce-cart .row-divided > .col:not(.cart-collaterals) { order: 1; }
	body.woocommerce-cart .row-divided > .cart-collaterals { order: 2; }
	body.woocommerce-cart .icdn-cart-testata { padding: 14px 0 2px; }
}

/* ===================================================================
 * 4. TESTA DELLA LISTA E INTESTAZIONE DI CONSEGNA
 * Un'intestazione tinta sola per tutto il carrello: dice quando arriva
 * e chi comanda l'attesa. Il colore è quello dello stato dominante.
 * =================================================================== */

body.woocommerce-cart .icdn-cart-gruppo {
	border: 1px solid var(--icdn-border);
	border-radius: var(--icdn-r);
	background: var(--icdn-surface);
	padding: var(--icdn-s3) 14px;
	margin-top: 14px;
	scroll-margin-top: 90px;
}
body.woocommerce-cart .icdn-cart-gruppo--disponibile {
	background: var(--icdn-green-bg);
	border-color: var(--icdn-green-bd);
}
body.woocommerce-cart .icdn-cart-gruppo--preordine {
	background: var(--icdn-orange-bg);
	border-color: var(--icdn-orange-bd);
}
body.woocommerce-cart .icdn-cart-gruppo--riassortimento {
	background: var(--icdn-violet-bg);
	border-color: var(--icdn-violet-bd);
}
body.woocommerce-cart .icdn-cart-gruppo__occhiello {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: var(--icdn-ls-label);
	text-transform: uppercase;
}
body.woocommerce-cart .icdn-cart-gruppo--disponibile .icdn-cart-gruppo__occhiello { color: var(--icdn-green); }
body.woocommerce-cart .icdn-cart-gruppo--preordine .icdn-cart-gruppo__occhiello { color: var(--icdn-orange); }
body.woocommerce-cart .icdn-cart-gruppo--riassortimento .icdn-cart-gruppo__occhiello { color: var(--icdn-violet); }
body.woocommerce-cart .icdn-cart-gruppo__titolo {
	font-family: var(--icdn-font);
	font-size: var(--icdn-fs-state);
	font-weight: var(--icdn-fw-title);
	line-height: var(--icdn-lh-state);
	color: var(--icdn-ink);
	margin-top: 3px;
	text-wrap: pretty;
}
body.woocommerce-cart .icdn-cart-gruppo__sotto {
	font-size: var(--icdn-fs-note);
	line-height: 1.45;
	color: var(--icdn-ink-2);
	margin-top: 3px;
	text-wrap: pretty;
}

/* ===================================================================
 * 5. LE RIGHE - da celle di tabella a schede
 * Foto a sinistra; titolo, stato, quantità e prezzo, Elimina.
 * La tabella resta nel markup, la griglia la ridisegna.
 * =================================================================== */

body.woocommerce-cart .woocommerce-cart-form .shop_table,
body.woocommerce-cart .woocommerce-cart-form .shop_table tbody {
	display: block;
	border: 0 !important;
	margin: 0;
}
body.woocommerce-cart .woocommerce-cart-form .shop_table thead { display: none; }
body.woocommerce-cart .woocommerce-cart-form .shop_table td::before { display: none !important; }

body.woocommerce-cart .shop_table tr.cart_item {
	display: grid !important;
	grid-template-columns: 84px minmax(0, 1fr) auto;
	column-gap: 14px;
	row-gap: var(--icdn-s2);
	align-items: start;
	padding: 14px 0;
	border-bottom: 1px solid var(--icdn-border-soft);
}
body.woocommerce-cart .shop_table tr.cart_item td {
	display: block !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	text-align: left;
}

body.woocommerce-cart .shop_table .product-thumbnail { grid-area: 1 / 1 / 4 / 2; }
body.woocommerce-cart .shop_table .product-name      { grid-area: 1 / 2 / 2 / 4; }
body.woocommerce-cart .shop_table .product-quantity  { grid-area: 2 / 2 / 3 / 3; align-self: end; }
body.woocommerce-cart .shop_table .product-subtotal  { grid-area: 2 / 3 / 3 / 4; align-self: end; text-align: right !important; }
body.woocommerce-cart .shop_table .product-remove    { grid-area: 3 / 2 / 4 / 4; }
/* Più specifiche della regola generica delle celle qui sopra (che è
   display:block !important): senza, il prezzo unitario ricompariva come
   blocco fuori griglia sotto la foto. */
body.woocommerce-cart .shop_table tr.cart_item td.product-price { display: none !important; }
body.woocommerce-cart .shop_table tr.cart_item .mobile-product-price { display: none !important; }

/* La foto */
body.woocommerce-cart .shop_table .product-thumbnail a { display: block; }
body.woocommerce-cart .shop_table .product-thumbnail img {
	width: 84px;
	height: 84px;
	max-width: none;
	object-fit: contain;
	border: 1px solid var(--icdn-border);
	border-radius: var(--icdn-r);
	background: var(--icdn-paper);
}

/* Il nome. Peso da titolo, non da stato: in una lista di tre o quattro righe
   il nome è la cosa che il cliente sta verificando prima di pagare, e non c'è
   il rischio di muro che c'è su una griglia da ventiquattro card. */
body.woocommerce-cart .shop_table .product-name a {
	font-size: var(--icdn-fs-body);
	font-weight: var(--icdn-fw-title);
	line-height: 1.35;
	color: var(--icdn-ink);
	text-wrap: pretty;
}
body.woocommerce-cart .shop_table .product-name a:hover { color: var(--icdn-blue); }

/* La riga di stato (solo nei carrelli misti) */
body.woocommerce-cart .icdn-cart-stato {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px;
	margin-top: 5px;
}
/* Etichetta, colori e riga di accompagnamento: design system, assets/stato.css. */

/* Il cartellino del 3x2 sulla riga in omaggio: dal rosso inline del
   plugin al giallo promozione del sistema, col testo del mockup. */
body.woocommerce-cart .icdn-3x2-badge {
	font-size: 0 !important;
	display: inline-block !important;
	margin: 6px 0 0 !important;
	padding: 3px 9px !important;
	border-radius: var(--icdn-r-pill) !important;
	background: var(--icdn-promo-bg) !important;
	color: var(--icdn-promo-ink) !important;
	vertical-align: baseline !important;
	white-space: nowrap !important;
}
body.woocommerce-cart .icdn-3x2-badge::after {
	content: "In omaggio con la promo 3x2";
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}

/* Quantità: la stessa cornice della scheda prodotto, tasti da 44px */
body.woocommerce-cart .shop_table .quantity,
body.woocommerce-cart .shop_table .ux-quantity {
	display: inline-flex;
	align-items: stretch;
	height: var(--icdn-tap);
	border: 1px solid var(--icdn-border) !important;
	border-radius: var(--icdn-r) !important;
	background: var(--icdn-paper) !important;
	overflow: hidden;
	margin: 0;
}
body.woocommerce-cart .shop_table .quantity input.qty {
	height: 100% !important;
	width: 36px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	text-align: center;
	font-family: var(--icdn-font);
	font-size: 14px;
	font-weight: var(--icdn-fw-title);
	color: var(--icdn-ink);
}
body.woocommerce-cart .shop_table .quantity .button,
body.woocommerce-cart .shop_table .quantity .minus,
body.woocommerce-cart .shop_table .quantity .plus {
	height: 100% !important;
	width: 40px !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
	color: var(--icdn-ink-2) !important;
	font-family: var(--icdn-font);
	font-size: var(--icdn-fs-state);
	font-weight: var(--icdn-fw-body);
	line-height: 1;
	cursor: pointer;
}
body.woocommerce-cart .shop_table .quantity .button:hover {
	background: var(--icdn-surface) !important;
	color: var(--icdn-ink) !important;
}

/* Il prezzo di riga: subtotale grande, sotto la verifica "2 x 19,90" */
body.woocommerce-cart .shop_table .product-subtotal > .amount {
	font-size: 19px;
	font-weight: var(--icdn-fw-price);
	letter-spacing: var(--icdn-ls-price);
	color: var(--icdn-ink);
}
body.woocommerce-cart .icdn-cart-unita {
	display: block;
	font-size: var(--icdn-fs-label);
	font-weight: var(--icdn-fw-body);
	color: var(--icdn-ink-3);
	margin-top: 2px;
}
body.woocommerce-cart .icdn-cart-unita .amount {
	font-size: inherit;
	font-weight: inherit;
	color: inherit;
}

/* "Elimina": comando debole, testo e basta */
body.woocommerce-cart .shop_table .product-remove .remove {
	display: inline-block;
	width: auto !important;
	height: auto !important;
	line-height: 1.4;
	font-size: var(--icdn-fs-note) !important;
	font-weight: var(--icdn-fw-body);
	color: var(--icdn-ink-3) !important;
	background: none !important;
	border: 0 !important;
	border-radius: 0;
	padding: 0;
}
body.woocommerce-cart .shop_table .product-remove .remove:hover {
	color: var(--icdn-red) !important;
	text-decoration: underline;
}

/* Telefono: foto 68px e spazi più stretti */
@media (max-width: 849px) {
	body.woocommerce-cart .shop_table tr.cart_item {
		grid-template-columns: 68px minmax(0, 1fr) auto;
		column-gap: 11px;
		padding: 12px 0;
	}
	body.woocommerce-cart .shop_table .product-thumbnail img { width: 68px; height: 68px; }
	body.woocommerce-cart .shop_table .product-subtotal > .amount { font-size: 17px; }
	body.woocommerce-cart .icdn-cart-lista-testa__titolo { font-size: 17px; }
}

/* ===================================================================
 * 6. SOTTO LA TABELLA - comandi deboli come testo
 * "Continua con gli acquisti - Svuota carrello". Niente "Aggiorna
 * carrello": la quantità si cambia e il totale si rifà da solo.
 * =================================================================== */

body.woocommerce-cart .shop_table td.actions {
	display: flex !important;
	align-items: center;
	gap: var(--icdn-s2);
	padding: 13px 0 0 !important;
	border: 0 !important;
	background: none !important;
}
body.woocommerce-cart .shop_table td.actions button[name="update_cart"] { display: none !important; }

/* ... TRANNE a franchising e reseller (0.3.5). Per loro il plugin
   "Gestione Franchising e Reseller" spegne l'aggiornamento automatico dei
   tasti +/- e lavora a lotti: cambi le righe che vuoi e premi aggiorna una
   volta sola. Nascosto quel bottone, i +/- diventavano un vicolo cieco.
   Qui torna a video, ma vestito come il resto: in sordina finché non c'è
   niente da applicare, blu pieno quando ci sono modifiche in sospeso.
   Il plugin gli mette addosso rosso, grassetto e una pulsazione con stili
   inline: si battono solo con !important. */
body.icdn-cart-aggiorna-a-mano .shop_table td.actions button[name="update_cart"] {
	display: inline-flex !important;
	order: 3;
	align-items: center;
	justify-content: center;
	height: auto !important;
	min-height: 36px;
	margin: 0 0 0 auto !important;
	padding: 0 16px !important;
	float: none !important;
	border: 1px solid var(--icdn-border) !important;
	border-radius: var(--icdn-r) !important;
	background: var(--icdn-paper) !important;
	box-shadow: none !important;
	color: var(--icdn-ink-3) !important;
	font-family: var(--icdn-font);
	font-size: var(--icdn-fs-note) !important;
	font-weight: var(--icdn-fw-state) !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	line-height: 1.4;
	animation: none !important;
	transition: background var(--icdn-dur) var(--icdn-ease), border-color var(--icdn-dur) var(--icdn-ease), color var(--icdn-dur) var(--icdn-ease);
}
/* Niente da applicare: il bottone c'è ma non chiama. */
body.icdn-cart-aggiorna-a-mano .shop_table td.actions button[name="update_cart"]:disabled {
	opacity: .55;
	cursor: default;
}
/* Modifiche in sospeso: il plugin aggiunge .animated. Il richiamo resta,
   ma nel nostro blu invece che nel rosso pulsante. */
body.icdn-cart-aggiorna-a-mano .shop_table td.actions button[name="update_cart"].animated {
	border-color: var(--icdn-blue) !important;
	background: var(--icdn-blue) !important;
	color: #fff !important;
	opacity: 1;
}
body.icdn-cart-aggiorna-a-mano .shop_table td.actions button[name="update_cart"].animated:hover {
	border-color: var(--icdn-blue-press) !important;
	background: var(--icdn-blue-press) !important;
}
/* Da telefono la riga dei comandi va a capo: il bottone si prende il rigo. */
@media (max-width: 549px) {
	body.icdn-cart-aggiorna-a-mano .shop_table td.actions { flex-wrap: wrap; }
	body.icdn-cart-aggiorna-a-mano .shop_table td.actions button[name="update_cart"] {
		width: 100%;
		margin: 6px 0 0 !important;
	}
}

body.woocommerce-cart .shop_table td.actions .continue-shopping {
	order: 1;
	margin: 0;
	float: none;
}
body.woocommerce-cart .continue-shopping .button-continue-shopping {
	display: inline;
	height: auto;
	line-height: 1.4;
	margin: 0;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	box-shadow: none !important;
	color: var(--icdn-blue) !important;
	font-family: var(--icdn-font);
	font-size: var(--icdn-fs-note);
	font-weight: var(--icdn-fw-state);
	letter-spacing: 0;
	text-transform: none;
}
body.woocommerce-cart .continue-shopping .button-continue-shopping:hover {
	color: var(--icdn-blue-press) !important;
	text-decoration: underline;
}
body.woocommerce-cart .continue-shopping .button-continue-shopping span[aria-hidden] { display: none; }

body.woocommerce-cart .shop_table td.actions button[name="wcb2b_cart_empty"] {
	order: 2;
	height: auto;
	margin: 0;
	padding: 0;
	border: 0 !important;
	background: none !important;
	box-shadow: none !important;
	color: var(--icdn-ink-3) !important;
	font-family: var(--icdn-font);
	font-size: var(--icdn-fs-note);
	font-weight: var(--icdn-fw-body);
	letter-spacing: 0;
	text-transform: none;
	line-height: 1.4;
	cursor: pointer;
}
body.woocommerce-cart .shop_table td.actions button[name="wcb2b_cart_empty"]::before {
	content: "-";
	color: var(--icdn-border);
	margin-right: var(--icdn-s2);
	display: inline-block;
}
body.woocommerce-cart .shop_table td.actions button[name="wcb2b_cart_empty"]:hover {
	color: var(--icdn-red) !important;
	text-decoration: underline;
}

/* ===================================================================
 * 7. I PASSI DELLA CASSA, ANCHE QUI
 * Il markup è quello dei checkout-breadcrumbs di Flatsome.
 *
 * ALLINEATI ALLA CASSA IL 14/08/2026. Erano due vestiti diversi per lo
 * stesso componente, a due schermate di distanza: qui il passo corrente
 * era BLU col corpo del tema, alla cassa era SCURO a 17px/600 senza
 * maiuscole. Il cliente li vede a due secondi l'uno dall'altro.
 *
 * Vince la versione della cassa, e non è un sorteggio: il passo corrente
 * NON è cliccabile (Flatsome gli mette no-click), mentre gli altri due
 * sono link veri. Il blu nel sistema vuol dire "azione, ci puoi cliccare",
 * quindi colorare di blu l'unico che non fa niente è il contrario di
 * quello che serve. Scuro = "sei qui", grigio = "ci puoi tornare".
 *
 * Se preferisci il blu si cambia una riga, ma va cambiata anche nella
 * sezione 2 di checkout.css, se no tornano a divergere.
 * =================================================================== */

body.woocommerce-cart .icdn-cart-passi { padding: 14px 0 0; }
body.woocommerce-cart .icdn-cart-passi .page-title-inner { min-height: 0; padding: 0; }

body.woocommerce-cart .icdn-cart-passi .checkout-breadcrumbs {
	font-family: var(--icdn-font);
	font-size: var(--icdn-fs-state);
	font-weight: var(--icdn-fw-title);
	letter-spacing: 0;
	text-transform: none;
}
body.woocommerce-cart .icdn-cart-passi .checkout-breadcrumbs a {
	color: var(--icdn-ink-3);
	font-weight: inherit;
}
body.woocommerce-cart .icdn-cart-passi .checkout-breadcrumbs a.current,
body.woocommerce-cart .icdn-cart-passi .checkout-breadcrumbs a:hover { color: var(--icdn-ink); }
body.woocommerce-cart .icdn-cart-passi .checkout-breadcrumbs .divider { color: var(--icdn-ink-3); opacity: 1; }

/* La parola corta vive solo da telefono. */
body.woocommerce-cart .icdn-cart-passi .icdn-passo__corto { display: none; }

/* Telefono: i tre passi si vedono e si toccano lo stesso (il tema li
 * nasconde sotto i 550px). Parole corte e riga stretta, altrimenti
 * "Dettagli Checkout" e "Ordine Completato" non ci stanno. */
@media (max-width: 549px) {
	body.woocommerce-cart .icdn-cart-passi .checkout-breadcrumbs {
		font-size: var(--icdn-fs-label);
		flex-wrap: nowrap;
		white-space: nowrap;
		padding: 8px 0;
	}
	body.woocommerce-cart .icdn-cart-passi .icdn-passo__lungo { display: none; }
	body.woocommerce-cart .icdn-cart-passi .icdn-passo__corto { display: inline; }
	body.woocommerce-cart .icdn-cart-passi .breadcrumb-step { margin: 0 .35em 0 0; }
	body.woocommerce-cart .icdn-cart-passi .checkout-breadcrumbs .divider { margin: 0 .3em; }
}

/* ===================================================================
 * 8. IL BANNER GIALLO DELLA PROMOZIONE - sotto la lista
 * =================================================================== */

body.woocommerce-cart .icdn-cart-banner {
	margin-top: 20px;
	background: var(--icdn-promo-bg);
	border-radius: var(--icdn-r);
	padding: 15px 18px;
	display: flex;
	align-items: center;
	gap: var(--icdn-s4);
}
body.woocommerce-cart .icdn-cart-banner__kicker {
	flex: none;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--icdn-promo-ink);
	background: rgba(255, 255, 255, .6);
	border: 1px solid rgba(92, 74, 0, .22);
	border-radius: var(--icdn-r-pill);
	padding: 4px 9px;
	white-space: nowrap;
}
body.woocommerce-cart .icdn-cart-banner__testo { flex: 1; min-width: 0; }
body.woocommerce-cart .icdn-cart-banner__titolo {
	font-size: var(--icdn-fs-state);
	font-weight: var(--icdn-fw-title);
	line-height: 1.28;
	color: var(--icdn-promo-ink);
	text-wrap: pretty;
}
body.woocommerce-cart .icdn-cart-banner__sotto {
	font-size: var(--icdn-fs-note);
	line-height: 1.4;
	color: var(--icdn-promo-ink-2);
	margin-top: 3px;
	text-wrap: pretty;
}
body.woocommerce-cart .icdn-cart-banner__btn {
	flex: none;
	text-align: center;
	font-size: var(--icdn-fs-note);
	font-weight: var(--icdn-fw-title);
	color: var(--icdn-promo-ink);
	background: rgba(255, 255, 255, .7);
	border: 1px solid rgba(92, 74, 0, .28);
	border-radius: var(--icdn-r);
	padding: 8px 13px;
}
body.woocommerce-cart .icdn-cart-banner__btn:hover { background: var(--icdn-paper); color: var(--icdn-promo-ink); }

@media (max-width: 849px) {
	body.woocommerce-cart .icdn-cart-banner {
		margin-top: 16px;
		padding: 12px 13px;
		flex-wrap: wrap;
		gap: 9px;
	}
	body.woocommerce-cart .icdn-cart-banner__kicker {
		order: -1;
		width: 100%;
		background: none;
		border: 0;
		border-radius: 0;
		padding: 0;
	}
	body.woocommerce-cart .icdn-cart-banner__btn { flex: 1 0 100%; width: 100%; }
}

/* ===================================================================
 * 9. IL RIEPILOGO - la scatola e l'ordine dei blocchi
 * =================================================================== */

body.woocommerce-cart .cart-sidebar {
	display: flex;
	flex-direction: column;
	border: 1px solid var(--icdn-border);
	border-radius: var(--icdn-r);
	background: var(--icdn-paper);
	padding: var(--icdn-s4);
}

/* Tutto ciò che non conosciamo (Scalapay, messaggi PayPal, blocchi di
   altri plugin) cade nella fascia sopra il bottone. Specificità tenuta
   bassa apposta: le regole d'ordine qui sotto devono vincere. */
body.woocommerce-cart .cart-sidebar > *,
body.woocommerce-cart .cart_totals > * { order: 44; }
body.woocommerce-cart .cart_totals tr { order: 44; }

body.woocommerce-cart .cart_totals { display: contents; }
body.woocommerce-cart .cart_totals > h2 { display: none; }
body.woocommerce-cart .cart_totals > table:first-of-type { display: none !important; }
body.woocommerce-cart .cart_totals > table.shop_table,
body.woocommerce-cart .cart_totals > table.shop_table > tbody { display: contents; }
body.woocommerce-cart .cart_totals .shop_table td::before { display: none !important; }

/* L'ordine del mockup */
body.woocommerce-cart .cart_totals tr.cart-subtotal { order: 10; }
body.woocommerce-cart .cart_totals tr.icdn-cart-sconto-f3x2 { order: 11; }
body.woocommerce-cart .cart_totals tr.cart-discount { order: 12; }
body.woocommerce-cart .cart_totals tr.fee { order: 13; }
body.woocommerce-cart .cart_totals tr.icdn-cart-spedizione-riga { order: 14; }
body.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals { order: 15; }
body.woocommerce-cart .cart_totals tr.order-total { order: 16; }
body.woocommerce-cart .cart_totals tr.icdn-cart-iva { order: 17; }
body.woocommerce-cart .cart_totals > .icdn-cart-soglia { order: 20; }
body.woocommerce-cart .cart_totals tr.icdn-cart-spediamo-testa { order: 29; }
body.woocommerce-cart .cart_totals tr.icdn-cart-spediamo-testa ~ tr.woocommerce-shipping-totals { order: 30; }
body.woocommerce-cart .cart_totals tr.icdn-cart-indirizzo-cambia { order: 31; }
body.woocommerce-cart .cart_totals tr.icdn-cart-spediamo-nota { order: 32; }
body.woocommerce-cart .cart_totals tr.icdn-cart-consegna { order: 34; }
body.woocommerce-cart .cart_totals tr.icdn-cart-codice { order: 38; }
body.woocommerce-cart .cart_totals tr.icdn-cart-codice-box { order: 39; }
body.woocommerce-cart .cart-sidebar > form.ux-cart-coupon { order: 40; }
body.woocommerce-cart .cart_totals > .wc-proceed-to-checkout { order: 46; }

/* Le righe di conto: etichetta a sinistra, valore a destra */
body.woocommerce-cart .cart_totals tr.cart-subtotal,
body.woocommerce-cart .cart_totals tr.icdn-cart-sconto-f3x2,
body.woocommerce-cart .cart_totals tr.cart-discount,
body.woocommerce-cart .cart_totals tr.fee,
body.woocommerce-cart .cart_totals tr.icdn-cart-spedizione-riga {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--icdn-s3);
	padding: 5px 0;
}
body.woocommerce-cart .cart_totals .shop_table th,
body.woocommerce-cart .cart_totals .shop_table td,
body.woocommerce-cart .cart_totals tr.icdn-cart-spedizione-riga th,
body.woocommerce-cart .cart_totals tr.icdn-cart-spedizione-riga td {
	font-family: var(--icdn-font);
	border: 0 !important;
	padding: 0 !important;
	background: none !important;
	text-transform: none;
	letter-spacing: 0;
}
body.woocommerce-cart .cart_totals tr.cart-subtotal th,
body.woocommerce-cart .cart_totals tr.icdn-cart-sconto-f3x2 th,
body.woocommerce-cart .cart_totals tr.cart-discount th,
body.woocommerce-cart .cart_totals tr.fee th,
body.woocommerce-cart .cart_totals tr.icdn-cart-spedizione-riga th {
	font-size: var(--icdn-fs-note);
	font-weight: var(--icdn-fw-body);
	color: var(--icdn-ink-2);
	text-wrap: pretty;
}

/* Il subtotale è il numero che si legge per primo */
body.woocommerce-cart .cart_totals tr.cart-subtotal td { text-align: right; }
body.woocommerce-cart .cart_totals tr.cart-subtotal td .amount {
	font-size: var(--icdn-fs-title);
	font-weight: var(--icdn-fw-price);
	letter-spacing: var(--icdn-ls-price);
	line-height: 1.05;
	color: var(--icdn-ink);
	white-space: nowrap;
}

/* Gli sconti sono rossi, come il prezzo scontato della scheda */
body.woocommerce-cart .cart_totals tr.icdn-cart-sconto-f3x2 td,
body.woocommerce-cart .cart_totals tr.cart-discount td,
body.woocommerce-cart .cart_totals tr.fee td {
	font-size: 14px;
	font-weight: var(--icdn-fw-title);
	color: var(--icdn-red);
	white-space: nowrap;
	text-align: right;
}
body.woocommerce-cart .cart_totals tr.icdn-cart-sconto-f3x2 td .amount,
body.woocommerce-cart .cart_totals tr.cart-discount td .amount,
body.woocommerce-cart .cart_totals tr.fee td .amount { color: var(--icdn-red); font-size: inherit; font-weight: inherit; }
body.woocommerce-cart .cart_totals tr.cart-discount .woocommerce-remove-coupon { display: none; }

/* La spedizione detta piano */
body.woocommerce-cart .cart_totals tr.icdn-cart-spedizione-riga td {
	font-size: 14px;
	font-weight: var(--icdn-fw-state);
	color: var(--icdn-ink-2);
	text-align: right;
}
body.woocommerce-cart .icdn-cart-spedizione-riga__gratis { color: var(--icdn-green); font-weight: var(--icdn-fw-state); }

/* La riga nativa della spedizione (senza indirizzo: "Si calcola alla cassa") */
body.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals { display: block; }
body.woocommerce-cart .cart_totals .shipping__inner { display: block; padding: 0 !important; }
body.woocommerce-cart .cart_totals .shipping__table,
body.woocommerce-cart .cart_totals .shipping__table tbody { display: block; width: 100%; }
body.woocommerce-cart .cart_totals .shipping__table > tbody > tr:first-child,
body.woocommerce-cart .cart_totals .shipping__table > tr:first-child {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--icdn-s3);
	padding: 5px 0;
}
body.woocommerce-cart .cart_totals .shipping__table th {
	font-size: var(--icdn-fs-note);
	font-weight: var(--icdn-fw-body);
	color: var(--icdn-ink-2);
}
body.woocommerce-cart .cart_totals .shipping__table td {
	font-size: var(--icdn-fs-note);
	font-weight: var(--icdn-fw-body);
	color: var(--icdn-ink-2);
	text-align: right;
}

/* Con l'indirizzo: la stessa riga diventa la sezione "Come lo spediamo" */
body.woocommerce-cart .cart_totals tr.icdn-cart-spediamo-testa { display: block; padding: 11px 0 0; margin-top: var(--icdn-s3); border-top: 1px solid var(--icdn-border-soft) !important; }
body.woocommerce-cart .cart_totals tr.icdn-cart-spediamo-testa td {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: var(--icdn-ls-label);
	text-transform: uppercase;
	color: var(--icdn-ink-3);
}
body.woocommerce-cart .cart_totals tr.icdn-cart-spediamo-testa ~ tr.woocommerce-shipping-totals { padding-top: 7px; }
body.woocommerce-cart .cart_totals tr.icdn-cart-spediamo-testa ~ tr.woocommerce-shipping-totals .shipping__table > tbody > tr:first-child th,
body.woocommerce-cart .cart_totals tr.icdn-cart-spediamo-testa ~ tr.woocommerce-shipping-totals .shipping__table > tr:first-child th { display: none; }
body.woocommerce-cart .cart_totals tr.icdn-cart-spediamo-testa ~ tr.woocommerce-shipping-totals .shipping__table > tbody > tr:first-child,
body.woocommerce-cart .cart_totals tr.icdn-cart-spediamo-testa ~ tr.woocommerce-shipping-totals .shipping__table > tr:first-child { display: block; padding: 0; }
body.woocommerce-cart .cart_totals tr.icdn-cart-spediamo-testa ~ tr.woocommerce-shipping-totals .shipping__table td { text-align: left; }

/* LE SCHEDE DEI CORRIERI NON SI VESTONO PIÙ QUI (24/08/2026).
   Le veste icdn-design-system, assets/spedizione.css, con le stesse regole
   della cassa: Adelmo le vuole uguali nei due posti, coi loghi dei corrieri.
   Qui restava la forma delle "schede minime" del mockup del 31/07 più le
   classi .icdn-cart-metodo__*, che il PHP non stampa più. */


/* L'indirizzo e il suo Cambia */
body.woocommerce-cart .cart_totals .woocommerce-shipping-destination {
	margin: 10px 0 0;
	background: var(--icdn-surface);
	border: 1px solid var(--icdn-border);
	border-radius: var(--icdn-r);
	padding: 9px 11px;
	font-size: var(--icdn-fs-note);
	line-height: 1.4;
	color: var(--icdn-ink);
	text-wrap: pretty;
}
body.woocommerce-cart .cart_totals tr.icdn-cart-indirizzo-cambia { display: block; text-align: right; padding: 4px 0 0; }
body.woocommerce-cart .cart_totals tr.icdn-cart-indirizzo-cambia a {
	font-size: var(--icdn-fs-note);
	font-weight: var(--icdn-fw-title);
	color: var(--icdn-blue);
}
body.woocommerce-cart .cart_totals tr.icdn-cart-spediamo-nota { display: block; padding: 7px 0 0; }
body.woocommerce-cart .cart_totals tr.icdn-cart-spediamo-nota td {
	font-size: var(--icdn-fs-label);
	line-height: 1.45;
	color: var(--icdn-ink-3);
	text-wrap: pretty;
}

/* Il totale: l'unica riga che alza la voce */
body.woocommerce-cart .cart_totals tr.order-total {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--icdn-s3);
	margin-top: 7px;
	padding: 9px 0 0;
	border-top: 1px solid var(--icdn-border-soft) !important;
}
body.woocommerce-cart .cart_totals tr.order-total th {
	font-size: 14px;
	font-weight: var(--icdn-fw-title);
	color: var(--icdn-ink);
}
body.woocommerce-cart .cart_totals tr.order-total td { text-align: right; }
body.woocommerce-cart .cart_totals tr.order-total td > strong .amount,
body.woocommerce-cart .cart_totals tr.order-total .amount {
	font-size: 24px;
	font-weight: var(--icdn-fw-price);
	letter-spacing: var(--icdn-ls-price);
	color: var(--icdn-ink);
	white-space: nowrap;
}
/* La riga IVA nativa dice "(inclusi 3,59€ 22)" col nome dell'aliquota
   monco: la sostituisce la nostra riga qui sotto. */
body.woocommerce-cart .cart_totals tr.order-total .includes_tax { display: none; }

body.woocommerce-cart .cart_totals tr.icdn-cart-iva { display: block; padding: 4px 0 0; }
body.woocommerce-cart .cart_totals tr.icdn-cart-iva td {
	font-size: var(--icdn-fs-label);
	line-height: 1.45;
	color: var(--icdn-ink-3);
	text-wrap: pretty;
	text-align: left !important;
}
/* I blocchi di testo del riepilogo restano a sinistra anche dove il
   tema allinea a destra le celle dei totali. */
body.woocommerce-cart .cart_totals tr.icdn-cart-spediamo-nota td,
body.woocommerce-cart .cart_totals tr.icdn-cart-spediamo-testa td,
body.woocommerce-cart .cart_totals tr.icdn-cart-codice td,
body.woocommerce-cart .cart_totals tr.icdn-cart-codice-box td { text-align: left !important; }

/* ===================================================================
 * 10. LA SOGLIA DELLA SPEDIZIONE GRATUITA - due varianti
 * =================================================================== */

body.woocommerce-cart .icdn-cart-soglia {
	margin-top: 11px;
	background: var(--icdn-surface);
	border: 1px solid var(--icdn-border);
	border-radius: var(--icdn-r);
	padding: 10px 11px;
}
body.woocommerce-cart .icdn-cart-soglia--ok {
	background: var(--icdn-green-bg);
	border-color: var(--icdn-green-bd);
	padding: 9px 11px;
}
body.woocommerce-cart .icdn-cart-soglia__riga { display: flex; align-items: center; gap: var(--icdn-s2); }
body.woocommerce-cart .icdn-cart-soglia__spunta {
	width: 18px;
	height: 18px;
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
body.woocommerce-cart .icdn-cart-soglia__spunta::before {
	content: "";
	display: block;
	width: 12px;
	height: 6px;
	border-left: 2.5px solid var(--icdn-green);
	border-bottom: 2.5px solid var(--icdn-green);
	transform: rotate(-45deg);
	margin-top: -3px;
}
body.woocommerce-cart .icdn-cart-soglia__titolo {
	font-size: var(--icdn-fs-note);
	font-weight: var(--icdn-fw-title);
	color: var(--icdn-green);
}
body.woocommerce-cart .icdn-cart-soglia__testo {
	font-size: var(--icdn-fs-note);
	color: var(--icdn-ink);
	text-wrap: pretty;
}
body.woocommerce-cart .icdn-cart-soglia__testo .amount { font-weight: var(--icdn-fw-price); color: var(--icdn-ink); font-size: inherit; }
body.woocommerce-cart .icdn-cart-soglia__barra {
	height: 6px;
	border-radius: var(--icdn-r-pill);
	background: #e2e9f0;
	margin-top: var(--icdn-s2);
	overflow: hidden;
}
body.woocommerce-cart .icdn-cart-soglia__pieno {
	display: block;
	height: 100%;
	background: var(--icdn-blue);
	border-radius: var(--icdn-r-pill);
	transition: width var(--icdn-dur) var(--icdn-ease);
}
body.woocommerce-cart .icdn-cart-soglia__scala {
	display: flex;
	justify-content: space-between;
	font-size: 10px;
	color: var(--icdn-ink-3);
	margin-top: var(--icdn-s1);
}
body.woocommerce-cart .icdn-cart-soglia__scala .amount { font-size: inherit; color: inherit; }
body.woocommerce-cart .icdn-cart-soglia__nota {
	font-size: 10px;
	line-height: 1.4;
	color: var(--icdn-ink-3);
	margin-top: var(--icdn-s1);
}

/* ===================================================================
 * 11. CONSEGNA, CODICE PROMOZIONALE
 * =================================================================== */

/* Il riquadro della consegna: in evidenza, a sinistra, solo la data.
   "Consegna prevista:" sopra, "tra il X e il Y" sotto, più grande. */
body.woocommerce-cart .cart_totals tr.icdn-cart-consegna {
	display: block;
	margin-top: 11px;
}
body.woocommerce-cart .cart_totals tr.icdn-cart-consegna td { text-align: left !important; }
body.woocommerce-cart .icdn-cart-consegna__box {
	background: var(--icdn-surface);
	border: 1px solid var(--icdn-border);
	border-radius: var(--icdn-r);
	padding: 10px var(--icdn-s3);
	text-align: left;
}
body.woocommerce-cart .icdn-cart-consegna__k {
	font-size: var(--icdn-fs-note);
	font-weight: var(--icdn-fw-title);
	color: var(--icdn-ink);
	text-transform: none;
	letter-spacing: 0;
}
body.woocommerce-cart .icdn-cart-consegna__v {
	font-size: var(--icdn-fs-state);
	font-weight: var(--icdn-fw-title);
	line-height: var(--icdn-lh-state);
	color: var(--icdn-ink);
	margin-top: 2px;
	text-wrap: pretty;
}

body.woocommerce-cart .cart_totals tr.icdn-cart-codice { display: block; margin-top: 11px; }
body.woocommerce-cart .cart_totals tr.icdn-cart-codice.icdn-nascosto { display: none; }
body.woocommerce-cart .icdn-cart-codice-apri {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	border: 1px solid var(--icdn-border);
	border-radius: var(--icdn-r);
	padding: 11px var(--icdn-s3);
	font-size: var(--icdn-fs-note);
	font-weight: var(--icdn-fw-state);
	color: var(--icdn-ink);
}
body.woocommerce-cart .icdn-cart-codice-apri:hover { border-color: var(--icdn-blue); color: var(--icdn-ink); }
body.woocommerce-cart .icdn-cart-codice-apri__segno { font-size: 16px; color: var(--icdn-ink-3); line-height: 1; }

body.woocommerce-cart .cart_totals tr.icdn-cart-codice-box { display: block; margin-top: 11px; }
body.woocommerce-cart .icdn-cart-codice-box__dentro {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 10px;
	background: #fff8db;
	border: 1px solid #efd97a;
	border-radius: var(--icdn-r);
	padding: 10px var(--icdn-s3);
}
body.woocommerce-cart .icdn-cart-codice-box__titolo {
	font-size: var(--icdn-fs-note);
	font-weight: var(--icdn-fw-title);
	color: var(--icdn-promo-ink);
}
body.woocommerce-cart .icdn-cart-codice-box__sotto {
	font-size: var(--icdn-fs-label);
	line-height: 1.4;
	color: var(--icdn-promo-ink-2);
	margin-top: 2px;
}
body.woocommerce-cart .icdn-cart-codice-box__rimuovi {
	flex: none;
	border: 0;
	background: none;
	padding: 0;
	margin: 0;
	font-family: var(--icdn-font);
	font-size: var(--icdn-fs-note);
	color: var(--icdn-ink-3);
	cursor: pointer;
}
body.woocommerce-cart .icdn-cart-codice-box__rimuovi:hover { color: var(--icdn-red); text-decoration: underline; }

/* Il modulo del codice: chiuso finché non serve */
body.woocommerce-cart .cart-sidebar > form.ux-cart-coupon { display: none; margin: 11px 0 0; }
body.woocommerce-cart .cart-sidebar > form.ux-cart-coupon.icdn-aperto { display: block; }
body.woocommerce-cart .ux-cart-coupon .widget-title { display: none; }
body.woocommerce-cart .ux-cart-coupon .coupon { display: flex; gap: var(--icdn-s2); flex-wrap: wrap; }
body.woocommerce-cart .ux-cart-coupon input.input-text {
	flex: 1 1 140px;
	height: var(--icdn-tap);
	margin: 0;
	padding: 0 var(--icdn-s3);
	border: 1px solid var(--icdn-border);
	border-radius: var(--icdn-r);
	background: var(--icdn-paper);
	box-shadow: none;
	font-family: var(--icdn-font);
	font-size: var(--icdn-fs-note);
	color: var(--icdn-ink);
}
body.woocommerce-cart .ux-cart-coupon input.input-text:focus {
	border-color: var(--icdn-blue);
	outline: none;
}
body.woocommerce-cart .ux-cart-coupon .button {
	flex: none;
	height: var(--icdn-tap);
	margin: 0;
	padding: 0 var(--icdn-s3);
	border: 1px solid var(--icdn-blue) !important;
	border-radius: var(--icdn-r) !important;
	background: var(--icdn-paper) !important;
	box-shadow: none !important;
	color: var(--icdn-blue) !important;
	font-family: var(--icdn-font);
	font-size: var(--icdn-fs-note);
	font-weight: var(--icdn-fw-title);
	letter-spacing: 0;
	text-transform: none;
}
body.woocommerce-cart .ux-cart-coupon .button:hover {
	background: var(--icdn-blue) !important;
	color: var(--icdn-paper) !important;
}

/* Lo spazio riservato ai messaggi che arrivano via JS */
body.woocommerce-cart .cart_totals .ppcp-messages { min-height: 34px; margin-top: 11px; }

/* ===================================================================
 * 12. IL BOTTONE E QUELLO CHE GLI STA SOTTO
 * =================================================================== */

body.woocommerce-cart .wc-proceed-to-checkout { margin: 11px 0 0; padding: 0; }
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: var(--icdn-control-h);
	margin: 0;
	padding: 0 var(--icdn-s4);
	border: 0 !important;
	border-radius: var(--icdn-r) !important;
	background-color: var(--icdn-blue) !important;
	background-image: none !important;
	box-shadow: none !important;
	color: var(--icdn-paper) !important;
	font-family: var(--icdn-font);
	font-size: var(--icdn-fs-state) !important;
	font-weight: var(--icdn-fw-title);
	letter-spacing: 0;
	text-transform: none;
	line-height: 1;
	transition: background-color var(--icdn-dur) var(--icdn-ease);
}
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover {
	background-color: var(--icdn-blue-press) !important;
}
/* Via l'icona del carrello che il vecchio CSS del Customizer infila nel bottone */
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button::before,
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button::after {
	display: none !important;
	content: none !important;
}

/* Il badge dei portafogli ripete i loghi qui sotto: via, come sulla scheda */
body.woocommerce-cart .icdn-wallet-badge { display: none !important; }

/* Fascia dei loghi (dalla 0.1.0) */
body.woocommerce-cart .icdn-cart-pagamenti {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	min-width: 0;
	gap: var(--icdn-s2);
	margin-top: var(--icdn-s3);
}
body.woocommerce-cart .icdn-cart-pagamenti__riga {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	min-width: 0;
	gap: var(--icdn-s2) 6px;
}
body.woocommerce-cart .icdn-cart-pagamenti__logo {
	height: 20px;
	width: auto;
	max-width: 100%;
	display: block;
	flex: 0 1 auto;
	min-width: 0;
	object-fit: contain;
}
body.woocommerce-cart .icdn-cart-pagamenti__sicuri {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--icdn-s1);
	font-size: var(--icdn-fs-label);
	font-weight: var(--icdn-fw-state);
	color: var(--icdn-ink-3);
}

/* Le prove di fiducia della scheda prodotto */
body.woocommerce-cart .icdn-cart-fiducia {
	display: grid;
	gap: 5px;
	margin-top: 11px;
	padding-top: 10px;
	border-top: 1px solid var(--icdn-border-soft);
	font-size: var(--icdn-fs-note);
	line-height: 1.45;
}
body.woocommerce-cart .icdn-cart-fiducia__k { font-weight: var(--icdn-fw-title); color: var(--icdn-ink); }
body.woocommerce-cart .icdn-cart-fiducia__v { color: var(--icdn-ink-3); }

body.woocommerce-cart .icdn-cart-assistenza {
	font-size: var(--icdn-fs-note);
	color: var(--icdn-ink-2);
	margin-top: 9px;
}
body.woocommerce-cart .icdn-cart-assistenza a {
	font-weight: var(--icdn-fw-state);
	color: var(--icdn-blue);
}

@media (max-width: 849px) {
	body.woocommerce-cart .cart-sidebar { padding: 13px 13px 14px; }
	body.woocommerce-cart .cart_totals tr.cart-subtotal td .amount { font-size: 24px; }
	body.woocommerce-cart .cart_totals tr.order-total .amount { font-size: 22px; }
}

/* ===================================================================
 * 13. LA BARRA CHE RIENTRA (icdn-cart-sticky-cta)
 * Col conto degli articoli e il totale accanto al bottone.
 * =================================================================== */

body.woocommerce-cart .icdn-cart-cta-bar {
	display: flex;
	align-items: center;
	gap: var(--icdn-s3);
	padding: 10px 14px;
	background: var(--icdn-paper) !important;
	border-top: 1px solid var(--icdn-border) !important;
	box-shadow: var(--icdn-shadow) !important;
}
body.woocommerce-cart .icdn-cart-cta-info { flex: none; }
body.woocommerce-cart .icdn-cart-cta-info__k {
	display: block;
	font-size: 10px;
	font-weight: var(--icdn-fw-title);
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--icdn-ink-3);
}
body.woocommerce-cart .icdn-cart-cta-info__v {
	display: block;
	font-size: 18px;
	font-weight: var(--icdn-fw-price);
	letter-spacing: var(--icdn-ls-price);
	color: var(--icdn-ink);
}
body.woocommerce-cart .icdn-cart-cta-btn {
	flex: 1;
	height: 46px !important;
	border: 0 !important;
	border-radius: var(--icdn-r) !important;
	background: var(--icdn-blue) !important;
	color: var(--icdn-paper) !important;
	font-family: var(--icdn-font) !important;
	font-size: var(--icdn-fs-body) !important;
	font-weight: var(--icdn-fw-title) !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	box-shadow: none !important;
}

/* [0.4.0] Franchising e reseller con quantità cambiate e non applicate:
 * la barra resta a video anche se il bottone vero di "Procedi" è in
 * vista, e al posto di "Procedi con l'ordine" (che col totale vecchio
 * porterebbe alla cassa senza le modifiche) offre "Aggiorna carrello".
 * Il bottone lo aggiunge cart.js, la classe della barra pure. Da
 * scrivania la barra non esiste (icdn-cart-sticky-cta la spegne). */
body.woocommerce-cart .icdn-cart-cta-aggiorna { display: none; }
body.woocommerce-cart .icdn-cart-cta-bar.icdn-cart-cta-bar--aggiorna { transform: translateY(0); }
body.woocommerce-cart .icdn-cart-cta-bar--aggiorna .icdn-cart-cta-btn { display: none !important; }
body.woocommerce-cart .icdn-cart-cta-bar--aggiorna .icdn-cart-cta-aggiorna {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 1;
	min-width: 0;
	height: 46px !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 12px !important;
	border: 0 !important;
	border-radius: var(--icdn-r) !important;
	background: var(--icdn-blue) !important;
	color: var(--icdn-paper) !important;
	font-family: var(--icdn-font) !important;
	font-size: var(--icdn-fs-body) !important;
	font-weight: var(--icdn-fw-title) !important;
	line-height: 1.2 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	box-shadow: none !important;
	cursor: pointer;
}
body.woocommerce-cart .icdn-cart-cta-bar--aggiorna .icdn-cart-cta-aggiorna:hover {
	background: var(--icdn-blue-press) !important;
}
body.woocommerce-cart .icdn-cart-cta-bar--aggiorna .icdn-cart-cta-aggiorna:disabled {
	opacity: .7;
	cursor: default;
}

/* ===================================================================
 * 14. CARRELLO VUOTO
 * =================================================================== */

body.woocommerce-cart .wc-empty-cart-message,
body.woocommerce-cart p.return-to-shop { display: none; }

body.woocommerce-cart .icdn-cart-vuoto { padding-top: 10px; }
body.woocommerce-cart .icdn-cart-vuoto__titolo {
	font-family: var(--icdn-font);
	font-size: var(--icdn-fs-title);
	font-weight: var(--icdn-fw-title);
	letter-spacing: var(--icdn-ls-title);
	color: var(--icdn-ink);
}
body.woocommerce-cart .icdn-cart-vuoto__sotto {
	font-size: var(--icdn-fs-body);
	line-height: 1.5;
	color: var(--icdn-ink-2);
	margin: 6px 0 0;
	max-width: 48ch;
}
body.woocommerce-cart .icdn-cart-vuoto__cta {
	display: inline-block;
	height: var(--icdn-control-h);
	line-height: var(--icdn-control-h);
	margin-top: 14px;
	padding: 0 30px;
	border-radius: var(--icdn-r);
	background: var(--icdn-blue);
	color: var(--icdn-paper);
	font-size: var(--icdn-fs-state);
	font-weight: var(--icdn-fw-title);
	transition: background-color var(--icdn-dur) var(--icdn-ease);
}
body.woocommerce-cart .icdn-cart-vuoto__cta:hover { background: var(--icdn-blue-press); color: var(--icdn-paper); }
body.woocommerce-cart .icdn-cart-vuoto__link {
	display: flex;
	align-items: center;
	gap: var(--icdn-s2);
	margin-top: var(--icdn-s3);
}
body.woocommerce-cart .icdn-cart-link-forte {
	font-size: var(--icdn-fs-note);
	font-weight: var(--icdn-fw-state);
	color: var(--icdn-blue);
}
body.woocommerce-cart .icdn-cart-link-debole {
	font-size: var(--icdn-fs-note);
	color: var(--icdn-ink-3);
}
body.woocommerce-cart .icdn-cart-sep { font-size: var(--icdn-fs-note); color: var(--icdn-border); }

/* I più venduti di icdn-home (0.4.1). Il carrello vuoto centra il testo e
 * l'occhiello lo ereditava, finendo spostato rispetto al titolo: la testata
 * torna a sinistra, le card restano come sono. */
body.woocommerce-cart .icdnh-altrove--carrello .icdn-car-head,
body.woocommerce-cart .icdnh-altrove--carrello > .icdn-car > .sub { text-align: left; }

body.woocommerce-cart .icdn-cart-vuoto__aiuto {
	margin-top: var(--icdn-s6);
	border: 1px solid var(--icdn-border);
	border-radius: var(--icdn-r);
	padding: 14px var(--icdn-s4);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}
body.woocommerce-cart .icdn-cart-vuoto__aiuto-titolo {
	font-size: var(--icdn-fs-body);
	font-weight: var(--icdn-fw-title);
	color: var(--icdn-ink);
}
body.woocommerce-cart .icdn-cart-vuoto__aiuto-sotto {
	font-size: var(--icdn-fs-note);
	color: var(--icdn-ink-2);
	margin-top: 2px;
	max-width: 52ch;
}
body.woocommerce-cart .icdn-cart-vuoto__aiuto-btn {
	flex: none;
	font-size: var(--icdn-fs-note);
	font-weight: var(--icdn-fw-title);
	color: var(--icdn-ink);
	border: 1px solid var(--icdn-border);
	border-radius: var(--icdn-r);
	padding: 9px 14px;
}
body.woocommerce-cart .icdn-cart-vuoto__aiuto-btn:hover { border-color: var(--icdn-blue); color: var(--icdn-blue); }

@media (max-width: 849px) {
	body.woocommerce-cart .icdn-cart-vuoto__cta {
		display: block;
		width: 100%;
		text-align: center;
		padding: 0;
	}
	body.woocommerce-cart .icdn-cart-vuoto__aiuto {
		flex-direction: column;
		align-items: flex-start;
	}
}

/* ===================================================================
 * 15. SOTTO TUTTO - il carosello upsell spostato a tutta larghezza
 * =================================================================== */

body.woocommerce-cart .upsell-carosello { margin-top: var(--icdn-s7); }

@media (max-width: 849px) {
	body.woocommerce-cart .upsell-carosello { margin-top: var(--icdn-s5); }
}

/* ===================================================================
 * 16. TELEFONO: IL RIEPILOGO MINUTO E LA LISTA CHE CI STA DIETRO
 * (0.2.6, rifatto nella 0.2.7 su richiesta di Adelmo)
 * Chiuso, un rigo per prodotto: foto 32px, nome, quantità, prezzo di
 * riga, e sotto l'etichetta che serve (omaggio 3x2, oppure il badge di
 * disponibilità nei carrelli misti). Il prezzo pieno resta barrato
 * quando il prodotto è in offerta. "Vedi e modifica" apre le righe
 * intere, quelle da modificare, e la lista minuta si toglie di mezzo.
 *
 * Da scrivania non esiste: lì le due colonne ci stanno.
 * La marca html.icdn-cart-js la scrive il plugin in <head>: senza
 * JavaScript il blocco resta nascosto e la lista NON si chiude mai
 * (nessun vicolo cieco).
 * =================================================================== */

body.woocommerce-cart .icdn-cart-mini { display: none; }

body.woocommerce-cart .icdn-cart-mini__lista {
	margin: var(--icdn-s3) 0 0;
	padding: 4px 10px;
	list-style: none;
	border: 1px solid var(--icdn-border);
	border-radius: var(--icdn-r);
	background: var(--icdn-paper);
}
body.woocommerce-cart .icdn-cart-mini__riga {
	display: grid;
	grid-template-columns: 32px minmax(0, 1fr) auto auto;
	column-gap: 9px;
	row-gap: 2px;
	align-items: center;
	margin: 0;
	padding: 7px 0;
	border-bottom: 1px solid var(--icdn-border-soft);
	list-style: none;
}
body.woocommerce-cart .icdn-cart-mini__riga:last-child { border-bottom: 0; }

/* Quando i prodotti sono più di sei, quanti restano fuori si dice. */
body.woocommerce-cart .icdn-cart-mini__resto {
	margin: 0;
	padding: 7px 0 2px 41px;
	list-style: none;
	font-size: var(--icdn-fs-note);
	color: var(--icdn-ink-3);
}

body.woocommerce-cart .icdn-cart-mini__foto {
	grid-row: 1 / span 2;
	width: 32px;
	height: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	border: 1px solid var(--icdn-border);
	border-radius: var(--icdn-r);
	background: var(--icdn-paper);
}
body.woocommerce-cart .icdn-cart-mini__foto img {
	max-width: 84%;
	max-height: 84%;
	width: auto;
	height: auto;
	margin: 0;
}

/* Il nome sta su un rigo solo: i nostri nomi sono lunghissimi e a capo
   farebbero saltare l'allineamento di quantità e prezzo. */
body.woocommerce-cart .icdn-cart-mini__nome {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-size: var(--icdn-fs-note);
	font-weight: var(--icdn-fw-state);
	line-height: 1.3;
	color: var(--icdn-ink);
}
body.woocommerce-cart .icdn-cart-mini__q {
	flex: none;
	font-size: var(--icdn-fs-note);
	color: var(--icdn-ink-3);
	font-variant-numeric: tabular-nums;
}
body.woocommerce-cart .icdn-cart-mini__prezzo {
	display: flex;
	align-items: baseline;
	gap: 5px;
	justify-self: end;
	text-align: right;
	white-space: nowrap;
}
body.woocommerce-cart .icdn-cart-mini__paghi {
	font-size: var(--icdn-fs-note);
	font-weight: var(--icdn-fw-price);
	letter-spacing: var(--icdn-ls-price);
	color: var(--icdn-ink);
}
body.woocommerce-cart .icdn-cart-mini__pieno {
	font-size: var(--icdn-fs-label);
	color: var(--icdn-ink-3);
	text-decoration: line-through;
}

/* L'etichetta va sotto il nome, sulle tre colonne di destra. */
body.woocommerce-cart .icdn-cart-mini__tag {
	grid-column: 2 / -1;
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	margin-top: 1px;
}
body.woocommerce-cart .icdn-cart-mini__tag--omaggio {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--icdn-red);
}

body.woocommerce-cart .icdn-cart-mini__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 10px 0 2px;
	border: 0;
	background: none;
	box-shadow: none;
	cursor: pointer;
	font-family: var(--icdn-font);
	font-size: var(--icdn-fs-note);
	font-weight: var(--icdn-fw-title);
	letter-spacing: 0;
	text-transform: none;
	line-height: 1.4;
	color: var(--icdn-blue);
}
body.woocommerce-cart .icdn-cart-mini__btn:hover { color: var(--icdn-blue-press); }
/* La freccina: gira quando il dettaglio è aperto. */
body.woocommerce-cart .icdn-cart-mini__btn::after {
	content: "";
	width: 7px;
	height: 7px;
	margin-top: -4px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
}
html.icdn-cart-aperto body.woocommerce-cart .icdn-cart-mini__btn::after {
	margin-top: 3px;
	transform: rotate(-135deg);
}

/* Aperto o chiuso è una classe sull'elemento html, non sul body: così
 * sopravvive sia all'AJAX del carrello sia alla ricarica intera che fa
 * partire il cart-auto-refresh quando si cambia una quantità. Le due
 * parole del comando le sceglie il CSS (mai l'attributo hidden: quello
 * toglierebbe la parola anche a chi legge con la voce). */
body.woocommerce-cart .icdn-cart-mini__chiudi { display: none; }
html.icdn-cart-aperto body.woocommerce-cart .icdn-cart-mini__apri { display: none; }
html.icdn-cart-aperto body.woocommerce-cart .icdn-cart-mini__chiudi { display: inline; }

@media (max-width: 849px) {
	html.icdn-cart-js body.woocommerce-cart .icdn-cart-mini { display: block; }

	/* Chiuso: restano l'intestazione di consegna e il riepilogo minuto.
	 * Aperto: tornano le righe di sempre, quantità ed Elimina compresi,
	 * più "Continua con gli acquisti" e "Svuota carrello", e il
	 * riepilogo minuto si toglie per non dire due volte le stesse cose. */
	html.icdn-cart-js:not(.icdn-cart-aperto) body.woocommerce-cart .woocommerce-cart-form__contents { display: none; }
	html.icdn-cart-js.icdn-cart-aperto body.woocommerce-cart .icdn-cart-mini__lista { display: none; }
	html.icdn-cart-js.icdn-cart-aperto body.woocommerce-cart .icdn-cart-mini__btn { padding-top: 0; }
}

/* ===================================================================
 * DAL CUSTOMIZER, QUARTO GIRO (01/09/2026): IL BOTTONE "PROCEDI CON
 * L'ORDINE" ARANCIONE, CON L'ICONA E LA PULSAZIONE DA TELEFONO.
 *
 * Nel blob erano TRE regole in lotta sullo stesso bottone
 * (.cart_totals .button gialla, .cart_totals .button blu,
 * .wc-proceed-to-checkout .checkout-button arancione): a parità di
 * specificità e di !important vinceva l'ultima, e il risultato
 * effettivo era questo. Qui c'è SOLO il risultato, a resa identica.
 *
 * TOKEN? L'arancione #FF5800 non è nella tavolozza (il sistema dice
 * blu per l'azione, e --icdn-orange #b2490b significa preordine):
 * decisione da prendere con Adelmo, per ora resta com'era.
 *
 * Prefisso `html `: il tema dichiara le sue regole su questo bottone
 * e qui l'ordine dei fogli non si governa (W3TC minify).
 * =================================================================== */
html .wc-proceed-to-checkout .checkout-button {
	background-color: #FF5800 !important;
	color: white;
	border-radius: 5px;
	width: 100%;
	font-size: x-large;
	box-shadow: 4px 4px 2px #00000075;
	display: flex;
	align-items: center;
	justify-content: center;
}

html .wc-proceed-to-checkout .checkout-button:before {
	content: "";
	background-image: url(https://www.ilcovodelnerd.biz/wp-content/uploads/2024/10/proceedtocheck-1.svg);
	background-repeat: no-repeat;
	background-position: center;
	width: 30px;
	height: 30px;
	color: white;
	display: inline-block;
	margin-right: 10px;
}

@media only screen and (max-width: 768px) {
	/* Da telefono il bottone diventa fisso in basso e pulsa. */
	html .wc-proceed-to-checkout .checkout-button {
		position: fixed;
		bottom: 10px;
		left: 5%;
		width: 90%;
		min-width: 90% !important;
		z-index: 9999;
		text-align: center;
		padding: 7px;
		font-size: 19px;
		box-shadow: 0px -2px 5px rgba(0, 0, 0, 0.5);
		background-color: #FF5800;
		color: #ffffff;
		display: flex;
		align-items: center;
		justify-content: center;
		animation: pulseButton 2.5s infinite, pulseEffect 2.5s infinite;
	}

	@keyframes pulseButton {
		0% { transform: scale(1); }
		50% { transform: scale(1.02); }
		100% { transform: scale(1); }
	}

	@keyframes pulseEffect {
		0% { box-shadow: 0 0 3px rgba(255, 223, 0, 0.3), 0 0 5px rgba(255, 223, 0, 0.2); }
		50% { box-shadow: -5px 0 10px rgba(255, 223, 0, 0.3), 5px 0 10px rgba(255, 223, 0, 0.3), -10px 0 15px rgba(255, 223, 0, 0.2), 10px 0 15px rgba(255, 223, 0, 0.2); }
		100% { box-shadow: 0 0 3px rgba(255, 223, 0, 0.3), 0 0 5px rgba(255, 223, 0, 0.2); }
	}

	html .wc-proceed-to-checkout .checkout-button:before {
		content: "";
		background-image: url(https://www.ilcovodelnerd.biz/wp-content/uploads/2023/07/check-1.svg);
		background-repeat: no-repeat;
		background-position: center;
		width: 21px;
		height: 21px;
		display: inline-block;
		margin-right: 10px;
	}

	html .wc-proceed-to-checkout {
		margin-bottom: 60px;
		padding: 50px !important;
	}
}

/* Il titolo del widget nella colonna del carrello (markup vecchio,
 * tenuto com'era). */
html .cart-sidebar .widget-title {
	color: red;
}
