/*
 * Carrello e checkout — WT Catering
 * Caricato dal plugin ibsa-menu solo su /carrello/ e /pagamento/.
 * Colori presi dal tema: rosso #9b161d, testo #555, sfondo #f7f7fa.
 */
:root{
  --wt-red:#9b161d; --wt-red-dark:#7d1118; --wt-ink:#1f2430; --wt-muted:#6b7280;
  --wt-line:#e8eaed; --wt-bg:#f7f7fa; --wt-card:#fff; --wt-radius:14px;
  --wt-shadow:0 1px 2px rgba(16,24,40,.04), 0 6px 20px rgba(16,24,40,.06);
}

/* ---------- schede: si stila SOLO il contenitore esterno ----------
 * Elementor avvolge ogni blocco (.e-shop-table, .e-cart-totals, .col-1,
 * .e-woocommerce-login-section) e gli da' gia' bordo e sfondo. Se si stila anche
 * l'elemento interno si vedono due riquadri annidati con due raggi diversi.
 */
body.woocommerce-cart .e-shop-table,
body.woocommerce-cart .e-cart-totals,
body.woocommerce-cart .coupon,
body.woocommerce-checkout .col-1,
body.woocommerce-checkout .col-2,
body.woocommerce-checkout .e-woocommerce-login-section,
body.woocommerce-checkout #order_review{
  background:var(--wt-card) !important; border:1px solid var(--wt-line) !important;
  border-radius:var(--wt-radius) !important; box-shadow:var(--wt-shadow);
  padding:28px 30px !important; margin-bottom:24px;
}
/* contenitori interni: nessun bordo, nessuno sfondo, nessun padding proprio */
body.woocommerce-cart .cart_totals,
body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-additional-fields,
body.woocommerce-checkout #customer_details .col-1 > div,
body.woocommerce-checkout #customer_details .col-2 > div{
  background:transparent !important; border:0 !important; border-radius:0 !important;
  box-shadow:none !important; padding:0 !important; margin:0;
}

body.woocommerce-cart .shop_table,
body.woocommerce-checkout .shop_table{ border:0; margin:0; width:100%; }
body.woocommerce-cart .shop_table td,
body.woocommerce-cart .shop_table th{ border:0; border-bottom:1px solid var(--wt-line); padding:16px 10px; vertical-align:middle; }
body.woocommerce-cart .shop_table tbody tr:last-child td{ border-bottom:0; }
body.woocommerce-cart .shop_table thead th{
  font-size:11px; letter-spacing:.09em; text-transform:uppercase; color:var(--wt-muted);
  font-weight:700; border-bottom:2px solid var(--wt-line); padding-bottom:12px;
}

