/* AS Cart v2 — restyle carrello + carrello vuoto. Tutto scoped a body.woocommerce-cart.
   Coerente con la PDP (as-pdp-v2). Niente override template: solo display. */

body.woocommerce-cart{
  --ras-text:#2C3E50; --ras-primary:#7599B9; --ras-primary-dark:#5A7D9E; --ras-cart:#4F79BD;
  --ras-gold:#CEA270; --ras-gold-text:#9A6E3A; --ras-secondary:#3C763D;
  --ras-cream:#F8F5F0; --ras-border:#E8E4DF; --ras-border-blue:rgba(117,153,185,.1);
  --ras-text-light:#5A6B7D; --ras-text-muted:#5F6E80; --ras-white:#FFF;
  --ras-shadow-sm:0 1px 3px rgba(117,153,185,.10); --ras-shadow-md:0 16px 48px rgba(117,153,185,.12);
  --heading:'Cinzel',Georgia,serif; --body:'EB Garamond',Georgia,serif; --ui:'Inter',-apple-system,sans-serif;
  --header-h:80px; --r-card:8px; --r-pill:35px;
}

/* Header: uniforma la lineetta azzurra (2px #5985C8) della barra menu a quella invisibile della home */
body.woocommerce-cart .whb-general-header{border-bottom:1px solid rgba(117,153,185,.1) !important}

/* ---------- LAYOUT WRAPPER: vedi blocco "CART LAYOUT REDESIGN" in fondo al file.
   Il grid (cross-sell rientrato in colonna sinistra) e definito li per tenere insieme
   layout + card orizzontali + responsive del redesign. ---------- */

/* ---------- LINE ITEM ---------- */
body.woocommerce-cart .woocommerce-cart-form table.shop_table{border:0;background:transparent}
body.woocommerce-cart .woocommerce-cart-form thead th{font-family:var(--ui);font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--ras-text-muted);border:0;border-bottom:1px solid var(--ras-border);padding-bottom:14px}
body.woocommerce-cart tr.cart_item{border-bottom:1px solid var(--ras-border)}
body.woocommerce-cart .cart_item td{padding-top:18px;padding-bottom:18px;vertical-align:middle;border:0}
body.woocommerce-cart .product-thumbnail img{width:76px;height:76px;object-fit:contain;background:var(--ras-cream);border:1px solid var(--ras-border-blue);border-radius:8px;padding:4px;display:block}
body.woocommerce-cart td.product-name a{font-family:var(--heading);font-weight:500;font-size:17px;letter-spacing:.03em;color:var(--ras-text);text-decoration:none}
body.woocommerce-cart td.product-name a:hover{color:var(--ras-gold-text)}
body.woocommerce-cart td.product-name .variation,
body.woocommerce-cart td.product-name dl.variation{font-family:var(--body);font-size:13px;color:var(--ras-text-muted);font-style:italic}
body.woocommerce-cart td.product-price{font-family:var(--body);font-style:italic;font-size:15px;color:var(--ras-text-light)}
body.woocommerce-cart td.product-subtotal{font-family:var(--heading);font-weight:500;font-size:18px;color:var(--ras-gold-text)}

