/* ============================================================
   NEGOZIO: carrello, pagamento, conferma d'ordine, account e gli
   avvisi di WooCommerce. 24 settembre 2026.

   Prima lo stile di queste pagine stava in sei posti che si
   contraddicevano: il CSS di WooCommerce, app.css (gradiente e
   !important su ogni bottone), redesign.css (il bottone della scheda
   libro), redesign-2 (carrello vuoto), redesign-3 (carrello),
   redesign-4 (pagamento). In piu' page.php metteva tutto dentro
   .prose, la tipografia degli articoli: tabelle, liste, immagini e
   link da testo lungo finivano nei moduli.
   Si vedeva: il bottone principale era nero nella scheda libro, a
   gradiente nel carrello, giallo al pagamento, bianco nella password
   dimenticata; riquadri dentro riquadri; il bollino degli avvisi
   sopra la prima lettera; due bordi attorno agli avvisi.

   Ora il sistema e' uno, qui. Si carica per ultimo e solo nelle
   pagine del negozio (functions.php). Le regole vecchie di
   redesign/2/3/4 su queste pagine sono state tolte. app.css e'
   compilato e resta: qui lo si batte con #site-content davanti, che
   pesa piu' delle sue classi, e con !important dove lui lo usa.

   I componenti, uguali in ogni pagina:
   - bottone principale  nero con l'ombra viola, quello di "Aggiungi al carrello";
   - bottone secondario  bianco, bordo nero, ombra corta;
   - campo               bordo 3px, raggio 12px, alto 48px, testo a 16px
                         (sotto i 16px l'iPhone ingrandisce la pagina);
   - scelta              radio e spunte col bordo nero, piene quando scelte;
   - scheda              una per blocco, mai una dentro l'altra;
   - titolo di sezione   maiuscolo con l'evidenziatore giallo;
   - avviso              riquadro bianco col bollino a sinistra.
   ============================================================ */