/* ---------- righe prodotto ---------- */
body.woocommerce-cart .cart_item .product-name a{
  color:var(--wt-ink); font-weight:600; font-size:15px; text-decoration:none; line-height:1.4;
}
body.woocommerce-cart .cart_item .product-name a:hover{ color:var(--wt-red); }
/* i piatti secondari del menu arrivano con il prefisso ⤷ */
body.woocommerce-cart .cart_item .product-name a[href]:not(:hover){ transition:color .15s ease; }
body.woocommerce-cart .cart_item dl.variation,
body.woocommerce-cart .cart_item .product-name p{ font-size:12.5px; color:var(--wt-muted); margin:4px 0 0; }
body.woocommerce-cart .product-price, body.woocommerce-cart .product-subtotal{ color:var(--wt-ink); font-weight:600; white-space:nowrap; }
body.woocommerce-cart .product-thumbnail img{ border-radius:10px; }
body.woocommerce-cart .product-remove a.remove{
  display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px;
  border-radius:50%; background:#f3f4f6; color:var(--wt-muted)!important; font-size:16px; line-height:1;
  text-decoration:none; transition:all .18s ease;
}
body.woocommerce-cart .product-remove a.remove:hover{ background:var(--wt-red); color:#fff!important; }

/* ---------- coupon ---------- */
body.woocommerce-cart .coupon .coupon-col{ display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
body.woocommerce-cart .coupon input#coupon_code{
  flex:1 1 220px; min-height:46px; border:1px solid var(--wt-line); border-radius:10px;
  padding:0 14px; background:#fbfbfc; font-size:14px;
}
body.woocommerce-cart .coupon input#coupon_code:focus{ outline:0; border-color:var(--wt-red); box-shadow:0 0 0 3px rgba(155,22,29,.12); background:#fff; }

/* ---------- riepilogo / totali ---------- */
body.woocommerce-cart .cart_totals h2,
body.woocommerce-checkout #order_review_heading{
  font-size:17px; font-weight:700; color:var(--wt-ink); margin:0 0 18px;
  padding-bottom:14px; border-bottom:1px solid var(--wt-line);
}
body.woocommerce-cart .cart_totals th{
  font-size:13px; font-weight:600; color:var(--wt-muted); text-align:left; width:42%;
}
body.woocommerce-cart .cart_totals td{ text-align:right; }
body.woocommerce-cart .cart_totals .order-total th,
body.woocommerce-cart .cart_totals .order-total td{
  border-top:2px solid var(--wt-line); border-bottom:0; padding-top:18px;
  font-size:19px; color:var(--wt-ink); font-weight:700;
}
body.woocommerce-cart .cart_totals .order-total th{ color:var(--wt-ink); }

/* ---------- luoghi di ritiro: da elenco a schede ---------- */
body.woocommerce-cart .woocommerce-shipping-totals td,
body.woocommerce-checkout .woocommerce-shipping-totals td{ text-align:left; }
/* NB: flex e non grid. Questa lista sta dentro un <td>: con display:grid le
   unita' fr risolvono a 0px e ogni voce diventa altissima, col testo a capo
   lettera per lettera. */
ul#shipping_method{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:8px;
  /* width:100% e' indispensabile: dentro il <td> la ul calcola width:0 e le voci
     collassano a 2px, mandando la lista a 4000px di altezza. */
  width:100%; box-sizing:border-box; }
ul#shipping_method li{ flex:1 1 100%; min-width:0; }
ul#shipping_method li{
  margin:0; padding:0; border:1px solid var(--wt-line); border-radius:10px;
  background:#fbfbfc; transition:all .16s ease;
}
ul#shipping_method li:hover{ border-color:#c7ccd3; background:#fff; }
ul#shipping_method li label{
  display:flex; align-items:center; gap:10px; padding:11px 14px; cursor:pointer;
  font-size:14px; color:var(--wt-ink); font-weight:500; margin:0; width:100%;
}
ul#shipping_method li input[type=radio]{ accent-color:var(--wt-red); width:17px; height:17px; margin:0; flex:0 0 auto; }
ul#shipping_method li:has(input:checked){ border-color:var(--wt-red); background:#fdf5f5; box-shadow:0 0 0 2px rgba(155,22,29,.09); }
ul#shipping_method li:has(input:checked) label{ font-weight:600; }
.woocommerce-shipping-destination{ font-size:12.5px; color:var(--wt-muted); margin:12px 0 0; }
.woocommerce-shipping-calculator a{ color:var(--wt-red); font-size:13px; font-weight:600; }