/* ---------- QUANTITA (i +/- Woodmart RESTANO, guidano l'AJAX) ---------- */
body.woocommerce-cart .product-quantity .quantity{display:inline-flex;align-items:center;border:1.5px solid var(--ras-border);border-radius:10px;overflow:hidden;background:#fff}
body.woocommerce-cart .product-quantity input.qty,
body.woocommerce-cart .product-quantity input[type="number"]{width:46px;height:44px;text-align:center;border:0;background:transparent;font-family:var(--heading);font-size:16px;color:var(--ras-text);-moz-appearance:textfield;box-shadow:none}
body.woocommerce-cart .product-quantity input::-webkit-outer-spin-button,
body.woocommerce-cart .product-quantity input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
body.woocommerce-cart .product-quantity .minus,
body.woocommerce-cart .product-quantity .plus{width:42px;height:44px;background:var(--ras-cream);border:0;color:var(--ras-text);font-family:var(--ui);font-size:18px;line-height:1;cursor:pointer}
body.woocommerce-cart .product-quantity .minus:hover,
body.woocommerce-cart .product-quantity .plus:hover{color:var(--ras-cart)}

/* ---------- RIMOZIONE ---------- */
body.woocommerce-cart td.product-remove a.remove{font-size:22px;line-height:1;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;color:var(--ras-text-muted);border-radius:50%}
body.woocommerce-cart td.product-remove a.remove:hover{color:var(--ras-cart);background:transparent}

/* ---------- COUPON (oro outline, secondario) ---------- */
body.woocommerce-cart .cart-actions .coupon input#coupon_code,
body.woocommerce-cart .coupon input#coupon_code{border:1.5px solid var(--ras-border);border-radius:8px;height:48px;font-family:var(--ui);padding:0 14px}
body.woocommerce-cart .coupon button{font-family:var(--heading);font-weight:600;font-size:.66rem;letter-spacing:3px;text-transform:uppercase;background:transparent;color:var(--ras-gold-text);border:1.5px solid var(--ras-gold);border-radius:2px;min-height:48px;padding:0 24px;transition:background .25s,color .25s}
body.woocommerce-cart .coupon button:hover{background:var(--ras-gold);color:#fff}

/* ==========================================================================
   RISO ACQUA E SOLE - CARRELLO
   Sezione SPEDIZIONE (Packlink) + PULSANTE CHECKOUT
   Base: "Riga essenziale" (restraint editoriale, righe uniformi) con innesti:
     - minmax(0,1fr) + ellipsis sul nome (anti-overflow)  [da listino-premium]
     - NOVARA in Cinzel                                    [da listino-premium]
     - :focus-visible sul pulsante checkout                [da cro-compatta]
     - selettore di rinforzo .pl-checkout-carrier-image    [cintura+bretelle]
   Sostituisce integralmente: tr/th/td .woocommerce-shipping-totals,
   ul#shipping_method, li, label, img, .ras-ship-name/.ras-ship-days/.amount,
   .woocommerce-shipping-destination, .shipping-calculator-button
   e il pulsante .wc-proceed-to-checkout a.checkout-button.
   Solo CSS, scoped a body.woocommerce-cart. Classi invariate. Radio funzionante.
   NON tocca tr.cart-subtotal ne tr.order-total. Solo token brand + #fff.
   ========================================================================== */

/* --- Riga SPEDIZIONE: forziamo blocco verticale, th come micro-label ------- */
body.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals{
  display:block;
  margin:16px 0;
}
body.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals th{
  display:block;
  width:auto;
  padding:0 0 11px;
  font-family:var(--ui);
  font-size:11px;
  font-weight:600;
  letter-spacing:1.6px;
  text-transform:uppercase;
  color:var(--ras-text-muted);
}
body.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals td{
  display:block;
  width:auto;
  padding:0;
}

/* --- Lista corrieri: colonna ordinata ------------------------------------- */
body.woocommerce-cart ul#shipping_method{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:8px;
}

/* --- Riga corriere (li): grid [radio | label], altezza uniforme ----------- */
body.woocommerce-cart ul#shipping_method li{
  position:relative;
  display:flex;
  align-items:center;
  gap:12px;
  min-height:62px;
  margin:0;
  padding:11px 14px 11px 16px;
  border:1.5px solid var(--ras-border);
  border-radius:var(--r-card,8px);
  background:#fff;
  box-shadow:var(--ras-shadow-sm);
  cursor:pointer;
  transition:border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
/* Barra accento laterale (compare solo da selezionato) */
body.woocommerce-cart ul#shipping_method li::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  width:3px;
  height:0;
  border-radius:0 3px 3px 0;
  background:var(--ras-primary);
  transition:height .2s ease;
}
/* Hover sulle righe non selezionate: feedback discreto */
body.woocommerce-cart ul#shipping_method li:not(:has(input:checked)):hover{
  border-color:var(--ras-primary-dark);
}

/* --- Stato selezionato: anello azzurro AS + fondo crema + barra accento ---- */
body.woocommerce-cart ul#shipping_method li:has(input:checked){
  border-color:var(--ras-primary);
  background:var(--ras-cream);
  box-shadow:0 0 0 3px var(--ras-border-blue);
}
body.woocommerce-cart ul#shipping_method li:has(input:checked)::before{
  height:32px;
}
/* Accessibilita: focus da tastiera visibile */
body.woocommerce-cart ul#shipping_method li:focus-within{
  box-shadow:0 0 0 3px var(--ras-border-blue);
}

/* --- Radio: nativo, cliccabile, hit-area adeguata, accent azzurro AS ------- */
body.woocommerce-cart ul#shipping_method li > input[type="radio"]{
  flex:none;
  margin:0;
  width:18px;
  height:18px;
  accent-color:var(--ras-primary);
  cursor:pointer;
  float:none;
  position:static;
}

/* --- Label: blocco grid unico [chip-logo | testo(nome+giorni) | prezzo] ----
   Resta un box pieno e cliccabile (for=...): hit-area continua su tutta la
   larghezza, niente display:contents (che frammenterebbe l'area utile).      */
