/* ============================================================
   NEGOZIO, seconda parte (la prima e le ragioni: negozio-1.css).
   Carrello, pagamento, ordine concluso, account, carrello vuoto,
   telefono e tablet. Usa i token dichiarati in negozio-1.css.
   ============================================================ */

/* ---------- 9. Carrello ---------- */
@media (min-width:1024px){
  #site-content .pp-wc > .woocommerce:has(> .woocommerce-cart-form){
    display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,380px); column-gap:2.5rem; align-items:start; }
  #site-content .pp-wc > .woocommerce:has(> .woocommerce-cart-form) > *{ grid-column:1 / -1; }
  #site-content .pp-wc > .woocommerce > .woocommerce-cart-form{ grid-column:1; }
  #site-content .pp-wc > .woocommerce > .cart-collaterals{ grid-column:2; }
}
#site-content .pp-wc .woocommerce-cart-form{ margin:0 0 2.5rem; padding:0; background:transparent; border:0;
  border-radius:0; box-shadow:none; transform:none !important; }
#site-content .pp-wc table.shop_table.cart{
  width:100%; margin:0; background:#fff; border:3px solid var(--pp-ink) !important; border-radius:var(--pp-r-card) !important;
  border-collapse:separate; border-spacing:0; overflow:hidden; box-shadow:var(--pp-shadow); }
#site-content .pp-wc table.shop_table.cart thead th{
  padding:.85rem 1rem; border:0; background:var(--pp-ink); color:var(--pp-cream);
  font-family:"Archivo Black",sans-serif; font-size:.72rem; font-weight:400; text-transform:uppercase;
  text-align:left; overflow-wrap:normal; }
#site-content .pp-wc table.shop_table.cart thead th.product-subtotal{ text-align:right; }
#site-content .pp-wc table.shop_table.cart td{
  padding:1rem; border:0; border-top:var(--pp-wc-line); background:#fff; vertical-align:middle;
  font-family:"Space Mono",monospace; font-size:.95rem; line-height:1.4; }
#site-content .pp-wc table.shop_table.cart tbody tr:first-child td{ border-top:0; }
#site-content .pp-wc table.shop_table.cart td.product-remove{ width:3.4rem; padding-right:0; }
#site-content .pp-wc table.shop_table.cart td.product-thumbnail{ width:5.4rem; }
#site-content .pp-wc table.shop_table.cart td.product-thumbnail a{ display:block; text-decoration:none; }
#site-content .pp-wc table.shop_table.cart td.product-thumbnail img{
  display:block; width:64px !important; max-width:64px !important; height:auto; margin:0;
  border:2px solid var(--pp-ink) !important; border-radius:var(--pp-r-mini) !important; box-shadow:none !important; }
#site-content .pp-wc table.shop_table.cart td.product-name a{
  font-family:"Archivo Black",sans-serif; font-size:1rem; font-weight:400; line-height:1.25; color:var(--pp-ink); text-decoration:none; }
#site-content .pp-wc table.shop_table.cart td.product-name a:hover{ color:var(--pp-viola); }
#site-content .pp-wc table.shop_table.cart td.product-price{ white-space:nowrap; color:var(--pp-wc-muted); }
#site-content .pp-wc table.shop_table.cart td.product-subtotal{ text-align:right; font-weight:700; white-space:nowrap; }
#site-content .pp-wc td.product-remove a.remove{
  display:inline-grid !important; place-items:center; box-sizing:border-box; width:2.2rem !important; height:2.2rem !important;
  margin:0; padding:0 !important; background:#fff !important; color:var(--pp-ink) !important;
  border:2px solid var(--pp-ink) !important; border-radius:50% !important; box-shadow:none !important; transform:none !important;
  font-family:"Archivo Black",sans-serif !important; font-size:1.15rem !important; font-weight:400 !important;
  line-height:1 !important; text-decoration:none !important; }
#site-content .pp-wc td.product-remove a.remove:hover{ background:var(--pp-rosa) !important; color:var(--pp-ink) !important; }
/* Riga del codice promozionale, in fondo alla scheda. */
#site-content .pp-wc table.shop_table.cart td.actions{
  padding:1rem 1.15rem !important; background:#FFFBEF !important; border-top:3px solid var(--pp-ink) !important; text-align:left !important; }