/* ---------- pulsanti ---------- */
body.woocommerce-cart .checkout-button,
body.woocommerce-checkout #place_order,
body.woocommerce-cart .e-apply-coupon,
body.woocommerce-cart button[name=update_cart]{
  background:var(--wt-red); color:#fff; border:0; border-radius:10px;
  padding:14px 26px; font-size:14.5px; font-weight:700; letter-spacing:.02em;
  transition:all .18s ease; box-shadow:0 2px 6px rgba(155,22,29,.22);
}
body.woocommerce-cart .checkout-button:hover,
body.woocommerce-checkout #place_order:hover,
body.woocommerce-cart .e-apply-coupon:hover{
  background:var(--wt-red-dark); transform:translateY(-1px); box-shadow:0 5px 14px rgba(155,22,29,.28);
}
body.woocommerce-cart .checkout-button,
body.woocommerce-checkout #place_order{ display:block; width:100%; text-align:center; margin-top:20px; padding:16px; font-size:16px; }
body.woocommerce-cart button[name=update_cart]{ background:#fff; color:var(--wt-ink); border:1px solid var(--wt-line); box-shadow:none; }
body.woocommerce-cart button[name=update_cart]:hover:not(:disabled){ background:#f3f4f6; border-color:#c7ccd3; transform:none; box-shadow:none; }

/* ---------- checkout: campi ---------- */
body.woocommerce-checkout .woocommerce-billing-fields h3,
body.woocommerce-checkout .woocommerce-additional-fields h3{
  font-size:17px; font-weight:700; color:var(--wt-ink); margin:0 0 20px;
  padding-bottom:14px; border-bottom:1px solid var(--wt-line);
}
body.woocommerce-checkout .form-row{ margin-bottom:16px; padding:0; }
body.woocommerce-checkout .form-row label{
  display:block; font-size:12.5px; font-weight:600; color:var(--wt-ink);
  margin-bottom:6px; letter-spacing:.01em;
}
body.woocommerce-checkout .form-row .required{ color:var(--wt-red); text-decoration:none; }
body.woocommerce-checkout .form-row input.input-text,
body.woocommerce-checkout .form-row textarea,
body.woocommerce-checkout .select2-container .select2-selection--single,
body.woocommerce-checkout .form-row select{
  width:100%; min-height:48px; border:1px solid var(--wt-line)!important; border-radius:10px;
  padding:12px 14px; font-size:14.5px; color:var(--wt-ink); background:#fbfbfc; transition:all .16s ease;
}
body.woocommerce-checkout .form-row input.input-text:focus,
body.woocommerce-checkout .form-row textarea:focus,
body.woocommerce-checkout .form-row select:focus{
  outline:0; border-color:var(--wt-red)!important; background:#fff; box-shadow:0 0 0 3px rgba(155,22,29,.12);
}
body.woocommerce-checkout .form-row textarea{ min-height:96px; resize:vertical; }
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered{ line-height:24px; color:var(--wt-ink); padding-left:0; }
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow{ height:46px; }
body.woocommerce-checkout .woocommerce-input-wrapper{ width:100%; }

/* ---------- checkout: riepilogo e pagamento ---------- */
body.woocommerce-checkout #order_review .shop_table th,
body.woocommerce-checkout #order_review .shop_table td{
  border:0; border-bottom:1px solid var(--wt-line); padding:14px 6px; font-size:14px;
}
body.woocommerce-checkout #order_review .order-total th,
body.woocommerce-checkout #order_review .order-total td{
  border-top:2px solid var(--wt-line); border-bottom:0; font-size:19px; font-weight:700; color:var(--wt-ink); padding-top:18px;
}
body.woocommerce-checkout #payment{ background:transparent; border-radius:0; }
body.woocommerce-checkout #payment ul.payment_methods{
  list-style:none; margin:0 0 18px; padding:0; border:0; display:flex; flex-direction:column; gap:9px;
}
body.woocommerce-checkout #payment ul.payment_methods li{
  border:1px solid var(--wt-line); border-radius:10px; padding:13px 15px; background:#fbfbfc; transition:all .16s ease;
}
body.woocommerce-checkout #payment ul.payment_methods li:has(input:checked){
  border-color:var(--wt-red); background:#fdf5f5; box-shadow:0 0 0 2px rgba(155,22,29,.09);
}
body.woocommerce-checkout #payment ul.payment_methods li label{ font-weight:600; color:var(--wt-ink); font-size:14px; cursor:pointer; }
body.woocommerce-checkout #payment ul.payment_methods li input[type=radio]{ accent-color:var(--wt-red); margin-right:9px; }
body.woocommerce-checkout #payment div.payment_box{
  background:#f3f4f6; border-radius:9px; font-size:13px; color:var(--wt-muted); margin:10px 0 0; padding:12px 14px;
}
body.woocommerce-checkout #payment div.payment_box::before{ display:none; }
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper{ font-size:13px; color:var(--wt-muted); }