body.woocommerce-cart ul#shipping_method li > label{
  flex:1 1 auto;
  display:grid;
  grid-template-columns:46px minmax(0,1fr) auto;
  grid-template-rows:auto auto;
  align-items:center;
  column-gap:12px;
  row-gap:1px;
  min-width:0;
  margin:0;
  padding:0;
  cursor:pointer;
}

/* --- Chip logo a footprint FISSA uniforme per tutti i corrieri ------------
   box-sizing:border-box => ingombro esterno esatto 46x32 identico per i 5
   loghi, a prescindere dagli aspect ratio nativi. object-fit:contain centra.
   Doppio selettore (figlio diretto + classe Packlink) come rinforzo nel caso
   il plugin un giorno avvolga la img in un wrapper.                          */
body.woocommerce-cart ul#shipping_method li > label img,
body.woocommerce-cart ul#shipping_method li label img.pl-checkout-carrier-image{
  grid-row:1 / 3;
  grid-column:1;
  box-sizing:border-box;
  width:46px;
  height:32px;
  padding:4px 3px;
  object-fit:contain;
  object-position:center;
  background:#fff;
  border:1px solid var(--ras-border);
  border-radius:6px;
  margin:0;
  float:none;
  align-self:center;
  /* Loghi non selezionati: desaturati per togliere rumore cromatico */
  filter:grayscale(1);
  opacity:.75;
  transition:filter .2s ease, opacity .2s ease, border-color .2s ease;
}
/* Logo del corriere selezionato: torna a colori pieni (si accende) */
body.woocommerce-cart ul#shipping_method li:has(input:checked) > label img,
body.woocommerce-cart ul#shipping_method li:has(input:checked) label img.pl-checkout-carrier-image{
  filter:grayscale(0);
  opacity:1;
  border-color:var(--ras-border-blue);
}

/* --- Nome corriere (riga 1, colonna centrale) ----------------------------- */
body.woocommerce-cart ul#shipping_method li > label .ras-ship-name{
  grid-row:1;
  grid-column:2;
  align-self:end;
  justify-self:start;
  min-width:0;
  font-family:var(--body);
  font-size:15px;
  font-weight:600;
  color:var(--ras-text);
  line-height:1.2;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* --- Tempi di consegna (riga 2, colonna centrale, sotto il nome) ----------- */
body.woocommerce-cart ul#shipping_method li > label .ras-ship-days{
  grid-row:2;
  grid-column:2;
  align-self:start;
  justify-self:start;
  font-family:var(--ui);
  font-size:12px;
  font-weight:400;
  color:var(--ras-text-muted);
  line-height:1.2;
}

/* --- Prezzo (colonna destra, spanna entrambe le righe, oro) ---------------- */
body.woocommerce-cart ul#shipping_method li > label .woocommerce-Price-amount.amount{
  grid-row:1 / 3;
  grid-column:3;
  align-self:center;
  justify-self:end;
  font-family:var(--heading);
  font-weight:500;
  font-size:15px;
  letter-spacing:.3px;
  color:var(--ras-gold-text);
  white-space:nowrap;
}
body.woocommerce-cart ul#shipping_method li > label .woocommerce-Price-amount.amount bdi{
  white-space:nowrap;
}

/* --- Fallback: se il JS non inietta gli span, il label resta leggibile ----- */
body.woocommerce-cart ul#shipping_method li > label:not(:has(.ras-ship-name)){
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
body.woocommerce-cart ul#shipping_method li > label:not(:has(.ras-ship-name)) .woocommerce-Price-amount.amount{
  margin-left:auto;
}

/* --- Riga destinazione "Spedizione a NOVARA" + Modifica indirizzo --------- */
body.woocommerce-cart .cart_totals .woocommerce-shipping-destination{
  font-family:var(--body);
  font-size:13px;
  color:var(--ras-text-light);
  margin:12px 0 4px;
}
body.woocommerce-cart .cart_totals .woocommerce-shipping-destination strong{
  font-family:var(--heading);
  font-weight:500;
  letter-spacing:.6px;
  color:var(--ras-text);
}
body.woocommerce-cart .cart_totals .shipping-calculator-button{
  display:inline-block;
  font-family:var(--ui);
  font-size:12px;
  font-weight:500;
  letter-spacing:.5px;
  color:var(--ras-primary);
  text-decoration:underline;
  text-underline-offset:2px;
  background:none;
  border:0;
  padding:0;
  cursor:pointer;
  transition:color .2s ease;
}
body.woocommerce-cart .cart_totals .shipping-calculator-button:hover{
  color:var(--ras-primary-dark);
}