#site-content .pp-wc table.shop_table.cart td.actions::before{ display:none !important; }
#site-content .pp-wc td.actions .coupon{ display:flex; flex-wrap:nowrap; align-items:stretch; gap:.6rem; float:none; width:auto; max-width:30rem; margin:0; padding:0; }
#site-content .pp-wc td.actions .coupon #coupon_code{ flex:1 1 0%; width:auto !important; max-width:none; min-width:0; margin:0; }
#site-content .pp-wc td.actions .coupon .button{ flex:0 0 auto; width:auto !important; }
#site-content .pp-wc td.actions > button[name="update_cart"]{ margin-top:.75rem; }
/* Con JavaScript il carrello si aggiorna da solo quando cambia la quantita'
   (inc/negozio.php): "Aggiorna carrello" resta solo per chi non ce l'ha. */
.woocommerce-js #site-content .pp-wc td.actions > button[name="update_cart"]{
  position:absolute !important; width:1px !important; height:1px !important; min-height:0 !important; margin:-1px !important;
  padding:0 !important; overflow:hidden !important; clip:rect(0 0 0 0) !important; white-space:nowrap !important; border:0 !important; }
/* Colonna dei totali. */
#site-content .pp-wc .cart-collaterals{ display:block; width:auto; float:none; margin:0; }
#site-content .pp-wc .cart-collaterals .cart_totals{ float:none; width:auto; max-width:none; margin:0; padding:0;
  background:transparent; border:0; border-radius:0; box-shadow:none; transform:none !important; }
#site-content .pp-wc .wc-proceed-to-checkout{ display:flex; flex-direction:column; gap:.9rem; margin:1.4rem 0 0; padding:0; }
#site-content .pp-wc .wc-proceed-to-checkout a.checkout-button{ order:1; display:block; width:100%; font-size:1.02rem !important; padding:1.1rem 1.2rem !important; }
#site-content .pp-wc .wc-proceed-to-checkout .ppc-button-wrapper{ order:2; margin:0; }
#site-content .pp-wc .wc-proceed-to-checkout .ppcp-messages{ order:3; margin:0; }
/* I bottoni veloci di PayPal sono un'altra strada: la si dice, con una riga. */
#site-content .pp-wc .wc-proceed-to-checkout .ppc-button-wrapper:has(paypal-button,iframe,.paypal-buttons)::before{
  content:"Oppure paga subito con"; display:block; margin:0 0 .7rem; padding-top:.9rem; border-top:var(--pp-wc-line);
  font-size:.72rem; font-weight:700; text-transform:uppercase; color:var(--pp-wc-muted); }

/* ---------- 10. Pagamento ---------- */
@media (min-width:1024px){
  #site-content .pp-wc form.checkout.woocommerce-checkout{
    display:grid; grid-template-columns:minmax(0,1fr) minmax(340px,410px); column-gap:3rem; align-items:start; }
  #site-content .pp-wc form.checkout > *{ grid-column:1 / -1; }
  #site-content .pp-wc form.checkout > .woocommerce-NoticeGroup{ grid-row:1; }
  #site-content .pp-wc form.checkout > #customer_details{ grid-column:1; grid-row:2 / span 3; }
  #site-content .pp-wc form.checkout > #order_review_heading{ grid-column:2; grid-row:2; }
  #site-content .pp-wc form.checkout > #order_review{ grid-column:2; grid-row:3; }
}
#site-content .pp-wc form.checkout.woocommerce-checkout{ margin:0; padding:0; background:transparent; border:0;
  border-radius:0; box-shadow:none; transform:none !important; }
/* Colonna dei dati: i campi in una scheda, le scelte fuori. */
#site-content .pp-wc #customer_details{ display:block; margin:0 0 2.5rem; }
#site-content .pp-wc #customer_details :is(.col-1,.col-2){ float:none; width:auto; max-width:none; margin:0; padding:0; }
#site-content .pp-wc :is(.woocommerce-billing-fields,.woocommerce-shipping-fields,.woocommerce-additional-fields){
  margin:0; padding:0; background:transparent; border:0; border-radius:0; box-shadow:none; }
#site-content .pp-wc :is(.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper,.woocommerce-address-fields__field-wrapper){
  display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:1.05rem 1rem; box-sizing:border-box;
  padding:1.5rem; background:#fff; border:3px solid var(--pp-ink); border-radius:var(--pp-r-card); box-shadow:var(--pp-shadow); }