:root{
  --pp-wc-line:2px dashed rgba(36,33,36,.22);
  --pp-wc-muted:rgba(36,33,36,.72);
  --pp-wc-scelto:#FFF4CC;
  --pp-wc-errore:#A0104A;
  --pp-wc-ok:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='%23242124' stroke-width='3.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* ---------- 1. Contenitore: .pp-wc al posto di .prose (page.php) ---------- */
.pp-wc{ font-family:"Space Mono",monospace; font-size:1rem; line-height:1.6; color:var(--pp-ink); }
.pp-wc p{ margin:0 0 1rem; }
/* app-1.css da' a ogni <p> max-width 65ch e 18px dai 1024px in su. Nei moduli
   di WooCommerce le righe dei campi sono <p>: i campi larghi si fermavano a
   65 caratteri, 30px prima degli altri, e i testi erano piu' grandi del resto. */
#site-content .pp-wc p{ font-size:inherit; }
#site-content .pp-wc :is(p.form-row,p.woocommerce-form-row,.woocommerce-notice,.return-to-shop,.woocommerce-LostPassword,address p){ max-width:none; }
.pp-wc a:not(.button):not(.remove){
  color:var(--pp-ink); font-weight:700; text-decoration:underline;
  text-decoration-color:var(--pp-acid); text-decoration-thickness:3px; text-underline-offset:3px; }
.pp-wc a:not(.button):not(.remove):hover{ text-decoration-color:var(--pp-rosa); }
/* WooCommerce chiude i blocchi con un "clearfix" (::before/::after in display
   table). Dentro una griglia o una riga flex diventano caselle vuote che
   spostano tutto: dove qui sotto un blocco diventa griglia o flex, spariscono. */
#site-content .pp-wc :is(.col2-set,.woocommerce-order-overview,.woocommerce-Address-title,.wc-proceed-to-checkout,.coupon,.woocommerce-form-login .form-row)::before,
#site-content .pp-wc :is(.col2-set,.woocommerce-order-overview,.woocommerce-Address-title,.wc-proceed-to-checkout,.coupon,.woocommerce-form-login .form-row)::after{ display:none; }

/* ---------- 2. Passi dell'acquisto (sotto il titolo) ---------- */
.pp-wc-steps{ display:flex; flex-wrap:wrap; justify-content:center; gap:.5rem; list-style:none;
  margin:0 auto 2.5rem; padding:0; font-family:"Space Mono",monospace; font-size:.75rem; font-weight:700;
  line-height:1.2; text-transform:uppercase; }
.pp-wc-steps li{ display:inline-flex; align-items:center; gap:.5rem; margin:0; padding:.3rem .85rem .3rem .3rem;
  border:2px solid var(--pp-ink); border-radius:999px; background:rgba(255,255,255,.65); color:var(--pp-ink); }
.pp-wc-steps li:not(.is-current):not(.is-done){ opacity:.55; }
.pp-wc-steps li.is-current{ background:var(--pp-ink); color:#fff; }
.pp-wc-steps a{ display:inline-flex; align-items:center; gap:.5rem; color:inherit; text-decoration:none; }
/* Sui telefoni app-1.css da' 44px di altezza minima a ogni link (bersaglio del dito):
   il passo col link diventava alto 58px e si portava dietro gli altri. Il link
   riempie il suo passo, e tutti i passi sono alti 44px. */
.pp-wc-steps li:has(> a){ padding:0; }
.pp-wc-steps li > a{ padding:.3rem .85rem .3rem .3rem; min-height:0; }
@media (hover:none){ .pp-wc-steps li{ min-height:44px; box-sizing:border-box; } .pp-wc-steps li > a{ min-height:40px; } }
.pp-wc-steps a:hover .pp-wc-step-t{ text-decoration:underline; text-decoration-color:var(--pp-acid); text-decoration-thickness:3px; }
.pp-wc-step-n{ display:inline-grid; place-items:center; flex:0 0 auto; width:1.6rem; height:1.6rem; box-sizing:border-box;
  border:2px solid var(--pp-ink); border-radius:50%; background:#fff; color:var(--pp-ink);
  font-family:"Archivo Black",sans-serif; font-size:.72rem; line-height:1; }
.pp-wc-steps .is-current .pp-wc-step-n{ background:var(--pp-acid); }
.pp-wc-step-n.is-ok{ background:var(--pp-acid) var(--pp-wc-ok) center/70% no-repeat; }
@media (max-width:560px){
  .pp-wc-steps li:not(.is-current){ padding:.3rem; }
  .pp-wc-steps li:not(.is-current) > a{ padding:.3rem; }
  .pp-wc-steps li:not(.is-current) .pp-wc-step-t{ position:absolute; width:1px; height:1px; overflow:hidden;
    clip:rect(0 0 0 0); white-space:nowrap; }
}

/* ---------- 3. Titoli di sezione ---------- */
/* L'evidenziatore e' una sottolineatura spessa che passa dietro alle lettere:
   segue il testo riga per riga e non tutta la larghezza del blocco. */
#site-content .pp-wc :is(h2,h3){
  display:block; margin:0 0 1.1rem; padding:0; border:0; background:none;
  font-family:"Archivo Black",sans-serif; font-size:1.3rem; font-weight:400; line-height:1.2;
  text-transform:uppercase; color:var(--pp-ink); overflow-wrap:normal;
  text-decoration:underline; text-decoration-color:var(--pp-acid); text-decoration-thickness:.34em;
  text-underline-offset:-.1em; text-decoration-skip-ink:none; }
#site-content .pp-wc .pp-wc-sec--paga{ margin-top:2.25rem; }

/* ---------- 4. Avvisi ---------- */
/* Il bollino e' assoluto, all'altezza della prima riga, e il testo gli lascia
   il posto: prima il padding di app.css (16px) lo metteva sopra la prima
   lettera ("✓avaliere Paolo").
   Il secondo bordo viola era l'anello del focus: WooCommerce porta il focus
   sull'avviso per chi usa il lettore di schermo, e il focus visibile del sito
   lo disegnava. Un avviso non si clicca: niente anello. */
:is(.woocommerce-message,.woocommerce-info,.woocommerce-error){
  position:relative; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between;
  gap:.6rem 1.25rem; box-sizing:border-box; width:auto; max-width:100%; min-height:3.6rem;
  margin:0 0 1.5rem; padding:.9rem 1rem .9rem 3.7rem; list-style:none;
  background:#fff; color:var(--pp-ink); border:3px solid var(--pp-ink); border-radius:var(--pp-r-ctrl);
  box-shadow:var(--pp-shadow); font-family:"Space Mono",monospace; font-size:.92rem; line-height:1.5;
  overflow-wrap:break-word; }
:is(.woocommerce-message,.woocommerce-info,.woocommerce-error)::before{
  content:""; position:absolute; left:.9rem; top:.7rem; transform:none;
  display:grid; place-items:center; box-sizing:border-box; width:1.9rem; height:1.9rem; margin:0;
  border:2px solid var(--pp-ink); border-radius:50%; background:var(--pp-acid) var(--pp-wc-ok) center/68% no-repeat;
  font-family:"Archivo Black",sans-serif; font-size:.95rem; line-height:1; color:var(--pp-ink); }
.woocommerce-info::before{ content:"i"; background:#fff; }
.woocommerce-error::before{ content:"!"; background:var(--pp-rosa); }
:is(.woocommerce-message,.woocommerce-info,.woocommerce-error)::after{ display:none; }
:is(.woocommerce-message,.woocommerce-info,.woocommerce-error):is(:focus,:focus-visible){ outline:none !important; }
ul.woocommerce-error{ display:block; }
ul.woocommerce-error li{ margin:0 0 .3rem; padding:0; list-style:none; }
ul.woocommerce-error li:last-child{ margin-bottom:0; }
/* Nel carrello "Visualizza carrello" porta alla pagina dove si e' gia'. */
.woocommerce-cart #site-content .woocommerce-message a.wc-forward{ display:none !important; }
/* "Hai un codice promozionale?" al pagamento: una riga, non un avviso. */
#site-content .woocommerce-form-coupon-toggle .woocommerce-info{
  display:block; min-height:0; margin:0 0 1.5rem; padding:0; border:0; border-radius:0;
  background:none; box-shadow:none; font-size:.9rem; }
#site-content .woocommerce-form-coupon-toggle .woocommerce-info::before{ display:none; }

/* ---------- 5. Bottoni ---------- */
/* Principale: chi va avanti con l'acquisto. */
#site-content .single_add_to_cart_button,
#site-content a.button.add_to_cart_button,
#site-content .wc-proceed-to-checkout a.checkout-button,
#site-content #place_order,
#site-content .pp-wc form.login button.button,
#site-content .pp-wc form.register button.button,
#site-content .pp-wc form.lost_reset_password button.button,
#site-content .pp-wc form.woocommerce-EditAccountForm button.button,
#site-content .pp-wc .woocommerce-address-fields button.button,
#site-content .pp-wc .return-to-shop a.button,
#site-content .pp-wc .woocommerce-thankyou-order-failed-actions a.pay{
  box-sizing:border-box; min-height:52px; margin:0; padding:.95rem 1.6rem !important; float:none;
  background:var(--pp-ink) !important; background-image:none !important; color:#fff !important;
  border:3px solid var(--pp-ink) !important; border-radius:var(--pp-r-ctrl) !important;
  box-shadow:4px 6px 0 var(--pp-viola) !important; transform:none !important;
  font-family:"Archivo Black",sans-serif !important; font-size:.95rem !important; font-weight:400 !important;
  line-height:1.2 !important; text-transform:uppercase !important; text-align:center !important;
  text-decoration:none !important; overflow-wrap:normal; cursor:pointer;
  transition:transform .12s ease, box-shadow .12s ease, background-color .12s ease; }