/* ---------- avvisi ---------- */
body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-error,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-checkout .woocommerce-error,
body.woocommerce-checkout .woocommerce-info{
  border-radius:10px; border:1px solid var(--wt-line); border-top:3px solid var(--wt-red);
  background:#fff; box-shadow:var(--wt-shadow); font-size:14px; padding:16px 18px;
}

/* ---------- riepilogo appiccicato su desktop ---------- */
@media (min-width:1025px){
  body.woocommerce-cart .cart-collaterals{ position:sticky; top:40px; }
}
/* ---------- mobile ---------- */
@media (max-width:768px){
  body.woocommerce-cart .e-shop-table,
  body.woocommerce-cart .cart_totals,
  body.woocommerce-cart .coupon,
  body.woocommerce-checkout .woocommerce-billing-fields,
  body.woocommerce-checkout #order_review{ padding:18px 16px; border-radius:12px; }
  body.woocommerce-cart .shop_table td{ padding:12px 6px; }
  body.woocommerce-cart .coupon .coupon-col{ flex-direction:column; align-items:stretch; }
  body.woocommerce-cart .coupon .e-apply-coupon{ width:100%; }
}

/* ---------------------------------------------------------------------------
 * Luoghi di ritiro: sono 12 e in colonna stretta occupavano 754px di altezza,
 * con i nomi lunghi spezzati su 3-4 righe. Su desktop allargo la colonna del
 * riepilogo e li dispongo su due colonne.
 * --------------------------------------------------------------------------- */
@media (min-width:1025px){
  body.woocommerce-cart .e-cart__column-end{ flex:0 0 440px; max-width:440px; width:440px; }
  body.woocommerce-cart .e-cart__column-start{ flex:1 1 auto; max-width:none; }
  body.woocommerce-cart ul#shipping_method li{ flex:1 1 calc(50% - 4px); }
}
/* tessere piu' compatte: con 12 voci la densita' conta piu' dell'aria */
ul#shipping_method li label{ padding:9px 11px; font-size:13.2px; line-height:1.35; gap:8px; }
ul#shipping_method li input[type=radio]{ width:15px; height:15px; }

/* ---------------------------------------------------------------------------
 * Sovrascritture: il tema panino vince su alcune regole (bordi squadrati sui
 * campi, etichette grigie e piccole). Qui alzo la specificita' dove serve.
 * --------------------------------------------------------------------------- */