#site-content .pp-wc :is(.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper,.woocommerce-address-fields__field-wrapper) > .form-row{
  grid-column:span 6; float:none; width:auto; }
#site-content .pp-wc :is(.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper,.woocommerce-address-fields__field-wrapper) > :is(.form-row-first,.form-row-last){ grid-column:span 3; }
#site-content .pp-wc :is(.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper,.woocommerce-address-fields__field-wrapper) > [id$="_postcode_field"]{ grid-column:span 2; }
#site-content .pp-wc :is(.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper,.woocommerce-address-fields__field-wrapper) > [id$="_city_field"]{ grid-column:span 4; }
#site-content .pp-wc [id$="_address_2_field"]{ margin-top:-.45rem; }
#site-content .pp-wc #ship-to-different-address{
  display:block; margin:1.75rem 0 1.1rem; padding:0; font-family:"Space Mono",monospace; font-size:1rem;
  line-height:1.4; text-transform:none; text-decoration:none; }
#site-content .pp-wc #ship-to-different-address label{ font-size:.95rem; font-weight:700; }
#site-content .pp-wc .woocommerce-additional-fields{ margin-top:1.75rem; }
/* Colonna dell'ordine: il riepilogo e' la scheda, sotto le opzioni di pagamento. */
#site-content .pp-wc #order_review{ margin:0; padding:0; background:transparent; border:0; border-radius:0;
  box-shadow:none; transform:none !important; }
#site-content .pp-wc #order_review .ppcp-messages{ margin:.9rem 0 0; }
#site-content .pp-wc #payment{ margin:0; padding:0; background:transparent !important; border:0; border-radius:0; box-shadow:none; }
#site-content .pp-wc #payment ul.wc_payment_methods{ margin:0 0 1.4rem; padding:0; list-style:none; background:transparent; border:0; }
/* Niente display sulle righe: il plugin PayPal nasconde con display:none i
   metodi che il browser non puo' usare (Apple Pay fuori da Safari). */
#site-content .pp-wc #payment li.wc_payment_method{
  margin:0 0 .65rem; padding:.85rem 1rem; list-style:none; line-height:1.4;
  background:#fff; border:3px solid var(--pp-ink); border-radius:var(--pp-r-ctrl); }
#site-content .pp-wc #payment li.wc_payment_method:has(> input:checked){ background:var(--pp-wc-scelto); box-shadow:var(--pp-shadow-in); }
#site-content .pp-wc #payment li.wc_payment_method > input{ margin:0 .7rem 0 0; vertical-align:-.3rem; }
#site-content .pp-wc #payment li.wc_payment_method > label{
  display:inline; margin:0; font-size:.95rem; font-weight:700; text-transform:none; cursor:pointer; }
#site-content .pp-wc #payment li.wc_payment_method > label img{
  display:inline-block; float:none; width:auto; max-width:4.5rem; height:auto; max-height:1.4rem; margin:0 0 0 .5rem;
  padding:0; border:0; border-radius:0; box-shadow:none; vertical-align:middle; }
#site-content .pp-wc #payment div.payment_box{
  margin:.85rem 0 0; padding:.9rem 0 0; background:transparent !important; color:var(--pp-ink);
  border:0; border-top:var(--pp-wc-line); border-radius:0; box-shadow:none; font-size:.85rem; }
#site-content .pp-wc #payment div.payment_box::before{ display:none; }
#site-content .pp-wc #payment div.payment_box p{ margin:0 0 .5rem; }
#site-content .pp-wc #payment div.payment_box p:last-child{ margin-bottom:0; }
#site-content .pp-wc #payment .wc-credit-card-form{ margin:0; padding:0; border:0; }
#site-content .pp-wc #payment .wc-credit-card-form .form-row{ margin:0 0 .6rem; }
#site-content .pp-wc #payment .place-order{ margin:0; padding:0 !important; float:none; }
#site-content .pp-wc .woocommerce-privacy-policy-text p,
#site-content .pp-wc .woocommerce-terms-and-conditions-checkbox-text{ font-size:.78rem; line-height:1.5; color:var(--pp-wc-muted); }
#site-content .pp-wc .woocommerce-privacy-policy-text p{ margin:0 0 1.1rem; }
#site-content .pp-wc .woocommerce-terms-and-conditions-wrapper .form-row{ margin:0 0 1.1rem; }
#site-content #place_order{ width:100%; float:none; font-size:1.05rem !important; padding:1.1rem 1.2rem !important; }
#site-content .pp-wc #order_review .ppc-button-wrapper{ margin-top:1rem; }
/* Codice promozionale al pagamento: tratteggiato, perche' e' facoltativo. */
#site-content .pp-wc form.checkout_coupon{
  box-sizing:border-box; max-width:34rem; margin:0 0 1.75rem; padding:1rem 1.1rem;
  background:rgba(255,255,255,.7); border:3px dashed var(--pp-ink); border-radius:var(--pp-r-card); }