#site-content .single_add_to_cart_button:hover,
#site-content a.button.add_to_cart_button:hover,
#site-content .wc-proceed-to-checkout a.checkout-button:hover,
#site-content #place_order:hover,
#site-content .pp-wc form.login button.button:hover,
#site-content .pp-wc form.register button.button:hover,
#site-content .pp-wc form.lost_reset_password button.button:hover,
#site-content .pp-wc form.woocommerce-EditAccountForm button.button:hover,
#site-content .pp-wc .woocommerce-address-fields button.button:hover,
#site-content .pp-wc .return-to-shop a.button:hover,
#site-content .pp-wc .woocommerce-thankyou-order-failed-actions a.pay:hover{
  background:var(--pp-viola) !important; color:#fff !important;
  transform:translate(-2px,-2px) !important; box-shadow:var(--pp-shadow-up) !important; }
#site-content .single_add_to_cart_button:active,
#site-content .wc-proceed-to-checkout a.checkout-button:active,
#site-content #place_order:active,
#site-content .pp-wc form.login button.button:active,
#site-content .pp-wc .return-to-shop a.button:active{
  transform:translate(3px,3px) !important; box-shadow:2px 2px 0 var(--pp-viola) !important; }
/* Secondario: tutto il resto (applica il codice, vedi l'ordine, avvisi). */
#site-content :is(.woocommerce-message,.woocommerce-info,.woocommerce-error) a.button,
#site-content .pp-wc .woocommerce-cart-form .actions button.button,
#site-content .pp-wc form.checkout_coupon button.button,
#site-content .pp-wc .woocommerce-shipping-calculator button.button,
#site-content .pp-wc .woocommerce-MyAccount-content a.button,
#site-content .pp-wc .woocommerce-MyAccount-content .woocommerce-pagination .button,
#site-content .pp-wc .order-again a.button,
#site-content .pp-wc .woocommerce-thankyou-order-failed-actions a.button:not(.pay){
  box-sizing:border-box; min-height:44px; margin:0; padding:.7rem 1.1rem !important; float:none !important;
  background:#fff !important; background-image:none !important; color:var(--pp-ink) !important;
  border:3px solid var(--pp-ink) !important; border-radius:var(--pp-r-ctrl) !important;
  box-shadow:var(--pp-shadow-in) !important; transform:none !important;
  font-family:"Archivo Black",sans-serif !important; font-size:.78rem !important; font-weight:400 !important;
  line-height:1.2 !important; text-transform:uppercase !important; text-align:center !important;
  text-decoration:none !important; white-space:nowrap; overflow-wrap:normal; cursor:pointer;
  transition:transform .12s ease, box-shadow .12s ease, background-color .12s ease; }