body.woocommerce-checkout form.checkout .form-row label,
body.woocommerce-checkout .woocommerce-billing-fields .form-row label,
body.woocommerce-checkout .woocommerce-additional-fields .form-row label{
  font-size:13.5px !important; color:var(--wt-ink) !important; font-weight:600 !important;
  margin-bottom:7px !important; letter-spacing:0;
}
body.woocommerce-checkout form.checkout .form-row input.input-text,
body.woocommerce-checkout form.checkout .form-row textarea,
body.woocommerce-checkout form.checkout .form-row select,
body.woocommerce-checkout .select2-container--default .select2-selection--single{
  border-radius:10px !important; font-size:15px !important; background:#fbfbfc !important;
  border:1px solid var(--wt-line) !important; padding:12px 14px !important; min-height:48px !important;
}
body.woocommerce-checkout form.checkout .form-row input.input-text::placeholder,
body.woocommerce-checkout form.checkout .form-row textarea::placeholder{ color:#9aa1ab; }
body.woocommerce-checkout form.checkout .form-row input.input-text:focus,
body.woocommerce-checkout form.checkout .form-row textarea:focus,
body.woocommerce-checkout form.checkout .form-row select:focus{
  border-color:var(--wt-red) !important; background:#fff !important;
  box-shadow:0 0 0 3px rgba(155,22,29,.12) !important;
}
/* le righe affiancate (Nome / Cognome) con un po' d'aria in mezzo */
body.woocommerce-checkout form.checkout .form-row-first{ width:48.5%; float:left; }
body.woocommerce-checkout form.checkout .form-row-last{ width:48.5%; float:right; }
@media (max-width:768px){
  body.woocommerce-checkout form.checkout .form-row-first,
  body.woocommerce-checkout form.checkout .form-row-last{ width:100%; float:none; }
}
/* riepilogo ordine: nomi dei piatti leggibili */
body.woocommerce-checkout #order_review .cart_item td.product-name{ font-size:14.5px; color:var(--wt-ink); font-weight:600; }
body.woocommerce-checkout #order_review .cart_item td.product-total{ white-space:nowrap; font-weight:600; }

/* ---------------------------------------------------------------------------
 * LARGHEZZA E ALLINEAMENTO
 * Il titolo della pagina sta in una colonna Bootstrap "col-sm-10 col-sm-offset-1"
 * del tema, mentre il carrello sta in una "col-sm-12" con Elementor che taglia a
 * 1140px: risultato, il blocco partiva 73px piu' a sinistra del titolo e lasciava
 * spazio vuoto a destra. Qui riporto il carrello nella stessa colonna del titolo.
 * --------------------------------------------------------------------------- */
@media (min-width:992px){
  /* Il titolo sta in una col-sm-10 con offset, il contenuto in una col-sm-12 con
     Elementor che taglia a 1140px: risultato, blocchi disallineati e 380px di
     spazio buttato. Tolgo offset e tetto a TUTTI E DUE, cosi' restano allineati
     e usano tutta la larghezza disponibile. */
  body.woocommerce-cart .PageHeader .col-sm-offset-1,
  body.woocommerce-checkout .PageHeader .col-sm-offset-1{
    width:100% !important; margin-left:0 !important;
  }
  body.woocommerce-cart .container-fluid > .row > .col-sm-12,
  body.woocommerce-checkout .container-fluid > .row > .col-sm-12{
    width:100%; margin-left:0;
  }
  body.woocommerce-cart .elementor-section > .elementor-container,
  body.woocommerce-checkout .elementor-section > .elementor-container{
    max-width:100% !important; margin-left:0 !important; margin-right:0 !important;
  }
}

/* ---------- respiro interno ---------- */
body.woocommerce-cart .shop_table thead th:first-child,
body.woocommerce-cart .shop_table tbody td:first-child{ padding-left:0; }
body.woocommerce-cart .shop_table thead th:last-child,
body.woocommerce-cart .shop_table tbody td:last-child{ padding-right:0; }
body.woocommerce-cart .shop_table td,
body.woocommerce-cart .shop_table th{ padding:18px 14px; }
body.woocommerce-cart .cart_totals table.shop_table th,
body.woocommerce-cart .cart_totals table.shop_table td{ padding:14px 0; }
body.woocommerce-cart .cart_totals h2{ margin-top:0; }

/* la colonna immagine e' vuota (i piatti non hanno foto): occupava spazio inutile */
body.woocommerce-cart .shop_table .product-thumbnail{ display:none; }
body.woocommerce-cart .shop_table thead th.product-thumbnail{ display:none; }
body.woocommerce-cart .shop_table .product-remove{ width:34px; padding-right:0; }

/* tessere dei luoghi tutte alte uguale nella riga */
ul#shipping_method li label{ height:100%; align-items:flex-start; }

/* ---------------------------------------------------------------------------
 * DUE COLONNE su carrello e checkout.
 * Elementor mette flex-wrap:wrap sul contenitore: con la colonna sinistra a
 * flex-basis:auto la tabella prendeva tutta la larghezza e mandava a capo il
 * riepilogo, che finiva sotto invece che a fianco. Con basis 0 si comprime.
 * --------------------------------------------------------------------------- */
@media (min-width:992px){
  body.woocommerce-cart .e-cart__container,
  body.woocommerce-checkout .e-checkout__container{
    display:flex !important; flex-wrap:nowrap !important; gap:30px; align-items:flex-start;
  }
  body.woocommerce-cart .e-cart__column-start,
  body.woocommerce-checkout .e-checkout__column-start{
    flex:1 1 0 !important; min-width:0 !important; max-width:none !important; width:auto !important;
  }
  body.woocommerce-cart .e-cart__column-end,
  body.woocommerce-checkout .e-checkout__column-end{
    flex:0 0 370px !important; width:370px !important; max-width:370px !important;
  }
  body.woocommerce-checkout .e-checkout__column-inner{ position:sticky; top:40px; }
  /* col-1 e col-2 di WooCommerce affiancate non servono: la colonna e' gia' stretta */
  body.woocommerce-checkout #customer_details .col-1,
  body.woocommerce-checkout #customer_details .col-2{ float:none; width:100%; }
}
/* il riepilogo nella colonna stretta: righe compatte e leggibili */
body.woocommerce-checkout #order_review .shop_table td,
body.woocommerce-checkout #order_review .shop_table th{ padding:12px 0; }
body.woocommerce-checkout #order_review .cart_item td.product-name{ line-height:1.4; padding-right:10px; }
body.woocommerce-checkout #order_review_heading{ display:none; } /* il titolo lo da' gia' la scheda */

/* ---------------------------------------------------------------------------
 * Ultimi 9px di disallineamento col titolo: li mette .elementor-widget-wrap
 * con il suo padding di 10px. Il titolo della pagina non ce l'ha.
 * --------------------------------------------------------------------------- */
@media (min-width:992px){
  body.woocommerce-cart .elementor-widget-wrap,
  body.woocommerce-checkout .elementor-widget-wrap{ padding-left:0 !important; padding-right:0 !important; }
}

/* ---------------------------------------------------------------------------
 * Con la colonna del form ora larga, i campi vanno su due colonne: altrimenti
 * un campo "C.A.P." largo 1000px e' solo spazio sprecato.
 * --------------------------------------------------------------------------- */
@media (min-width:1200px){
  body.woocommerce-checkout .e-checkout__column-end{ flex:0 0 420px !important; width:420px !important; max-width:420px !important; }
  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
  body.woocommerce-checkout .woocommerce-additional-fields__field-wrapper{
    display:grid; grid-template-columns:1fr 1fr; gap:0 22px;
  }
  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row{ width:100%; float:none; margin-left:0; margin-right:0; }
  /* i campi lunghi occupano tutta la riga */
  body.woocommerce-checkout #billing_company_field,
  body.woocommerce-checkout #billing_address_1_field,
  body.woocommerce-checkout #billing_address_2_field,
  body.woocommerce-checkout .woocommerce-additional-fields__field-wrapper > .form-row{ grid-column:1 / -1; }
}

/* ---------- luoghi di ritiro: respiro interno ---------- */
ul#shipping_method li label{
  padding:13px 15px; gap:11px; font-size:13.5px; line-height:1.4;
  align-items:center; min-height:52px;
}
ul#shipping_method li{ display:flex; }
ul#shipping_method li input[type=radio]{ width:16px; height:16px; flex:0 0 16px; }
.woocommerce-shipping-destination{ margin-top:16px; }