#site-content .pp-wc form.checkout_coupon .form-row-first{ float:left; width:calc(100% - 9rem); margin:0; padding:0; }
#site-content .pp-wc form.checkout_coupon .form-row-last{ float:right; width:8.4rem; margin:0; padding:0; }
#site-content .pp-wc form.checkout_coupon .form-row-last .button{ width:100%; min-height:48px; }

/* ---------- 11. Ordine concluso ---------- */
#site-content .pp-wc .woocommerce-order{ max-width:56rem; margin:0 auto; }
#site-content .pp-wc .woocommerce-thankyou-order-received{
  position:relative; margin:0 0 1.75rem; padding:1.2rem 1.4rem 1.2rem 4.5rem;
  background:var(--pp-acid); border:3px solid var(--pp-ink); border-radius:var(--pp-r-card); box-shadow:var(--pp-shadow);
  font-family:"Archivo Black",sans-serif; font-size:1.3rem; line-height:1.25; text-transform:uppercase; color:var(--pp-ink); }
#site-content .pp-wc .woocommerce-thankyou-order-received::before{
  content:""; position:absolute; top:50%; left:1.15rem; transform:translateY(-50%); box-sizing:border-box;
  width:2.4rem; height:2.4rem; border:3px solid var(--pp-ink); border-radius:50%; background:#fff var(--pp-wc-ok) center/64% no-repeat; }
#site-content .pp-wc ul.woocommerce-order-overview{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(10.5rem,1fr)); gap:.75rem; margin:0 0 2.25rem; padding:0; list-style:none; }
#site-content .pp-wc ul.woocommerce-order-overview li{
  float:none; margin:0; padding:.85rem 1rem; list-style:none; background:#fff; border:3px solid var(--pp-ink);
  border-radius:var(--pp-r-ctrl); font-size:.7rem; font-weight:700; line-height:1.3; text-transform:uppercase; }
#site-content .pp-wc ul.woocommerce-order-overview li strong{
  display:block; margin-top:.35rem; font-size:.98rem; line-height:1.4; text-transform:none; overflow-wrap:anywhere; }
#site-content .pp-wc :is(.woocommerce-order-details,.woocommerce-customer-details,.woocommerce-order-downloads){ margin:0 0 2.25rem; }
#site-content .pp-wc .woocommerce-customer-details .col2-set{ display:grid; grid-template-columns:repeat(auto-fit,minmax(16rem,1fr)); gap:1.5rem; margin:0; }
#site-content .pp-wc .woocommerce-customer-details :is(.col-1,.col-2){ float:none; width:auto; margin:0; padding:0; }
#site-content .pp-wc .woocommerce-customer-details address{
  margin:0; padding:1.1rem 1.25rem; font-style:normal; line-height:1.65; background:#fff;
  border:3px solid var(--pp-ink) !important; border-radius:var(--pp-r-card) !important; box-shadow:var(--pp-shadow); }
#site-content .pp-wc .woocommerce-customer-details address p{ margin:.5rem 0 0; }
#site-content .pp-wc .woocommerce-thankyou-order-failed{ font-weight:700; }
#site-content .pp-wc .woocommerce-thankyou-order-failed-actions{ display:flex; flex-wrap:wrap; gap:.75rem; }

/* ---------- 12. Account ---------- */
/* Accesso, registrazione, password dimenticata: una scheda stretta al centro. */
#site-content .pp-wc :is(form.woocommerce-form-login,form.woocommerce-form-register,form.lost_reset_password){
  box-sizing:border-box; max-width:32rem; margin:0 auto; padding:1.75rem; text-align:left;
  background:#fff; border:3px solid var(--pp-ink); border-radius:var(--pp-r-card); box-shadow:var(--pp-shadow); }