#site-content :is(.woocommerce-message,.woocommerce-info,.woocommerce-error) a.button:hover,
#site-content .pp-wc .woocommerce-cart-form .actions button.button:hover,
#site-content .pp-wc form.checkout_coupon button.button:hover,
#site-content .pp-wc .woocommerce-shipping-calculator button.button:hover,
#site-content .pp-wc .woocommerce-MyAccount-content a.button:hover,
#site-content .pp-wc .order-again a.button:hover,
#site-content .pp-wc .woocommerce-thankyou-order-failed-actions a.button:not(.pay):hover{
  background:var(--pp-acid) !important; color:var(--pp-ink) !important;
  transform:translate(-1px,-1px) !important; box-shadow:3px 4px 0 var(--pp-ink) !important; }
#site-content .pp-wc button.button:is(:disabled,.disabled),
#site-content button.single_add_to_cart_button:is(:disabled,.disabled){
  opacity:.5 !important; cursor:not-allowed !important; transform:none !important; box-shadow:none !important; }
/* PayPal e Google Pay nascondono "Effettua ordine" con uno style in linea per
   mostrare il loro bottone; app.css lo rimetterebbe in vista (inline-block
   !important) e il cliente vedrebbe due bottoni. Qui vince il nascosto. */
.woocommerce-checkout #place_order[style*="display: none"],
.woocommerce-checkout #place_order[style*="display:none"]{ display:none !important; }

/* ---------- 6. Campi ---------- */
#site-content .pp-wc :is(input.input-text,input[type=text],input[type=email],input[type=tel],input[type=password],input[type=number],input[type=search],textarea,select),
#site-content .pp-wc .select2-container--default .select2-selection--single{
  box-sizing:border-box; width:100%; min-height:48px; height:auto; margin:0; padding:.7rem .9rem;
  background:#fff; color:var(--pp-ink); border:3px solid var(--pp-ink); border-radius:var(--pp-r-ctrl);
  box-shadow:none; font-family:"Space Mono",monospace; font-size:1rem; line-height:1.4; }