/* dentro la griglia i float non servono piu' e anzi restringono i campi a meta' cella */
@media (min-width:1200px){
  body.woocommerce-checkout form.checkout .woocommerce-billing-fields__field-wrapper > .form-row-first,
  body.woocommerce-checkout form.checkout .woocommerce-billing-fields__field-wrapper > .form-row-last,
  body.woocommerce-checkout form.checkout .woocommerce-billing-fields__field-wrapper > .form-row{
    width:100% !important; float:none !important; margin-left:0 !important; margin-right:0 !important;
  }
}

/* ---------------------------------------------------------------------------
 * Checkout, riepilogo: la riga del ritiro e' th+td dentro una tabella stretta,
 * e la th si prendeva 185px dei 420, lasciando 111px alla lista. Impilo etichetta
 * e lista cosi' le tessere hanno tutta la larghezza della colonna.
 * --------------------------------------------------------------------------- */
/* Niente display:block sulle celle: rompe il calcolo della tabella (finiva a
   296px invece di 360). Tengo la struttura tabellare e assegno le larghezze. */
/* NB: niente table-layout:fixed. Con layout fisso le larghezze le detta la PRIMA
   riga (Prodotto/Subtotale) e la riga del ritiro veniva divisa 50/50, lasciando
   148px alle tessere. In layout auto la th si stringe sul suo contenuto. */