.woocommerce-account:not(.logged-in) #site-content .pp-wc > .woocommerce > h2{ max-width:32rem; margin-left:auto; margin-right:auto; }
#site-content .pp-wc :is(form.woocommerce-form-login,form.woocommerce-form-register,form.lost_reset_password) .form-row{
  float:none; width:auto; margin:0 0 1.15rem; }
#site-content .pp-wc form.lost_reset_password > p:first-child{ font-size:.92rem; line-height:1.55; }
#site-content .pp-wc form.lost_reset_password button.button{ width:100%; }
#site-content .pp-wc form.woocommerce-form-login .form-row:has(.woocommerce-form-login__submit){
  display:flex; flex-direction:column; align-items:flex-start; gap:1.1rem; margin:.4rem 0 0; }
#site-content .pp-wc form.woocommerce-form-login .woocommerce-form-login__submit{ width:100%; }
#site-content .pp-wc :is(form.woocommerce-form-login,form.lost_reset_password) .clear{ display:none; }
#site-content .pp-wc .woocommerce-LostPassword{ margin:1.2rem 0 0; text-align:center; font-size:.85rem; }
#site-content .pp-wc #customer_login{ display:grid; grid-template-columns:repeat(auto-fit,minmax(18rem,1fr)); gap:2rem; }
#site-content .pp-wc #customer_login :is(.u-column1,.u-column2){ float:none; width:auto; margin:0; padding:0; }
#site-content .pp-wc #customer_login :is(form.woocommerce-form-login,form.woocommerce-form-register){ max-width:none; }
/* Area riservata: menu a sinistra, contenuto nella scheda. */
@media (min-width:900px){
  #site-content .pp-wc > .woocommerce:has(> .woocommerce-MyAccount-navigation){
    display:grid; grid-template-columns:14.5rem minmax(0,1fr); gap:2rem; align-items:start; }
  #site-content .pp-wc > .woocommerce:has(> .woocommerce-MyAccount-navigation) > *{ grid-column:1 / -1; }
  #site-content .pp-wc > .woocommerce > .woocommerce-MyAccount-navigation{ grid-column:1; }
  #site-content .pp-wc > .woocommerce > .woocommerce-MyAccount-content{ grid-column:2; }
}
#site-content .pp-wc :is(.woocommerce-MyAccount-navigation,.woocommerce-MyAccount-content){ float:none; width:auto; margin:0; transform:none !important; }
#site-content .pp-wc .woocommerce-MyAccount-navigation{ padding:0; background:transparent; border:0; border-radius:0; box-shadow:none; }
#site-content .pp-wc .woocommerce-MyAccount-navigation ul{ display:grid; gap:.5rem; margin:0; padding:0; list-style:none; }
#site-content .pp-wc .woocommerce-MyAccount-navigation li{ margin:0; padding:0; border:0; list-style:none; }
#site-content .pp-wc .woocommerce-MyAccount-navigation li a{
  display:block; padding:.75rem 1rem; background:#fff; color:var(--pp-ink); border:3px solid var(--pp-ink);
  border-radius:var(--pp-r-ctrl); box-shadow:var(--pp-shadow-in); font-family:"Archivo Black",sans-serif;
  font-size:.8rem; font-weight:400; text-transform:uppercase; text-decoration:none; white-space:nowrap; }
#site-content .pp-wc .woocommerce-MyAccount-navigation li a:hover{ background:var(--pp-acid); color:var(--pp-ink); }
#site-content .pp-wc .woocommerce-MyAccount-navigation li.is-active a{ background:var(--pp-ink); color:#fff; }
#site-content .pp-wc .woocommerce-MyAccount-content{
  padding:1.75rem; background:#fff; border:3px solid var(--pp-ink); border-radius:var(--pp-r-card); box-shadow:var(--pp-shadow); }
#site-content .pp-wc .woocommerce-MyAccount-content:hover{ box-shadow:var(--pp-shadow); }
#site-content .pp-wc .woocommerce-MyAccount-content table.shop_table{
  width:100%; margin:0 0 1.25rem; background:transparent; border:0; border-radius:0; box-shadow:none; border-collapse:collapse; }
#site-content .pp-wc .woocommerce-MyAccount-content table.shop_table th{
  padding:.55rem .6rem; border:0; border-bottom:3px solid var(--pp-ink); background:transparent; text-align:left;
  font-family:"Space Mono",monospace; font-size:.72rem; font-weight:700; text-transform:uppercase; }
