/* ==========================================================================
   HCN Store — Carrello (v0.4.33)
   NB (verificato sul sito reale): la pagina /carrello/ usa i BLOCCHI
   WooCommerce (wp-block-woocommerce-cart), NON lo shortcode classico:
   la skin punta alle classi del blocco. Lo shortcode classico non è
   presente (l'hook woocommerce_cart_totals_after_order_total resta in
   functions.php per un eventuale ripristino futuro).
   Principi (RICERCA-UX-BEST-PRACTICES, set. 2026):
   - Baymard §1: totali SEMPRE visibili → sidebar totali a card sticky;
   - larghezza 89% (invariante v0.4.27): la pagina era alignwide (1239px
     su 1280 misurati) → cap al container 71.25rem;
   - target >= 44px, focus AA, dark mode token, superfici-azione statiche
     (invariante bottoni v0.4.26).
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. LARGHEZZA 89%: il blocco carrello e il titolo della pagina portano
   alignwide (wideSize 90rem) → sforavano l'89%. Cap al token container.
   -------------------------------------------------------------------------- */
.woocommerce-cart .entry-content,
.woocommerce-cart .wp-block-post-title,
.woocommerce-cart .wc-block-store-notices {
	max-width: var(--hcn-container, 71.25rem);
	margin-inline: auto;
}

/* --------------------------------------------------------------------------
   2. SIDEBAR TOTALI: card sticky (totali sempre in vista mentre si
   scorrono gli articoli). Il CTA è già brand/pill via theme.json.
   -------------------------------------------------------------------------- */
.woocommerce-cart .wc-block-cart__sidebar {
	position: sticky;
	top: 24px;
	align-self: start;
	background: var(--hcn-card-bg);
	border: 1px solid var(--hcn-border-card);
	border-radius: 12px;
	padding: 1.25rem 1.5rem;
}

.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-item {
	padding-block: 10px;
	border-block-end: 1px solid var(--hcn-border-card);
}

.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-item:last-child {
	border-block-end: none;
}

.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-item__label {
	color: var(--hcn-text-muted);
	font-size: 0.9375rem;
}

/* Riga TOTALE: protagonista. */
.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-family: var(--hcn-font-display);
	font-size: 1.375rem;
	font-weight: 700;
	color: var(--hcn-text);
}

/* Nota fiducia/costi (Baymard: trasparenza + fiducia vicino alla CTA),
   sotto il totale, prima del bottone di pagamento. */
.woocommerce-cart .wc-block-components-totals-footer-item::after {
	content: "IVA inclusa · Recesso 14 giorni · Garanzia legale 2 anni";
	display: block;
	margin-block-start: 12px;
	padding: 10px 14px;
	border-radius: 10px;
	background: var(--hcn-band-bg);
	color: var(--hcn-text-muted);
	font-family: var(--hcn-font-display);
	font-size: 0.8125rem;
	line-height: 1.5;
	text-align: start;
}

/* CTA checkout: piena larghezza colonna (il colore è theme.json). */
.woocommerce-cart .wc-block-cart__submit-button {
	width: 100%;
}

/* --------------------------------------------------------------------------
   3. ARTICOLI: intestazione uppercase, righe separate, prezzi token sale.
   -------------------------------------------------------------------------- */
.woocommerce-cart .wc-block-cart-items__header {
	border: none;
}

.woocommerce-cart .wc-block-cart-items__header .wc-block-cart-items__header-Th {
	color: var(--hcn-text-muted);
	font-family: var(--hcn-font-display);
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.woocommerce-cart .wc-block-cart-items__row {
	padding-block: 20px;
	border-block-end: 1px solid var(--hcn-border-card);
}

.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-name {
	font-family: var(--hcn-font-display);
	font-weight: 600;
	color: var(--hcn-text);
}

.woocommerce-cart .wc-block-cart-item__image img {
	border-radius: 10px;
	background: var(--hcn-band-bg);
}

.woocommerce-cart .wc-block-components-product-price del {
	color: var(--hcn-text-muted);
}

.woocommerce-cart .wc-block-components-product-price ins {
	color: var(--hcn-sale);
	text-decoration: none;
	font-weight: 700;
}

.woocommerce-cart .wc-block-cart-item__remove-link {
	color: var(--hcn-text-muted);
	text-decoration: underline;
	text-underline-offset: 3px;
	transition: color 0.15s ease;
}

.woocommerce-cart .wc-block-cart-item__remove-link:hover {
	color: var(--hcn-sale);
}

/* Stepper: bottoni e campo già 44px nel blocco; solo coerenza visiva. */
.woocommerce-cart .wc-block-components-quantity-selector {
	border: 1px solid var(--hcn-border-card);
	border-radius: 10px;
	background: var(--hcn-card-bg);
}

.woocommerce-cart .wc-block-components-quantity-selector__button {
	color: var(--hcn-text);
}

.woocommerce-cart .wc-block-components-quantity-selector__button:hover {
	color: var(--hcn-primary);
}

.woocommerce-cart .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
	color: var(--hcn-text);
	background: transparent;
	border: none;
}

/* --------------------------------------------------------------------------
   4. COUPON (pannello a fisarmonica nel blocco): trigger chiaro 44px.
   -------------------------------------------------------------------------- */
.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel__button {
	min-height: 44px;
	color: var(--hcn-text);
	font-weight: 500;
}

.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-text-input input {
	min-height: 44px;
	box-sizing: border-box;
	border: 1px solid var(--hcn-border-card);
	border-radius: 10px;
	background: var(--hcn-card-bg);
	color: var(--hcn-text);
}

.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-text-input input:focus {
	border-color: var(--hcn-primary);
	box-shadow: 0 0 0 3px var(--hcn-focus-ring);
	outline: none;
}

/* --------------------------------------------------------------------------
   5. AVVISI (banner blocchi): stessi colori semantici della bacheca.
   -------------------------------------------------------------------------- */
.woocommerce-cart .wc-block-components-notice-banner {
	border-radius: 10px;
}

.woocommerce-cart .wc-block-components-notice-banner.is-success {
	border-color: light-dark(#1a7f37, #3fb950);
	background: var(--hcn-band-bg);
	color: var(--hcn-text);
}

.woocommerce-cart .wc-block-components-notice-banner.is-info,
.woocommerce-cart .wc-block-components-notice-banner.is-error {
	background: var(--hcn-band-bg);
	color: var(--hcn-text);
}

/* --------------------------------------------------------------------------
   6. MOBILE: il blocco impila già la sidebar sotto gli articoli; riduco i
   respiro della card totali e NON la sticky (seguirebbe male lo scroll).
   -------------------------------------------------------------------------- */
@media (max-width: 768px) {
	.woocommerce-cart .wc-block-cart__sidebar {
		position: static;
		padding: 1rem;
	}
}

/* --------------------------------------------------------------------------
   7. ACCESSIBILITÀ: focus coerente, reduced motion (KB UX §6).
   -------------------------------------------------------------------------- */
.woocommerce-cart a:focus-visible,
.woocommerce-cart button:focus-visible,
.woocommerce-cart input:focus-visible {
	outline: 2px solid var(--hcn-focus-ring);
	outline-offset: 2px;
	border-radius: 6px;
}

@media (prefers-reduced-motion: reduce) {
	.woocommerce-cart .wc-block-cart-item__remove-link,
	.woocommerce-cart .wc-block-components-quantity-selector__button {
		transition: none !important;
	}
}