body.woocommerce-checkout #order_review table.shop_table{ width:100% !important; }
body.woocommerce-checkout #order_review .woocommerce-shipping-totals th{
  width:1%; white-space:nowrap; vertical-align:top; padding-top:18px; padding-left:0;
  padding-right:14px; word-break:normal;
}
body.woocommerce-checkout #order_review .woocommerce-shipping-totals td{
  width:auto; padding-left:0; padding-right:0; text-align:left;
}
body.woocommerce-checkout #order_review ul#shipping_method li{ flex:1 1 100%; }
body.woocommerce-checkout #order_review ul#shipping_method li label{ min-height:44px; padding:11px 14px; }

/* #order_review restava 358px dentro una colonna da 420: gli mancavano 62px,
   e la tabella dentro (width:100%) ereditava lo stesso restringimento. */
body.woocommerce-checkout .e-checkout__column-end #order_review{
  width:100% !important; box-sizing:border-box; margin-left:0; margin-right:0;
  padding:24px 22px !important;   /* 30px per lato erano troppi in una colonna stretta */
}

/* ---------------------------------------------------------------------------
 * TESSERE DEI LUOGHI DI RITIRO — regola unica e definitiva.
 * Sopra si erano accumulate cinque dichiarazioni in conflitto (padding e
 * align-items diversi): il contenuto finiva incollato in alto a sinistra con
 * spazio morto sotto, perche' le righe si allungano sulla tessera piu' alta.
 * Qui la tessera e' un contenitore flex, la label la riempie tutta e il
 * contenuto e' centrato verticalmente.
 * --------------------------------------------------------------------------- */
body.woocommerce-cart ul#shipping_method li,
body.woocommerce-checkout ul#shipping_method li{
  display:flex; align-items:stretch;
}
body.woocommerce-cart ul#shipping_method li label,
body.woocommerce-checkout ul#shipping_method li label{
  display:flex !important;
  align-items:center !important;        /* centrato, non incollato in alto */
  gap:11px !important;
  width:100%; margin:0 !important;
  padding:14px 16px !important;         /* respiro uguale sui quattro lati */
  min-height:58px;
  font-size:13.5px; line-height:1.35; font-weight:500;
  box-sizing:border-box; cursor:pointer;
}
body.woocommerce-cart ul#shipping_method li input[type=radio],
body.woocommerce-checkout ul#shipping_method li input[type=radio]{
  flex:0 0 16px; width:16px; height:16px; margin:0 !important;
}
/* nella colonna stretta del checkout bastano misure un filo piu' contenute */
body.woocommerce-checkout #order_review ul#shipping_method li label{
  padding:12px 14px !important; min-height:50px;
}

/* ---------------------------------------------------------------------------
 * La X di rimozione: il tema riportava l'elemento a inline-block, quindi la
 * centratura flex non entrava mai in funzione e il glifo × (U+00D7) restava
 * 5px sopra il centro del cerchio. Qui il flex e' forzato.
 * --------------------------------------------------------------------------- */