#site-content .pp-wc :is(input.input-text,input[type=text],input[type=email],input[type=tel],input[type=password],input[type=number],textarea,select):focus{
  background:#FFFBEA; box-shadow:none; border-color:var(--pp-ink); }
#site-content .pp-wc :is(input,textarea)::placeholder{ color:rgba(36,33,36,.5); opacity:1; }
#site-content .pp-wc textarea{ min-height:6.5rem; resize:vertical; }
#site-content .pp-wc .woocommerce-input-wrapper{ display:block; width:100%; }
#site-content .pp-wc .form-row{ margin:0; padding:0; }
#site-content .pp-wc .form-row label,
#site-content .pp-wc .woocommerce-form-row label{
  display:block; margin:0 0 .35rem; font-family:"Space Mono",monospace; font-size:.78rem; font-weight:700;
  line-height:1.3; text-transform:uppercase; color:var(--pp-ink); overflow-wrap:normal; }
#site-content .pp-wc .required{ color:var(--pp-viola); font-weight:700; text-decoration:none; border:0; visibility:visible; }
#site-content .pp-wc .optional{ font-weight:400; text-transform:none; color:var(--pp-wc-muted); }
/* Campo sbagliato: bordo e sfondo rosa, la frase di WooCommerce sotto in chiaro.
   Il bordo verde "valido" di WooCommerce no: sarebbe verde mezzo modulo. */
#site-content .pp-wc .form-row.woocommerce-validated :is(input.input-text,select,.select2-selection){ border-color:var(--pp-ink); }
#site-content .pp-wc .form-row.woocommerce-invalid :is(input.input-text,select,textarea,.select2-selection){
  border-color:var(--pp-wc-errore) !important; background:#FFF1F4; }
#site-content .pp-wc .form-row.woocommerce-invalid label{ color:var(--pp-wc-errore); }
#site-content .pp-wc .checkout-inline-error-message{ margin:.35rem 0 0; font-size:.8rem; font-weight:700; color:var(--pp-wc-errore); }
/* Paese e provincia (select2) come gli altri campi. */
#site-content .pp-wc .select2-container{ width:100% !important; }
#site-content .pp-wc .select2-container--default .select2-selection--single{ display:flex; align-items:center; padding:0 2.4rem 0 .9rem; }
#site-content .pp-wc .select2-container--default .select2-selection--single .select2-selection__rendered{
  padding:0; line-height:1.4; color:var(--pp-ink); font-family:"Space Mono",monospace; }
#site-content .pp-wc .select2-container--default .select2-selection--single .select2-selection__arrow{ top:0; right:.6rem; height:100%; }
#site-content .pp-wc .select2-container--default .select2-selection--single .select2-selection__arrow b{ border-top-color:var(--pp-ink); border-width:7px 6px 0 6px; margin-left:-6px; margin-top:-3px; }
.select2-container--default .select2-dropdown{ border:3px solid var(--pp-ink); border-radius:var(--pp-r-ctrl); overflow:hidden;
  font-family:"Space Mono",monospace; font-size:.95rem; box-shadow:var(--pp-shadow); }
.select2-container--default .select2-search--dropdown .select2-search__field{ border:2px solid var(--pp-ink); border-radius:8px;
  padding:.45rem .6rem; font-family:"Space Mono",monospace; font-size:1rem; }
body .select2-container--default .select2-results__option--highlighted[aria-selected],
body .select2-container--default .select2-results__option--highlighted[data-selected]{ background:var(--pp-acid) !important; color:var(--pp-ink) !important; }
body .select2-container--default .select2-results__option[aria-selected=true],
body .select2-container--default .select2-results__option[data-selected=true]{ background:var(--pp-cream); color:var(--pp-ink); }
/* Quantita': uguale nella scheda libro e nel carrello. */
#site-content .quantity input.qty{
  box-sizing:border-box; width:4.75rem; min-height:48px; margin:0; padding:.4rem .35rem;
  background:#fff; color:var(--pp-ink); border:3px solid var(--pp-ink) !important; border-radius:var(--pp-r-ctrl);
  box-shadow:none; font-family:"Space Mono",monospace; font-size:1rem; font-weight:700; text-align:center; }