#site-content .pp-wc .woocommerce-MyAccount-content table.shop_table td{
  padding:.75rem .6rem; border:0; border-bottom:var(--pp-wc-line); background:transparent; font-size:.9rem; vertical-align:middle; }
#site-content .pp-wc .woocommerce-Addresses{ display:grid; grid-template-columns:repeat(auto-fit,minmax(15rem,1fr)); gap:1.5rem; margin:1rem 0 0; }
#site-content .pp-wc .woocommerce-Addresses :is(.col-1,.col-2,.woocommerce-Address){ float:none; width:auto; margin:0; padding:0; }
#site-content .pp-wc .woocommerce-Address-title{ display:flex; align-items:baseline; justify-content:space-between; gap:1rem; margin:0 0 .6rem; }
#site-content .pp-wc .woocommerce-Address-title :is(h2,h3){ margin:0; font-size:1rem; }
#site-content .pp-wc .woocommerce-Address address{ margin:0; padding-top:.9rem; font-style:normal; line-height:1.65; border-top:var(--pp-wc-line); }
#site-content .pp-wc form.woocommerce-EditAccountForm{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.05rem 1rem; }
#site-content .pp-wc form.woocommerce-EditAccountForm > *{ grid-column:1 / -1; }
#site-content .pp-wc form.woocommerce-EditAccountForm > .form-row-first{ grid-column:1; }
#site-content .pp-wc form.woocommerce-EditAccountForm > .form-row-last{ grid-column:2; }
#site-content .pp-wc form.woocommerce-EditAccountForm > :is(.clear,input[type=hidden]){ display:none; }
#site-content .pp-wc form.woocommerce-EditAccountForm .form-row{ float:none; width:auto; }
#site-content .pp-wc form.woocommerce-EditAccountForm fieldset{ display:grid; gap:1.05rem; margin:.5rem 0 0; padding:1.1rem 0 0; border:0; border-top:var(--pp-wc-line); }
#site-content .pp-wc form.woocommerce-EditAccountForm legend{ padding:0 0 .6rem; font-family:"Archivo Black",sans-serif; text-transform:uppercase; }
#site-content .pp-wc #account_display_name_description{ display:block; margin-top:.35rem; font-size:.78rem; color:var(--pp-wc-muted); }

/* ---------- 13. Carrello vuoto ---------- */
/* Due strade per arrivarci: caricando la pagina l'avviso sta in
   .wc-empty-cart-message; togliendo l'ultimo libro senza ricaricare,
   WooCommerce lo mette fra gli altri avvisi. Per questo la regola non
   dipende dal contenitore. */
#site-content .pp-wc .wc-empty-cart-message{ max-width:32rem; margin:0 auto; }
#site-content .pp-wc .cart-empty.woocommerce-info{
  display:block; max-width:32rem; margin:0 auto; padding:6.4rem 1.5rem 1.6rem; text-align:center;
  background:#fff url("../inc/asset/brand/icon-pittogramma.svg") center 1.6rem / 5.5rem auto no-repeat;
  border-radius:var(--pp-r-card); font-family:"Archivo Black",sans-serif; font-size:1.3rem; line-height:1.2; text-transform:uppercase; }
#site-content .pp-wc .cart-empty.woocommerce-info::before{ display:none; }
/* Carrello svuotato senza ricaricare: i passi dell'acquisto non servono piu'. */
.pp-wc-steps:has(+ .pp-wc .cart-empty){ display:none; }
#site-content .pp-wc .pp-wc-vuoto{ max-width:30rem; margin:1.4rem auto 0; text-align:center; font-size:.95rem; }
#site-content .pp-wc .return-to-shop{ margin:1.4rem 0 0; text-align:center; }

/* ---------- 14. Telefono e tablet ---------- */
/* Il carrello diventa una scheda per libro: copertina a sinistra, titolo e
   prezzo, sotto quantita' e subtotale. Prima la tabella si impilava in righe
   "Prodotto / Prezzo / Quantita'" e la prima riga era vuota (solo la X):
   WooCommerce nasconde la copertina sotto i 768px. */