/* ==========================================================================
   PULSANTE CHECKOUT - azzurro identitario AS (#7599B9 = --ras-primary)
   testo bianco, hover --ras-primary-dark (#5A7D9E). Cinzel maiuscoletto.
   ========================================================================== */
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button.button.alt,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
  font-family:var(--heading)!important;
  font-weight:600!important;
  font-size:.72rem!important;
  letter-spacing:3px!important;
  text-transform:uppercase!important;
  background:var(--ras-primary)!important;
  color:#fff!important;
  border:0!important;
  border-radius:10px!important;
  min-height:52px!important;
  padding:17px 34px!important;
  display:flex!important;
  align-items:center;
  justify-content:center;
  width:100%;
  box-shadow:none!important;
  transition:background .2s ease, box-shadow .2s ease!important;
}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button.button.alt:hover,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover{
  background:var(--ras-primary-dark)!important;
  box-shadow:var(--ras-shadow-md)!important;
}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:focus-visible{
  outline:2px solid var(--ras-primary-dark)!important;
  outline-offset:2px;
}

/* ==========================================================================
   RESPONSIVE - mobile (colonna piena): card a riga singola, leggibili
   768px intercetta il passaggio della colonna riepilogo a piena larghezza.
   ========================================================================== */
@media (max-width:768px){
  body.woocommerce-cart ul#shipping_method li{
    column-gap:10px;
    min-height:60px;
    padding:10px 12px 10px 14px;
  }
  body.woocommerce-cart ul#shipping_method li > label{
    grid-template-columns:44px minmax(0,1fr) auto;
    column-gap:10px;
  }
  body.woocommerce-cart ul#shipping_method li > label img,
  body.woocommerce-cart ul#shipping_method li label img.pl-checkout-carrier-image{
    width:44px;
    height:30px;
  }
  body.woocommerce-cart ul#shipping_method li > label .ras-ship-name{
    font-size:14px;
  }
  body.woocommerce-cart ul#shipping_method li > label .ras-ship-days{
    font-size:11px;
  }
  body.woocommerce-cart ul#shipping_method li > label .woocommerce-Price-amount.amount{
    font-size:14px;
  }
  body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button.button.alt,
  body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
    letter-spacing:2px!important;
    padding:16px 20px!important;
  }
}

/* Schermi molto stretti: comprime senza rompere la riga singola */
@media (max-width:380px){
  body.woocommerce-cart ul#shipping_method li{
    column-gap:9px;
    padding:9px 11px 9px 13px;
  }
  body.woocommerce-cart ul#shipping_method li > label{
    grid-template-columns:42px minmax(0,1fr) auto;
    column-gap:9px;
  }
  body.woocommerce-cart ul#shipping_method li > label img,
  body.woocommerce-cart ul#shipping_method li label img.pl-checkout-carrier-image{
    width:42px;
    height:28px;
  }
  body.woocommerce-cart ul#shipping_method li > label .ras-ship-name{
    font-size:13.5px;
  }
  body.woocommerce-cart ul#shipping_method li > label .woocommerce-Price-amount.amount{
    font-size:13.5px;
  }
}