/* Mostra password: un'icona dentro il campo, non un bottone con l'ombra. */
#site-content .pp-wc .password-input{ position:relative; display:block; }
#site-content .pp-wc .password-input input{ padding-right:3.2rem; }
#site-content .pp-wc .show-password-input{
  position:absolute; top:50%; right:.45rem; transform:translateY(-50%) !important; width:2.5rem; height:2.5rem; min-height:0;
  margin:0; padding:0 !important; display:grid; place-items:center; background:transparent !important;
  border:0 !important; border-radius:8px !important; box-shadow:none !important; color:var(--pp-ink); cursor:pointer; }
#site-content .pp-wc .show-password-input:hover{ background:var(--pp-acid) !important; }

/* ---------- 7. Scelte: radio e spunte ---------- */
#site-content .pp-wc :is(input[type=radio],input[type=checkbox]){
  -webkit-appearance:none; appearance:none; flex:0 0 auto; box-sizing:border-box;
  width:1.4rem; height:1.4rem; min-height:0; margin:0; padding:0; vertical-align:middle;
  background:#fff; border:3px solid var(--pp-ink); box-shadow:none; cursor:pointer; }
#site-content .pp-wc input[type=radio]{ border-radius:50%; }
#site-content .pp-wc input[type=checkbox]{ border-radius:6px; }
#site-content .pp-wc input[type=radio]:checked{ background:radial-gradient(circle,var(--pp-ink) 0 36%,#fff 42%); }
#site-content .pp-wc input[type=checkbox]:checked{ background:var(--pp-acid) var(--pp-wc-ok) center/88% no-repeat; }
#site-content .pp-wc label.woocommerce-form__label-for-checkbox{
  display:inline-flex; align-items:center; gap:.65rem; margin:0; font-size:.9rem; text-transform:none; cursor:pointer; }

/* ---------- 8. Riepilogo: totali del carrello, ordine al pagamento, ordine concluso ---------- */
/* Una sola scheda a righe: etichetta a sinistra, importo a destra, tratteggio
   fra le righe, il totale sulla fascia gialla. La spedizione va in colonna:
   le opzioni hanno bisogno di tutta la larghezza. */
#site-content .pp-wc :is(.cart_totals table.shop_table,table.woocommerce-checkout-review-order-table,table.order_details){
  display:block; box-sizing:border-box; width:100%; margin:0; background:#fff;
  border:3px solid var(--pp-ink) !important; border-radius:var(--pp-r-card) !important; box-shadow:var(--pp-shadow);
  border-collapse:separate; border-spacing:0; overflow:hidden; }
#site-content .pp-wc :is(.cart_totals table.shop_table,table.woocommerce-checkout-review-order-table,table.order_details) :is(thead,tbody,tfoot){ display:block; }
#site-content .pp-wc :is(.cart_totals table.shop_table,table.woocommerce-checkout-review-order-table,table.order_details) tr{
  display:flex; align-items:baseline; justify-content:space-between; gap:1rem; margin:0; padding:.85rem 1.15rem;
  border:0; border-top:var(--pp-wc-line); background:transparent; }
#site-content .pp-wc :is(.cart_totals table.shop_table,table.woocommerce-checkout-review-order-table,table.order_details) > :first-child > tr:first-child{ border-top:0; }
#site-content .pp-wc :is(.cart_totals table.shop_table,table.woocommerce-checkout-review-order-table,table.order_details) :is(th,td){
  display:block; margin:0; padding:0 !important; border:0 !important; background:transparent !important;
  font-family:"Space Mono",monospace; font-size:.92rem; line-height:1.45; text-align:left; overflow-wrap:normal; }
#site-content .pp-wc :is(.cart_totals table.shop_table,table.woocommerce-checkout-review-order-table,table.order_details) th{
  flex:0 0 auto; font-weight:700; font-size:.75rem; text-transform:uppercase; }
#site-content .pp-wc :is(.cart_totals table.shop_table,table.woocommerce-checkout-review-order-table,table.order_details) td{
  margin-left:auto; text-align:right !important; }