@media (max-width:768px){
  #site-content .pp-wc table.shop_table.cart{ display:block; background:transparent; border:0 !important;
    border-radius:0 !important; box-shadow:none; overflow:visible; }
  #site-content .pp-wc table.shop_table.cart :is(thead){ display:none; }
  #site-content .pp-wc table.shop_table.cart tbody{ display:block; }
  #site-content .pp-wc table.shop_table.cart tr.cart_item{
    display:grid; grid-template-columns:64px minmax(0,1fr) auto;
    grid-template-areas:"foto nome via" "foto prezzo prezzo" "foto qta tot";
    column-gap:.9rem; row-gap:.4rem; align-items:center; margin:0 0 1rem; padding:1rem;
    background:#fff; border:3px solid var(--pp-ink); border-radius:var(--pp-r-card); box-shadow:var(--pp-shadow); }
  #site-content .pp-wc table.shop_table.cart tr.cart_item td{
    display:block !important; padding:0 !important; border:0 !important; background:transparent !important;
    text-align:left !important; }
  #site-content .pp-wc table.shop_table.cart tr.cart_item td::before{ display:none !important; }
  #site-content .pp-wc table.shop_table.cart td.product-thumbnail{ grid-area:foto; align-self:start; width:auto; }
  #site-content .pp-wc table.shop_table.cart td.product-name{ grid-area:nome; align-self:start; }
  #site-content .pp-wc table.shop_table.cart td.product-remove{ grid-area:via; align-self:start; justify-self:end; width:auto; }
  #site-content .pp-wc table.shop_table.cart td.product-price{ grid-area:prezzo; font-size:.85rem; }
  #site-content .pp-wc table.shop_table.cart td.product-quantity{ grid-area:qta; }
  #site-content .pp-wc table.shop_table.cart td.product-subtotal{ grid-area:tot; text-align:right !important; font-size:1rem; }
  /* 44px: e' l'altezza minima che app-1.css da' ai link sul telefono; con
     meno la X usciva ovale (42x44). */
  #site-content .pp-wc td.product-remove a.remove{ width:2.75rem !important; height:2.75rem !important; }
  #site-content .pp-wc table.shop_table.cart tr:not(.cart_item){ display:block; }
  #site-content .pp-wc table.shop_table.cart td.actions{
    display:block; padding:0 !important; background:transparent !important; border:0 !important; }
  #site-content .pp-wc td.actions .coupon{ max-width:none; }
}
@media (max-width:640px){
  #site-content .single_add_to_cart_button{ width:100%; }
  #site-content .pp-wc :is(h2,h3){ font-size:1.15rem; }
  #site-content .pp-wc :is(.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper,.woocommerce-address-fields__field-wrapper){ padding:1.1rem; }
  #site-content .pp-wc :is(.cart_totals table.shop_table,table.woocommerce-checkout-review-order-table,table.order_details) tr{ padding:.8rem .95rem; }
  #site-content .pp-wc #payment li.wc_payment_method{ padding:.8rem .85rem; }
  #site-content .pp-wc :is(form.woocommerce-form-login,form.woocommerce-form-register,form.lost_reset_password),
  #site-content .pp-wc .woocommerce-MyAccount-content{ padding:1.25rem; }
  #site-content .pp-wc form.woocommerce-EditAccountForm > :is(.form-row-first,.form-row-last){ grid-column:1 / -1; }
  #site-content .pp-wc .woocommerce-MyAccount-navigation ul{ display:flex; gap:.5rem; overflow-x:auto; padding:0 0 .6rem; }
  #site-content .pp-wc .woocommerce-MyAccount-navigation{ margin:0 0 1.25rem; }
  #site-content .pp-wc .woocommerce-thankyou-order-received{ font-size:1.05rem; padding-left:4rem; }
}
@media (max-width:420px){
  #site-content .pp-wc :is(.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper,.woocommerce-address-fields__field-wrapper) > :is(.form-row-first,.form-row-last){ grid-column:span 6; }
  /* Campi carta: il testo dentro lo decide PayPal ed e' grande; affiancati,
     scadenza e CVV restavano larghi 120px e "MM / AA" non ci stava. */
  #site-content .pp-wc #payment .wc-credit-card-form :is(.form-row-first,.form-row-last){ float:none; width:100%; }
  #site-content .pp-wc form.checkout_coupon :is(.form-row-first,.form-row-last){ float:none; width:100%; }
  #site-content .pp-wc form.checkout_coupon .form-row-first{ margin-bottom:.6rem; }
}