body.woocommerce-cart td.product-remove a.remove,
body.woocommerce-cart .product-remove a.remove{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:26px !important; height:26px !important;
  padding:0 !important; margin:0 !important;
  border-radius:50% !important;
  background:#f3f4f6;
  color:var(--wt-muted) !important;
  font-size:19px !important;
  line-height:1 !important;
  font-weight:400;
  text-decoration:none;
  transition:background .18s ease, color .18s ease;
}
body.woocommerce-cart .product-remove a.remove:hover{ background:var(--wt-red); color:#fff !important; }

/* ---------------------------------------------------------------------------
 * Il blocco pagamento ora sta nella colonna larga: gli do' la stessa veste
 * delle altre schede e ai campi della carta una larghezza leggibile.
 * --------------------------------------------------------------------------- */
body.woocommerce-checkout .e-checkout__column-start #payment{
  background:var(--wt-card); border:1px solid var(--wt-line); border-radius:var(--wt-radius);
  box-shadow:var(--wt-shadow); padding:28px 30px; margin-top:24px;
}
body.woocommerce-checkout .e-checkout__column-start #payment .payment_box{ max-width:520px; }
body.woocommerce-checkout .e-checkout__column-start #payment .payment_box input[type=text],
body.woocommerce-checkout .e-checkout__column-start #payment .payment_box input[type=password],
body.woocommerce-checkout .e-checkout__column-start #payment .payment_box input[type=number]{
  max-width:340px; border-radius:10px; min-height:46px; padding:11px 14px;
  border:1px solid var(--wt-line); background:#fbfbfc;
}
body.woocommerce-checkout .e-checkout__column-start #place_order{ max-width:420px; }

/* ---------- luogo di ritiro: menu a tendina ---------- */
select.ibsa-ritiro-select{
  width:100%; max-width:100%; box-sizing:border-box;
  min-height:48px; padding:12px 14px;
  border:1px solid var(--wt-line); border-radius:10px;
  background:#fbfbfc; color:var(--wt-ink);
  font-size:14px; font-weight:500; line-height:1.3; cursor:pointer;
  appearance:none;
  background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%236b7280' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 14px center;
  padding-right:38px;
}
select.ibsa-ritiro-select:hover{ border-color:#c7ccd3; background-color:#fff; }
select.ibsa-ritiro-select:focus{
  outline:0; border-color:var(--wt-red); background-color:#fff;
  box-shadow:0 0 0 3px rgba(155,22,29,.12);
}

/* ---------------------------------------------------------------------------
 * Doppio bordo nel checkout: .e-checkout__order_review e' il wrapper Elementor
 * (raggio 3px) e conteneva #order_review con la mia scheda (raggio 14px).
 * Stilo l'esterno e azzero l'interno — che cosi' recupera anche i 62px che il
 * padding del wrapper gli mangiava.
 * --------------------------------------------------------------------------- */
body.woocommerce-checkout .e-checkout__order_review,
body.woocommerce-checkout .e-coupon-box{
  background:var(--wt-card) !important; border:1px solid var(--wt-line) !important;
  border-radius:var(--wt-radius) !important; box-shadow:var(--wt-shadow);
  padding:24px 22px !important; margin-bottom:20px;
}
body.woocommerce-checkout .e-checkout__order_review #order_review{
  background:transparent !important; border:0 !important; border-radius:0 !important;
  box-shadow:none !important; padding:0 !important; margin:0 !important;
  width:100% !important;
}

/* ---------------------------------------------------------------------------
 * Carrello: il luogo di ritiro si sceglie gia' nel "metodo di consegna", quindi
 * "Ritiro presso ..." e "Cambia indirizzo" sono solo rumore. Restano al checkout.
 * --------------------------------------------------------------------------- */
body.woocommerce-cart .woocommerce-shipping-destination,
body.woocommerce-cart .woocommerce-shipping-calculator{ display:none !important; }