#site-content .pp-wc :is(.cart_totals table.shop_table,table.woocommerce-checkout-review-order-table,table.order_details) td::before{ display:none !important; }
/* Stessa lista :is della regola delle righe: :is() pesa quanto il suo elemento
   piu' pesante, e con una lista piu' corta lo sfondo nero perdeva. */
#site-content .pp-wc :is(.cart_totals table.shop_table,table.woocommerce-checkout-review-order-table,table.order_details) thead tr{ background:var(--pp-ink); }
#site-content .pp-wc :is(table.woocommerce-checkout-review-order-table,table.order_details) thead th{ color:var(--pp-cream); }
#site-content .pp-wc :is(table.woocommerce-checkout-review-order-table,table.order_details) td.product-name{
  flex:1 1 auto; min-width:0; margin-left:0; text-align:left !important; overflow-wrap:break-word; }
#site-content .pp-wc :is(table.woocommerce-checkout-review-order-table,table.order_details) td.product-name a{ text-decoration:none; }
#site-content .pp-wc :is(table.woocommerce-checkout-review-order-table,table.order_details) .product-quantity{ font-weight:700; white-space:nowrap; }
#site-content .pp-wc :is(table.woocommerce-checkout-review-order-table,table.order_details) .product-total,
#site-content .pp-wc :is(.cart_totals,table.woocommerce-checkout-review-order-table,table.order_details) .amount{ white-space:nowrap; }
#site-content .pp-wc :is(.cart_totals table.shop_table,table.woocommerce-checkout-review-order-table) tr.woocommerce-shipping-totals{
  flex-direction:column; align-items:stretch; gap:.55rem; }
#site-content .pp-wc :is(.cart_totals table.shop_table,table.woocommerce-checkout-review-order-table) tr.woocommerce-shipping-totals td{
  margin-left:0; text-align:left !important; }
#site-content .pp-wc :is(.cart_totals table.shop_table,table.woocommerce-checkout-review-order-table) tr.order-total{
  align-items:center; background:var(--pp-acid); border-top:3px solid var(--pp-ink); }
#site-content .pp-wc :is(.cart_totals table.shop_table,table.woocommerce-checkout-review-order-table) tr.order-total th{
  font-family:"Archivo Black",sans-serif; font-weight:400; font-size:.9rem; }
#site-content .pp-wc :is(.cart_totals table.shop_table,table.woocommerce-checkout-review-order-table) tr.order-total :is(td,strong,.amount){
  font-family:"Archivo Black",sans-serif; font-weight:400; font-size:1.3rem; line-height:1.2; }
#site-content .pp-wc tr.order-total .includes_tax{ display:block; font-family:"Space Mono",monospace; font-size:.72rem; }
/* Opzioni di spedizione: righe con il radio, dentro il riepilogo. */
#site-content .pp-wc ul#shipping_method{ display:grid; gap:.45rem; margin:0; padding:0; list-style:none; }
#site-content .pp-wc ul#shipping_method li{ display:flex; align-items:flex-start; gap:.6rem; margin:0; padding:0; list-style:none;
  line-height:1.4; text-indent:0; }
#site-content .pp-wc ul#shipping_method li label{ display:inline; margin:0; font-size:.9rem; font-weight:400; text-transform:none; cursor:pointer; }
#site-content .pp-wc ul#shipping_method li input{ margin-top:0; }
#site-content .pp-wc ul#shipping_method .amount{ font-weight:700; }
#site-content .pp-wc .woocommerce-shipping-destination{ margin:.35rem 0 0; font-size:.8rem; line-height:1.45; color:var(--pp-wc-muted); }
#site-content .pp-wc .woocommerce-shipping-calculator{ margin:.2rem 0 0; }
#site-content .pp-wc .shipping-calculator-button{ font-size:.8rem; }
#site-content .pp-wc .shipping-calculator-button::after{ content:none; }
#site-content .pp-wc .shipping-calculator-form{ margin-top:.8rem; }
#site-content .pp-wc .shipping-calculator-form .form-row{ margin:0 0 .75rem; }

/* Continua in negozio-2.css: carrello, pagamento, ordine concluso, account,
   carrello vuoto, telefono. Due file perche' Aruba ha gia' bloccato file
   CSS grandi (vedi functions.php, app-*.css). */