/* ---------- MINI-CART DRAWER: immagine prodotto (evita render rotto/segnaposto) ---------- */
body .cart-widget-side .widget_shopping_cart_content li img,
body .widget_shopping_cart li img,
body .cart-widget-side .mini_cart_item img{width:56px!important;height:56px!important;object-fit:contain!important;background:var(--ras-cream,#F8F5F0);border:1px solid rgba(117,153,185,.12);border-radius:6px;padding:3px}

/* ---------- RIEPILOGO (card) ---------- */
body.woocommerce-cart .cart-totals-inner,
body.woocommerce-cart .cart_totals > h2 + *{}
body.woocommerce-cart .cart_totals .cart-totals-inner{background:#fff;border:1px solid var(--ras-border);border-radius:var(--r-card);box-shadow:var(--ras-shadow-md);padding:26px 28px}
body.woocommerce-cart .cart_totals h2{font-family:var(--heading);font-weight:500;font-size:1.1rem;letter-spacing:2px;text-transform:uppercase;color:var(--ras-text);margin:0 0 16px}
/* Tabella totali fuori dal modello a colonne: cosi la riga SPEDIZIONE
   (display:block) prende la larghezza piena della card e non viene
   ristretta a ~221px dalla colonna prezzo di Subtotale/Totale.
   Subtotale e Totale restano identici: ogni riga diventa flex
   (etichetta sx, valore dx). */
body.woocommerce-cart .cart_totals table.shop_table{border:0}
body.woocommerce-cart .cart_totals table.shop_table,
body.woocommerce-cart .cart_totals table.shop_table tbody{display:block;width:100%}
body.woocommerce-cart .cart_totals table th{font-family:var(--body);font-size:16px;color:var(--ras-text);border-top:0;font-weight:400}
body.woocommerce-cart .cart_totals table td{font-family:var(--body);font-size:16px;color:var(--ras-text);border-top:0}
/* righe Subtotale / Totale: flex etichetta-valore (riproduce la tabella) */
body.woocommerce-cart .cart_totals tr.cart-subtotal,
body.woocommerce-cart .cart_totals tr.order-total{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
body.woocommerce-cart .cart_totals tr.cart-subtotal th,
body.woocommerce-cart .cart_totals tr.cart-subtotal td,
body.woocommerce-cart .cart_totals tr.order-total th,
body.woocommerce-cart .cart_totals tr.order-total td{padding-left:0;padding-right:0;border-top:0}
body.woocommerce-cart .cart_totals tr.cart-subtotal{padding:4px 0}
body.woocommerce-cart .cart_totals tr.order-total{border-top:1px solid var(--ras-border);margin-top:8px;padding-top:14px}
body.woocommerce-cart .cart_totals tr.order-total th{font-family:var(--heading);letter-spacing:1px;padding-top:0}
body.woocommerce-cart .cart_totals tr.order-total td{padding-top:0}
body.woocommerce-cart .cart_totals tr.order-total td strong,
body.woocommerce-cart .cart_totals tr.order-total .amount{font-family:var(--heading);font-weight:500;font-size:22px;color:var(--ras-gold-text)}

/* ---------- SEZIONE SPEDIZIONE + PULSANTE CHECKOUT: vedi blocco "SPEDIZIONE REDESIGN" (sostituisce questa posizione) ---------- */


/* ---------- BLOCCHI CUSTOM (trust, cross-sell, empty): icona base + btn ---------- */
body.woocommerce-cart .as-cart-mod .icon{width:1.2em;height:1.2em;display:inline-block;vertical-align:middle;flex:none}
body.woocommerce-cart .as-cart-mod .btn{font-family:var(--heading);font-weight:600;font-size:.72rem;letter-spacing:3px;text-transform:uppercase;display:inline-flex;align-items:center;justify-content:center;gap:10px;transition:background .25s,color .25s,transform .25s;text-align:center;line-height:1.3;text-decoration:none}
body.woocommerce-cart .as-cart-mod .btn--gold{background:transparent;color:var(--ras-gold-text);border:1.5px solid var(--ras-gold);border-radius:2px;padding:13px 22px;min-height:44px;font-size:.66rem}
body.woocommerce-cart .as-cart-mod .btn--gold:hover{background:var(--ras-gold);color:#fff;transform:translateY(-2px)}

/* reassurance + ISO (come PDP) */
body.woocommerce-cart #as-cart-extra{margin-top:18px}
body.woocommerce-cart .reassurance{display:flex;flex-wrap:wrap;gap:9px 18px;font-family:var(--body);font-size:14px;color:var(--ras-text-light);margin:0 0 12px}
body.woocommerce-cart .reassurance--center{justify-content:center;margin-top:18px}
body.woocommerce-cart .reassurance span{display:flex;align-items:center;gap:7px}
body.woocommerce-cart .reassurance .icon{width:18px;height:18px;color:var(--ras-primary)}
body.woocommerce-cart .trust-iso{display:flex;align-items:center;gap:11px;background:var(--ras-cream);border:1px solid var(--ras-border);border-radius:8px;padding:12px 16px;font-family:var(--body);font-size:14px;color:var(--ras-text);margin:0 0 10px}
body.woocommerce-cart .trust-iso .icon{width:23px;height:23px;color:var(--ras-gold-text);flex:none}
body.woocommerce-cart .as-cart-note{font-family:var(--ui);font-size:.75rem;color:var(--ras-text-muted);margin:0}

/* sezione suggerimenti / cross-sell */
body.woocommerce-cart .as-cart-suggest{margin-top:56px;clear:both}
body.woocommerce-cart .as-cart-suggest .section__head{text-align:center;margin-bottom:32px}
body.woocommerce-cart .as-cart-suggest .eyebrow{font-family:var(--heading);font-weight:500;font-size:.7rem;letter-spacing:5px;text-transform:uppercase;color:var(--ras-gold-text);margin-bottom:14px}
body.woocommerce-cart .as-cart-suggest .section__title{font-family:var(--heading);font-weight:500;font-size:clamp(1.4rem,2.6vw,2rem);line-height:1.3;letter-spacing:2px;color:var(--ras-text);margin:0}
/* "Scopri anche": griglia a 4 colonne fisse, centrata e cappata. Con 3-4 card NON si stirano
   (il bug era auto-fit minmax(210,1fr) in sezione full-width -> card giganti). Coerente con la PDP. */
body.woocommerce-cart .related__track{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,260px));justify-content:center;gap:24px;margin:0 auto;padding:0;max-width:1100px}
body.woocommerce-cart .product-card{border:1px solid rgba(117,153,185,.08);border-radius:8px;overflow:hidden;background:#fff;display:flex;flex-direction:column;transition:box-shadow .3s,transform .3s,border-color .3s}
body.woocommerce-cart .product-card:hover{transform:translateY(-6px);box-shadow:var(--ras-shadow-md);border-color:rgba(117,153,185,.15)}
body.woocommerce-cart .product-card__media{aspect-ratio:1/1;background:var(--ras-white);display:block}
body.woocommerce-cart .product-card__media img{width:100%;height:100%;object-fit:contain;background:var(--ras-white);padding:10px;display:block}
body.woocommerce-cart .product-card__body{padding:18px;display:flex;flex-direction:column;gap:7px;flex:1}
body.woocommerce-cart .product-card__kicker{font-family:var(--ui);font-size:.6rem;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--ras-gold-text)}
body.woocommerce-cart .product-card__name{font-family:var(--heading);font-weight:500;font-size:17px;letter-spacing:.03em;color:var(--ras-text);margin:0}
body.woocommerce-cart .product-card__name a{color:inherit;text-decoration:none}
body.woocommerce-cart .product-card__price{font-family:var(--heading);font-weight:500;font-size:18px;color:var(--ras-gold-text);margin-top:auto}
body.woocommerce-cart .product-card__price del{opacity:.5;font-weight:400;margin-right:6px}
body.woocommerce-cart .product-card__price ins{text-decoration:none}
body.woocommerce-cart .product-card .btn{margin-top:10px}

/* ---------- CARRELLO VUOTO ---------- */
/* Woodmart avvolge il carrello vuoto in .wd-not-found-wrapper (flex centrante) che restringe
   il main a ~374px: le 4 card "Quattro risi" cadevano a 2 colonne strette. Forziamo il main a
   larghezza piena SOLO quando c'e il nostro blocco vuoto, cosi le card tornano a 4 colonne. */
@media (min-width:900px){
  body.woocommerce-cart .wd-not-found-wrapper:has(#as-cart-empty){display:block}
  body.woocommerce-cart .wd-not-found-wrapper:has(#as-cart-empty) > #main-content,
  body.woocommerce-cart .wd-not-found-wrapper:has(#as-cart-empty) main.wd-page-content{width:100%;max-width:100%;flex:1 1 100%}
}
body.woocommerce-cart .wd-empty-block-title,
body.woocommerce-cart .cart-empty.wc-empty-cart-message{font-family:var(--heading);font-weight:400;font-size:clamp(26px,3vw,32px);letter-spacing:.03em;color:var(--ras-text)}
body.woocommerce-cart .wd-empty-block-text{font-family:var(--body);font-size:18px;color:var(--ras-text-light);line-height:1.7}
body.woocommerce-cart .return-to-shop .button.wc-backward{font-family:var(--heading)!important;font-weight:600!important;letter-spacing:3px!important;text-transform:uppercase!important;font-size:.72rem!important;background:var(--ras-cart)!important;color:#fff!important;border-radius:10px!important;min-height:52px!important;padding:17px 34px!important;border:0!important}
body.woocommerce-cart .return-to-shop .button.wc-backward:hover{background:var(--ras-primary)!important}
body.woocommerce-cart #as-cart-empty{max-width:1000px;margin:56px auto 0;background:var(--ras-cream);border-radius:var(--r-card);padding:48px 24px}
body.woocommerce-cart #as-cart-empty .section__title{font-size:clamp(1.3rem,2.4vw,1.8rem)}

/* ---------- MOBILE (carrello vuoto: 4 card a 2 colonne; il cross-sell pieno e gestito
   dal blocco redesign in fondo) ---------- */
@media (max-width:899px){
  body.woocommerce-cart #as-cart-empty .related__track{grid-template-columns:1fr 1fr;gap:14px}
}
@media (max-width:600px){
  body.woocommerce-cart #as-cart-empty .related__track{grid-template-columns:1fr 1fr;gap:12px}
}

/* ===== CART LAYOUT REDESIGN (workflow as-cart-layout-redesign, vincitore C) ===== */
/* ====================================================================
   RISO ACQUA E SOLE - CART REDESIGN (FINALE CONSOLIDATO)
   File: as-cart-v2/cart.css
   Scope: tutto sotto body.woocommerce-cart. Solo CSS.
   NIENTE override template, NIENTE HTML, NIENTE JS.

   Vincitore: approccio "card orizzontali + rientro in colonna SX" (C),
   con innesti da A (separatore + CTA a pillola) e B (line-clamp,
   reduced-motion, focus-visible) e hardening sui selettori.

   QUESTO BLOCCO SOSTITUISCE in cart.css:
     - la sezione "1. LAYOUT WRAPPER" (grid di .cart-content-wrapper)
     - la sezione "6. CROSS-SELL / SCOPRI ANCHE" (#as-cart-cross,
       .related__track, .product-card e figli)
     - le regole responsive di wrapper / cross-sell / card nella "7. RESPONSIVE"
   NON toccare le sezioni 2 (tabella prodotti), 3 (riepilogo TOTALE),
   4 (spedizionieri Packlink), 5 (express checkout / reassurance / ISO):
   restano IDENTICHE.

   Token brand usati (gia definiti su body.woocommerce-cart):
   --ras-text --ras-primary --ras-cart --ras-gold --ras-gold-text
   --ras-cream --ras-border --ras-border-blue --ras-text-light
   --ras-text-muted --ras-shadow-md --heading --body --ui
   ==================================================================== */

/* --------------------------------------------------------------------
   1. LAYOUT WRAPPER - grid 2 colonne, cross-sell rientra in colonna SX.
   I 4 figli restano dove sono nel DOM (notices, form, cart_totals,
   #as-cart-cross): cambia SOLO il loro placement nel grid via CSS.
   #as-cart-cross scende in colonna SINISTRA sotto il form, cosi la
   colonna SX cresce e riempie il vuoto accanto al riepilogo sticky.

   NB hardening: il placement e applicato ai figli PER CLASSE PROPRIA,
   senza combinatore > figlio-diretto, cosi regge eventuali wrapper
   intermedi inseriti da Woodmart/WooCommerce attorno a form o totals.
   -------------------------------------------------------------------- */
body.woocommerce-cart .cart-content-wrapper {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  grid-template-rows: auto auto auto;
  column-gap: 40px;
  row-gap: 28px;            /* stringe lo stacco prodotti -> Scopri anche */
  align-items: start;       /* niente stiramento verticale dei blocchi */
  align-content: start;
}

/* (a) avvisi WooCommerce: full width, in cima */
body.woocommerce-cart .cart-content-wrapper .woocommerce-notices-wrapper {
  grid-column: 1 / -1;
  grid-row: 1;
  margin: 0;
}

/* (b) form prodotti + coupon: colonna SX, riga 2 */
body.woocommerce-cart .cart-content-wrapper form.woocommerce-cart-form {
  grid-column: 1;
  grid-row: 2;
  align-self: start;
  min-width: 0;             /* evita overflow della tabella nel grid */
  margin: 0;
}

/* (c) riepilogo TOTALE CARRELLO: colonna DX, span 2 righe, resta sticky.
       NON tocco i contenuti (spedizionieri/express/reassurance intatti). */
body.woocommerce-cart .cart-content-wrapper .cart_totals {
  grid-column: 2;
  grid-row: 2 / 4;
  align-self: start;
  position: sticky;
  top: 24px;
  margin: 0;
}

/* (d) Scopri anche: NON piu full-width. Colonna SX, riga 3, sotto i
       prodotti -> riempie il vuoto che prima era bianco. */
body.woocommerce-cart .cart-content-wrapper #as-cart-cross,
body.woocommerce-cart .cart-content-wrapper #as-cart-cross {
  grid-column: 1;
  grid-row: 3;
  align-self: start;
  width: auto;
  max-width: none;
  margin: 0;               /* lo stacco lo danno border-top + padding-top */
}

/* --------------------------------------------------------------------
   6. CROSS-SELL "SCOPRI ANCHE" (#as-cart-cross) - card VERTICALI
   Stessa famiglia delle card del carrello vuoto, in linguaggio coerente
   col carrello: prezzo Cinzel oro, bottone "Scopri" oro-outline come il
   bottone coupon, immagine su crema come i thumbnail. 4 card che riempiono
   la colonna sinistra (sempre 4, mai 3); 2 colonne su mobile.
   -------------------------------------------------------------------- */

/* separatore intenzionale dal blocco prodotti (il layout wrapper forza margin:0) */
body.woocommerce-cart #as-cart-cross{padding-top:28px;border-top:1px solid var(--ras-border)}

/* track: 4 card che riempiono la colonna sx (no cap/centratura full-width) */
body.woocommerce-cart #as-cart-cross .related__track{grid-template-columns:repeat(4,minmax(0,1fr));max-width:none;margin:0;gap:18px}

/* card verticale */
body.woocommerce-cart #as-cart-cross .product-card{display:flex;flex-direction:column;margin:0;background:#fff;border:1px solid var(--ras-border);border-radius:var(--r-card);overflow:hidden;box-shadow:none;transition:border-color .25s ease,box-shadow .3s ease,transform .3s ease}
body.woocommerce-cart #as-cart-cross .product-card:hover,
body.woocommerce-cart #as-cart-cross .product-card:focus-within{border-color:var(--ras-primary);box-shadow:var(--ras-shadow-md);transform:translateY(-4px)}

/* media: pacco intero su crema, mai croppato (coerente coi thumbnail del carrello) */
body.woocommerce-cart #as-cart-cross .product-card__media{display:flex;align-items:center;justify-content:center;aspect-ratio:1/1;background:var(--ras-cream);border-bottom:1px solid var(--ras-border-blue);overflow:hidden}
body.woocommerce-cart #as-cart-cross .product-card__media img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;padding:14px;transition:transform .35s ease}
body.woocommerce-cart #as-cart-cross .product-card:hover .product-card__media img{transform:scale(1.04)}

/* corpo */
body.woocommerce-cart #as-cart-cross .product-card__body{display:flex;flex-direction:column;gap:6px;padding:16px 14px;flex:1;text-align:center}
body.woocommerce-cart #as-cart-cross .product-card__kicker{font-family:var(--ui);font-size:.6rem;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--ras-gold-text);margin:0}
body.woocommerce-cart #as-cart-cross .product-card__name{font-family:var(--heading);font-weight:500;font-size:16px;line-height:1.25;letter-spacing:.03em;color:var(--ras-text);margin:0;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
body.woocommerce-cart #as-cart-cross .product-card__name a{color:inherit;text-decoration:none}
body.woocommerce-cart #as-cart-cross .product-card__price{font-family:var(--heading);font-weight:500;font-size:17px;color:var(--ras-gold-text);margin:2px 0 0}
body.woocommerce-cart #as-cart-cross .product-card__price .amount,
body.woocommerce-cart #as-cart-cross .product-card__price bdi,
body.woocommerce-cart #as-cart-cross .product-card__price ins{color:var(--ras-gold-text);background:none;text-decoration:none;font-weight:inherit}
body.woocommerce-cart #as-cart-cross .product-card__price del{margin-right:6px;font-weight:400;color:var(--ras-text-muted);opacity:.6}

/* bottone "Scopri": oro-outline come il bottone coupon del carrello, pinnato in fondo */
body.woocommerce-cart #as-cart-cross .product-card .btn{display:flex;align-items:center;justify-content:center;margin-top:auto;font-family:var(--heading);font-weight:600;font-size:.6rem;letter-spacing:3px;text-transform:uppercase;color:var(--ras-gold-text);background:transparent;border:1.5px solid var(--ras-gold);border-radius:2px;min-height:42px;padding:0 12px;text-decoration:none;transition:background .25s,color .25s}
body.woocommerce-cart #as-cart-cross .product-card .btn:hover{background:var(--ras-gold);color:#fff}
body.woocommerce-cart #as-cart-cross .product-card a:focus-visible{outline:2px solid var(--ras-cart);outline-offset:2px}

/* --------------------------------------------------------------------
   7. RESPONSIVE
   -------------------------------------------------------------------- */
@media (max-width: 900px) {
  /* wrapper a 1 colonna; ordine DOM lineare (notices, form, totals, cross) */
  body.woocommerce-cart .cart-content-wrapper{grid-template-columns:1fr;grid-template-rows:none;column-gap:0;row-gap:24px}
  body.woocommerce-cart .cart-content-wrapper .woocommerce-notices-wrapper,
  body.woocommerce-cart .cart-content-wrapper form.woocommerce-cart-form,
  body.woocommerce-cart .cart-content-wrapper .cart_totals,
  body.woocommerce-cart .cart-content-wrapper #as-cart-cross{grid-column:1;grid-row:auto}
  /* su mobile il riepilogo non e piu sticky */
  body.woocommerce-cart .cart-content-wrapper .cart_totals{position:static;top:auto}
  body.woocommerce-cart #as-cart-cross{margin-top:24px;padding-top:24px}
  /* cross-sell: card verticali a 2 colonne su mobile (come il carrello vuoto) */
  body.woocommerce-cart #as-cart-cross .related__track{grid-template-columns:1fr 1fr;gap:14px}
}
@media (max-width: 480px) {
  body.woocommerce-cart #as-cart-cross .related__track{gap:12px}
  body.woocommerce-cart #as-cart-cross .product-card__body{padding:14px 10px}
}
@media (prefers-reduced-motion: reduce) {
  body.woocommerce-cart #as-cart-cross .product-card,
  body.woocommerce-cart #as-cart-cross .product-card__media img{transition:none}
  body.woocommerce-cart #as-cart-cross .product-card:hover,
  body.woocommerce-cart #as-cart-cross .product-card:focus-within{transform:none}
  body.woocommerce-cart #as-cart-cross .product-card:hover .product-card__media img{transform:none}
}
