/* ==========================================================================
   Posterphenia Mods - percorso d'acquisto
   Carrello, cassa, ordine completato, pagamento ordine (order-pay), account.
   Stessa famiglia di main.css: Lato, bordi 2px neri, angoli vivi, pulsanti piatti,
   rosso/blu del logo. Solo variabili --pp-*; nessun colore nuovo.
   I contenuti dei gateway (iframe Stripe/WooPayments, PayPal, SumUp) non si toccano:
   qui si stilano solo i contenitori.
   ========================================================================== */

.woocommerce-cart,.woocommerce-checkout,.woocommerce-account{
  --pp-flow-gap:clamp(28px,4vw,56px);
  --pp-flow-aside:400px;
  --pp-flow-pad:clamp(16px,2vw,22px);
}

/* Le pagine Carrello/Cassa/Account usano page.php: niente limite di larghezza del testo. */
.woocommerce-cart .pp-prose,.woocommerce-checkout .pp-prose,.woocommerce-account .pp-prose{max-width:none}
.woocommerce-cart .pp-prose>*+*,.woocommerce-checkout .pp-prose>*+*,.woocommerce-account .pp-prose>*+*{margin-top:0}
.woocommerce-cart .pp-page__title,.woocommerce-checkout .pp-page__title{margin-bottom:28px}

/* --- titoli di sezione ------------------------------------------------------ */
.woocommerce-checkout #customer_details h3,
.woocommerce-checkout .woocommerce-additional-fields>h3,
.woocommerce-order h2,
.woocommerce-order-pay .pp-flow-title,
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3,
.woocommerce .cross-sells>h2{
  font-size:clamp(1.15rem,1.7vw,1.4rem);letter-spacing:.01em;line-height:1.15;
  margin:0 0 20px;padding-bottom:12px;border-bottom:2px solid var(--pp-ink)
}

/* --- avvisi (aggiunto al carrello, errori, info) ----------------------------- */
.woocommerce-notices-wrapper:empty{display:none}
.woocommerce .woocommerce-message,.woocommerce .woocommerce-info,.woocommerce .woocommerce-error,
.woocommerce-message,.woocommerce-info,.woocommerce-error{
  margin:0 0 20px;padding:16px 20px 16px 54px;color:var(--pp-ink);font-size:.95rem;line-height:1.5;list-style:none;position:relative
}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{top:17px;left:20px;color:var(--pp-ink)}
.woocommerce-message:focus,.woocommerce-info:focus,.woocommerce-error:focus,
.woocommerce-NoticeGroup:focus,.woocommerce-notices-wrapper:focus{outline:3px solid var(--pp-blue);outline-offset:2px}
.woocommerce .woocommerce-message .button,.woocommerce .woocommerce-info .button,.woocommerce .woocommerce-error .button{
  float:right;margin:-5px 0 -5px 18px;min-height:40px;padding:11px 16px;font-size:.76rem
}
.woocommerce-message a:not(.button),.woocommerce-info a:not(.button),.woocommerce-error a:not(.button){color:var(--pp-red);font-weight:700}
.woocommerce-message a:not(.button):hover,.woocommerce-info a:not(.button):hover,.woocommerce-error a:not(.button):hover{color:var(--pp-ink)}
ul.woocommerce-error li{margin:0 0 4px;padding:0}
ul.woocommerce-error li:last-child{margin-bottom:0}
ul.woocommerce-error li a{color:inherit!important;text-decoration:none}
@media (max-width:560px){
  .woocommerce .woocommerce-message .button,.woocommerce .woocommerce-info .button,.woocommerce .woocommerce-error .button{float:none;display:flex;width:100%;margin:12px 0 0}
}

/* --- pulsanti nel percorso ---------------------------------------------------- */
.woocommerce .button.pp-ghost,
.woocommerce-cart .woocommerce-cart-form button[name=update_cart],
.woocommerce .shipping-calculator-form .button{background:var(--pp-white);color:var(--pp-ink)}
.woocommerce-cart .woocommerce-cart-form button[name=update_cart]:not(:disabled):hover,
.woocommerce .shipping-calculator-form .button:hover{background:var(--pp-ink);color:var(--pp-white)}
.woocommerce-cart .woocommerce-cart-form button[name=update_cart]:disabled,
.woocommerce-cart .woocommerce-cart-form button[name=update_cart]:disabled[disabled]{
  background:var(--pp-white);color:var(--pp-muted);border-color:var(--pp-hair);padding:16px 26px;opacity:1;cursor:not-allowed
}
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt{background:var(--pp-red);color:var(--pp-white)}
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce input.button.alt:hover{background:var(--pp-ink);color:var(--pp-white)}
.woocommerce .button:focus-visible,.woocommerce button:focus-visible{outline:3px solid var(--pp-blue);outline-offset:2px}
.woocommerce button.button.alt.disabled,.woocommerce button.button.alt:disabled,.woocommerce button.button.alt:disabled[disabled]{background:#9a9a9a;color:var(--pp-white);border-color:var(--pp-ink)}
/* stato "in corso" (blockUI di WooCommerce) */
.woocommerce .blockUI.blockOverlay{background:var(--pp-white)!important;opacity:.7!important}
.woocommerce .blockUI.blockOverlay::before,.woocommerce .loader::before{border-radius:0;background-image:none;width:28px;height:28px;margin:-14px 0 0 -14px;border:4px solid var(--pp-ink);border-right-color:var(--pp-red);animation:pp-flow-spin .8s linear infinite}
@keyframes pp-flow-spin{to{transform:rotate(360deg)}}

/* --- campi (fatturazione, spedizione, coupon, calcolo spedizione, account) ---- */
.woocommerce form .form-row{padding:0;margin:0 0 16px}
.woocommerce form .form-row label,.woocommerce-page form .form-row label{
  display:block;margin:0 0 7px;font-weight:700;font-size:.76rem;line-height:1.3;letter-spacing:.1em;text-transform:uppercase;color:var(--pp-ink)
}
.woocommerce form .form-row label.screen-reader-text{position:absolute!important}
.woocommerce form .form-row .required{color:var(--pp-red);text-decoration:none;font-weight:900;border:0}
.woocommerce form .form-row .optional{color:var(--pp-muted);font-weight:700;text-transform:none;letter-spacing:.02em}
.woocommerce form .form-row .woocommerce-input-wrapper{display:block}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,
.woocommerce form .form-row .input-text{
  width:100%;min-height:50px;padding:13px 14px;border:2px solid var(--pp-ink);border-radius:0;background:var(--pp-white);
  color:var(--pp-ink);font:400 1rem/1.3 var(--pp-font);box-shadow:none
}
.woocommerce form .form-row textarea{min-height:110px;line-height:1.5}
.woocommerce form .form-row input.input-text::placeholder,.woocommerce form .form-row textarea::placeholder{color:var(--pp-muted);opacity:1}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus,.woocommerce form .form-row select:focus,
.woocommerce .quantity .qty:focus,.woocommerce-cart #coupon_code:focus,.woocommerce form.checkout_coupon .input-text:focus{
  outline:3px solid var(--pp-blue);outline-offset:2px
}
/* validazione: nessun verde estraneo al brand; errore in rosso del logo */
.woocommerce form .form-row.woocommerce-validated input.input-text,.woocommerce form .form-row.woocommerce-validated select,
.woocommerce form .form-row.woocommerce-validated .select2-container:not(.select2-container--open) .select2-selection{border-color:var(--pp-ink)}
.woocommerce form .form-row.woocommerce-invalid input.input-text,.woocommerce form .form-row.woocommerce-invalid select,
.woocommerce form .form-row.woocommerce-invalid textarea,
.woocommerce form .form-row.woocommerce-invalid .select2-container:not(.select2-container--open) .select2-selection{border-color:var(--pp-red);box-shadow:inset 5px 0 0 var(--pp-red)}
.woocommerce form .form-row.woocommerce-invalid label{color:var(--pp-red)}
.woocommerce form .form-row .checkout-inline-error-message,.woocommerce form .form-row .woocommerce-error-message{margin:6px 0 0;color:var(--pp-red);font-size:.85rem;font-weight:700}
.woocommerce form .form-row .description{margin:6px 0 0;padding:0;background:none;color:var(--pp-muted);font-size:.85rem}
.woocommerce form .form-row .description::before{display:none}

/* griglia a due colonne dei campi (nome/cognome ecc.), una sola su schermi stretti */
.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper,
.woocommerce-address-fields__field-wrapper,.woocommerce-additional-fields__field-wrapper,
.woocommerce-EditAccountForm,.shipping-calculator-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:16px}
.woocommerce-billing-fields__field-wrapper>*,.woocommerce-shipping-fields__field-wrapper>*,
.woocommerce-address-fields__field-wrapper>*,.woocommerce-additional-fields__field-wrapper>*,
.woocommerce-EditAccountForm>*,.shipping-calculator-form>*{grid-column:1/-1}
.woocommerce form .form-row-first,.woocommerce form .form-row-last,.woocommerce-page form .form-row-first,.woocommerce-page form .form-row-last{float:none;width:auto}
.woocommerce-billing-fields__field-wrapper>.form-row-first,.woocommerce-shipping-fields__field-wrapper>.form-row-first,
.woocommerce-address-fields__field-wrapper>.form-row-first,.woocommerce-EditAccountForm>.form-row-first{grid-column:1}
.woocommerce-billing-fields__field-wrapper>.form-row-last,.woocommerce-shipping-fields__field-wrapper>.form-row-last,
.woocommerce-address-fields__field-wrapper>.form-row-last,.woocommerce-EditAccountForm>.form-row-last{grid-column:2}
.woocommerce form .form-row-wide,.woocommerce-page form .form-row-wide{clear:both}
.woocommerce-EditAccountForm>.clear{display:none}
@media (max-width:480px){
  .woocommerce-billing-fields__field-wrapper>.form-row-first,.woocommerce-shipping-fields__field-wrapper>.form-row-first,
  .woocommerce-address-fields__field-wrapper>.form-row-first,.woocommerce-EditAccountForm>.form-row-first,
  .woocommerce-billing-fields__field-wrapper>.form-row-last,.woocommerce-shipping-fields__field-wrapper>.form-row-last,
  .woocommerce-address-fields__field-wrapper>.form-row-last,.woocommerce-EditAccountForm>.form-row-last{grid-column:1/-1}
}

/* select2 / selectWoo (paese, provincia) */
.woocommerce .select2-container,.woocommerce-page .select2-container{width:100%!important}
.select2-container .select2-selection--single{height:50px;border:2px solid var(--pp-ink);border-radius:0;background:var(--pp-white)}
.select2-container .select2-selection--single .select2-selection__rendered{line-height:46px;padding:0 44px 0 14px;color:var(--pp-ink);font:400 1rem/46px var(--pp-font)}
.select2-container .select2-selection--single .select2-selection__placeholder{color:var(--pp-muted)}
.select2-container .select2-selection--single .select2-selection__arrow{height:46px;width:40px;right:2px;top:0}
.select2-container .select2-selection--single .select2-selection__arrow b{border-color:var(--pp-ink) transparent transparent;border-width:6px 5px 0;margin-left:-5px;margin-top:-3px}
.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent var(--pp-ink);border-width:0 5px 6px}
.select2-container--focus .select2-selection--single,.select2-container--open .select2-selection--single{outline:3px solid var(--pp-blue);outline-offset:2px}
.select2-dropdown{border:2px solid var(--pp-ink);border-radius:0;background:var(--pp-white);color:var(--pp-ink);font-family:var(--pp-font)}
.select2-container--open .select2-dropdown--below{border-top:2px solid var(--pp-ink);margin-top:4px}
.select2-container--open .select2-dropdown--above{margin-top:-4px}
.select2-search--dropdown{padding:8px}
.select2-search--dropdown .select2-search__field{min-height:44px;border:2px solid var(--pp-ink);border-radius:0;padding:8px 10px}
.select2-results__option{padding:9px 14px;font-size:.95rem}
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected],
.select2-results__option--highlighted{background:var(--pp-ink)!important;color:var(--pp-white)!important}
.select2-container--default .select2-results__option[aria-selected=true],
.select2-container--default .select2-results__option[data-selected=true]{background:var(--pp-soft);color:var(--pp-ink);font-weight:700}

/* caselle di spunta e scelte (termini, spedire altrove, crea account, spedizioni) */
.woocommerce form .form-row .woocommerce-form__label-for-checkbox,
.woocommerce-form__label-for-checkbox{display:block!important;position:relative;padding-left:32px;font-size:.92rem!important;font-weight:600!important;letter-spacing:0!important;text-transform:none!important;line-height:1.45!important;cursor:pointer}
.woocommerce-form__label-for-checkbox input[type=checkbox]{position:absolute;left:0;top:0;margin:0;width:20px;height:20px}
.woocommerce form .form-row .woocommerce-form__label-for-checkbox .required{margin-left:2px}

/* quantita' */
.woocommerce .quantity .qty{width:76px;min-height:48px;padding:8px 6px;border:2px solid var(--pp-ink);border-radius:0;font:700 1rem/1 var(--pp-font);text-align:center;-moz-appearance:textfield}

/* ==========================================================================
   CARRELLO
   ========================================================================== */
.woocommerce-cart .ppf-shipbar,.woocommerce-checkout .ppf-shipbar{border:2px solid var(--pp-ink);background:var(--pp-white)}

@media (min-width:1000px){
  .woocommerce-cart .pp-prose>.woocommerce{display:grid;grid-template-columns:minmax(0,1fr) var(--pp-flow-aside);column-gap:var(--pp-flow-gap);align-items:start}
  .woocommerce-cart .pp-prose>.woocommerce>*{grid-column:1/-1}
  .woocommerce-cart .pp-prose>.woocommerce>.ppf-shipbar,
  .woocommerce-cart .pp-prose>.woocommerce>.woocommerce-notices-wrapper,
  .woocommerce-cart .pp-prose>.woocommerce>form.woocommerce-cart-form{grid-column:1}
  .woocommerce-cart .pp-prose>.woocommerce>.cart-collaterals{display:contents}
  .woocommerce-cart .cart-collaterals>.cart_totals{grid-column:2;grid-row:1/span 6;position:sticky;top:calc(var(--pp-header-h) + 24px)}
  .admin-bar.woocommerce-cart .cart-collaterals>.cart_totals{top:calc(var(--pp-header-h) + 56px)}
  .woocommerce-cart .cart-collaterals>.cross-sells{grid-column:1/-1;order:2;margin-top:40px}
}
.woocommerce .cart-collaterals .cross-sells,.woocommerce-page .cart-collaterals .cross-sells{float:none;width:auto}
.woocommerce .cart-collaterals .cross-sells ul.products{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:760px){.woocommerce .cart-collaterals .cross-sells ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}}
.woocommerce-cart form.woocommerce-cart-form{margin:0 0 28px}

/* tabella prodotti */
.woocommerce-cart table.shop_table.cart{width:100%;margin:0;border:2px solid var(--pp-ink);border-collapse:collapse;table-layout:auto}
.woocommerce-cart table.cart thead th{background:var(--pp-soft);border-top:0;border-bottom:2px solid var(--pp-ink);padding:14px 16px;font-size:.74rem;font-weight:700;letter-spacing:.12em;text-align:left}
.woocommerce-cart table.cart td{padding:16px;border-top:1px solid var(--pp-hair);vertical-align:middle}
.woocommerce-cart table.cart tr.cart_item+tr.cart_item td{border-top:1px solid var(--pp-ink)}
.woocommerce-cart table.cart td.product-remove{width:56px;padding-right:0}
.woocommerce-cart table.cart td.product-thumbnail{width:108px}
.woocommerce-cart table.cart td.product-thumbnail a{display:block;width:84px}
.woocommerce-cart table.cart img,.woocommerce-cart table.cart td.product-thumbnail img{width:84px;max-width:none;aspect-ratio:5/7;height:auto;object-fit:cover;background:var(--pp-soft);border:2px solid var(--pp-ink)}
.woocommerce-cart table.cart td.product-name{min-width:0}
.woocommerce-cart table.cart td.product-name>a,.woocommerce-cart table.cart td.product-name>a:visited{
  display:inline;color:var(--pp-ink);font-family:var(--pp-display);font-weight:900;font-size:1rem;line-height:1.2;letter-spacing:-.005em;text-transform:uppercase;text-decoration:none
}
.woocommerce-cart table.cart td.product-name>a:hover{color:var(--pp-red)}
.woocommerce-cart table.cart td.product-name dl.variation{margin:8px 0 0;font-size:.82rem;color:var(--pp-muted)}
.woocommerce-cart table.cart td.product-name dl.variation dt{font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}
.woocommerce-cart table.cart td.product-name .backorder_notification{font-size:.82rem;color:var(--pp-muted)}
.woocommerce-cart table.cart td.product-price{color:var(--pp-muted);font-weight:700;white-space:nowrap}
.woocommerce-cart table.cart td.product-subtotal{color:var(--pp-blue);font-weight:900;font-size:1.05rem;white-space:nowrap}
.woocommerce-cart table.cart td.product-quantity .quantity{display:inline-block;margin:0}

/* pulsante "rimuovi" quadrato, come il resto del tema */
.woocommerce a.remove,.woocommerce-cart table.cart a.remove{
  display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:2px solid var(--pp-ink);border-radius:0;
  background:var(--pp-white);color:var(--pp-ink)!important;font:400 1.5rem/1 var(--pp-font);text-decoration:none
}
.woocommerce a.remove:hover,.woocommerce-cart table.cart a.remove:hover{background:var(--pp-red);color:var(--pp-white)!important;border-color:var(--pp-ink)}

/* riga azioni: coupon + aggiorna */
.woocommerce-cart table.cart td.actions{padding:16px;background:var(--pp-soft);border-top:2px solid var(--pp-ink);text-align:right}
.woocommerce-cart table.cart td.actions .coupon{display:flex;align-items:stretch;gap:0;float:left;max-width:100%}
.woocommerce-cart table.cart td.actions .coupon .input-text,.woocommerce-cart #coupon_code{
  width:220px;min-height:50px;margin:0;padding:12px 14px;border:2px solid var(--pp-ink);border-right:0;border-radius:0;background:var(--pp-white);font:400 1rem/1.2 var(--pp-font);float:none
}
.woocommerce-cart table.cart td.actions .coupon .button{flex:none;margin:0;white-space:nowrap}
.woocommerce-cart table.cart td.actions>.button{float:none;margin:0}

/* totali carrello: riquadro con barra nera, come le schede attive del prodotto */
.woocommerce-cart .cart_totals{border:2px solid var(--pp-ink);background:var(--pp-white);margin:0 0 28px}
.woocommerce-cart .cart_totals>h2{margin:0;padding:14px var(--pp-flow-pad);background:var(--pp-ink);color:var(--pp-white);font-size:1rem;letter-spacing:.12em}
.woocommerce-cart .cart_totals table.shop_table{width:100%;margin:0;border:0;background:none}
.woocommerce-cart .cart_totals table.shop_table th,.woocommerce-cart .cart_totals table.shop_table td{padding:14px var(--pp-flow-pad);border-top:1px solid var(--pp-hair);vertical-align:top;background:none}
.woocommerce-cart .cart_totals table.shop_table tr:first-child th,.woocommerce-cart .cart_totals table.shop_table tr:first-child td{border-top:0}
.woocommerce-cart .cart_totals table.shop_table th{width:38%;font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.woocommerce-cart .cart_totals table.shop_table td{text-align:right}
.woocommerce-cart .cart_totals .order-total th,.woocommerce-cart .cart_totals .order-total td{border-top:2px solid var(--pp-ink);padding-top:16px;padding-bottom:16px}
.woocommerce-cart .cart_totals .order-total td strong,.woocommerce-cart .cart_totals .order-total .amount{font-family:var(--pp-display);font-weight:900;font-size:1.45rem;color:var(--pp-ink)}
.woocommerce-cart .cart_totals .order-total small{display:block;font-size:.78rem;color:var(--pp-muted)}
.woocommerce-cart .wc-proceed-to-checkout{padding:0 var(--pp-flow-pad) var(--pp-flow-pad);margin:0}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{display:flex;width:100%;margin:0;min-height:58px;padding:18px 20px;font-size:1rem}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button::after{content:"\2192";font-size:1.1em;letter-spacing:0}

/* spedizione (lista metodi, destinazione, calcolo) */
.woocommerce ul#shipping_method{margin:0;padding:0;list-style:none;text-align:left}
.woocommerce ul#shipping_method li{display:flex;align-items:flex-start;gap:8px;margin:0 0 8px;padding:0;text-indent:0;line-height:1.4}
.woocommerce ul#shipping_method li:last-child{margin-bottom:0}
.woocommerce ul#shipping_method li input{flex:none;margin:2px 0 0;width:18px;height:18px}
.woocommerce ul#shipping_method li label{font-weight:700;font-size:.92rem;text-transform:none;letter-spacing:0;cursor:pointer}
.woocommerce ul#shipping_method .amount{font-weight:900}
.woocommerce .woocommerce-shipping-destination{margin:10px 0 6px;font-size:.85rem;color:var(--pp-muted);text-align:left}
.woocommerce .woocommerce-shipping-calculator{text-align:left;margin:0}
.woocommerce .woocommerce-shipping-calculator p{margin:0}
.woocommerce a.shipping-calculator-button{display:inline-block;margin-top:4px;color:var(--pp-ink);font-weight:700;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;border-bottom:2px solid currentColor}
.woocommerce a.shipping-calculator-button::after{display:none}
.woocommerce a.shipping-calculator-button:hover{color:var(--pp-red)}
.woocommerce .shipping-calculator-form{margin:14px 0 0;padding-top:14px;border-top:1px solid var(--pp-hair)}
.woocommerce .shipping-calculator-form .form-row{margin-bottom:12px}
.woocommerce .shipping-calculator-form .button{width:100%}

/* carrello vuoto */
.woocommerce-cart .cart-empty.woocommerce-info{font-weight:700;font-size:1.05rem}
.woocommerce-cart .return-to-shop{margin:8px 0 0}
.woocommerce-cart .return-to-shop .button::before{content:"\2190";letter-spacing:0}

/* carrello su mobile: ogni poster e' una scheda */
@media (max-width:768px){
  .woocommerce-cart table.shop_table.cart{display:block;width:100%;border:0;background:none}
  .woocommerce-cart table.cart thead{display:none}
  .woocommerce-cart table.cart tbody{display:block}
  .woocommerce-cart table.cart tr.cart_item{
    display:grid;grid-template-columns:76px minmax(0,1fr);column-gap:14px;position:relative;
    margin:0 0 12px;padding:14px;border:2px solid var(--pp-ink);background:var(--pp-white)
  }
  .woocommerce-cart table.cart tr.cart_item td,
  .woocommerce-cart table.cart tr.cart_item+tr.cart_item td{
    grid-column:2;display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;
    padding:7px 0;border:0;border-top:1px solid var(--pp-hair);background:none!important;text-align:right!important
  }
  .woocommerce-cart table.cart tr.cart_item td::before{
    content:attr(data-title);float:none;flex:none;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--pp-muted);text-align:left
  }
  .woocommerce-cart table.cart tr.cart_item td.product-thumbnail{display:block;grid-column:1;grid-row:1/span 4;padding:0;border:0}
  .woocommerce-cart table.cart tr.cart_item td.product-thumbnail::before,
  .woocommerce-cart table.cart tr.cart_item td.product-name::before,
  .woocommerce-cart table.cart tr.cart_item td.product-remove::before{display:none}
  .woocommerce-cart table.cart td.product-thumbnail a,.woocommerce-cart table.cart td.product-thumbnail img{width:76px}
  .woocommerce-cart table.cart tr.cart_item td.product-name{display:block;border-top:0;padding:0 46px 10px 0;text-align:left!important}
  .woocommerce-cart table.cart tr.cart_item td.product-remove{position:absolute;top:12px;right:12px;width:auto;padding:0;border:0}
  .woocommerce-cart table.cart tr.cart_item td.product-quantity .qty{min-height:44px;width:68px}
  .woocommerce-cart table.cart tr:not(.cart_item){display:block}
  .woocommerce-cart table.cart td.actions{display:block;padding:14px;border:2px solid var(--pp-ink);text-align:left}
  .woocommerce-cart table.cart td.actions::before{display:none}
  .woocommerce-cart table.cart td.actions .coupon{float:none;display:flex;width:100%;padding:0;margin:0 0 12px;border:0}
  .woocommerce-cart table.cart td.actions .coupon .input-text,.woocommerce-cart #coupon_code{flex:1 1 auto;width:auto;min-width:0}
  .woocommerce-cart table.cart td.actions .coupon .button{width:auto;padding-inline:16px;font-size:.8rem}
  .woocommerce-cart table.cart td.actions>.button{width:100%}
  .woocommerce-cart .cart_totals table.shop_table_responsive tr td{text-align:right!important}
  .woocommerce-cart .cart_totals table.shop_table_responsive tr td::before{content:attr(data-title);float:left;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--pp-ink)}
  .woocommerce-cart .cart_totals table.shop_table_responsive tr{display:block}
  .woocommerce-cart .cart_totals table.shop_table_responsive tr td{display:block;border-top:1px solid var(--pp-hair)}
  .woocommerce-cart .cart_totals table.shop_table_responsive tr:first-child td{border-top:0}
  .woocommerce-cart .cart_totals table.shop_table_responsive tr.order-total td{border-top:2px solid var(--pp-ink)}
  .woocommerce-cart .cart_totals ul#shipping_method li{justify-content:flex-end}
  .woocommerce-cart .cart_totals .woocommerce-shipping-destination,.woocommerce-cart .cart_totals .woocommerce-shipping-calculator{clear:both;text-align:left}
}
@media (max-width:360px){
  .woocommerce-cart table.cart tr.cart_item{grid-template-columns:60px minmax(0,1fr);padding:12px;column-gap:12px}
  .woocommerce-cart table.cart td.product-thumbnail a,.woocommerce-cart table.cart td.product-thumbnail img{width:60px}
  .woocommerce-cart table.cart td.actions .coupon{flex-wrap:wrap}
  .woocommerce-cart table.cart td.actions .coupon .input-text,.woocommerce-cart #coupon_code{border-right:2px solid var(--pp-ink);width:100%;flex-basis:100%}
  .woocommerce-cart table.cart td.actions .coupon .button{width:100%;margin-top:8px}
}

/* ==========================================================================
   CASSA (checkout)
   ========================================================================== */
/* coupon e accesso sopra il modulo */
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info,
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info{margin-bottom:12px}
.woocommerce form.checkout_coupon,.woocommerce form.woocommerce-form-login.login{
  margin:0 0 20px;padding:var(--pp-flow-pad);border:2px solid var(--pp-ink);border-radius:0;background:var(--pp-soft);text-align:left
}
.woocommerce form.checkout_coupon{display:flex;flex-wrap:wrap;align-items:stretch;gap:0}
.woocommerce form.checkout_coupon>p:not(.form-row){flex:1 1 100%;margin:0 0 12px;font-size:.9rem}
.woocommerce form.checkout_coupon .form-row{float:none;width:auto;margin:0;padding:0}
.woocommerce form.checkout_coupon .form-row-first{flex:1 1 200px;max-width:340px}
.woocommerce form.checkout_coupon .form-row-first .input-text{border-right:0}
.woocommerce form.checkout_coupon .form-row-last .button{height:100%;white-space:nowrap}
.woocommerce form.checkout_coupon .clear{display:none}
.woocommerce form.checkout_coupon .coupon-error-notice{flex:1 1 100%;margin:8px 0 0;color:var(--pp-red);font-weight:700;font-size:.88rem}
.woocommerce form.checkout_coupon .form-row.has-error .input-text{border-color:var(--pp-red);border-right:0}
@media (max-width:420px){
  .woocommerce form.checkout_coupon .form-row-first{flex-basis:100%;max-width:none}
  .woocommerce form.checkout_coupon .form-row-first .input-text{border-right:2px solid var(--pp-ink)}
  .woocommerce form.checkout_coupon .form-row-last{flex-basis:100%;margin-top:8px}
  .woocommerce form.checkout_coupon .form-row-last .button{width:100%}
}
.woocommerce form.woocommerce-form-login .form-row-first,.woocommerce form.woocommerce-form-login .form-row-last{width:100%}
.woocommerce form.woocommerce-form-login .woocommerce-form-login__rememberme{display:inline-flex!important;margin:0 16px 0 0}
.woocommerce form.woocommerce-form-login .lost_password a{color:var(--pp-red);font-weight:700}

/* layout a due colonne: dati a sinistra, riepilogo + pagamento a destra (sticky) */
.pp-checkout{display:block}
@media (min-width:1000px){
  .pp-checkout{display:grid;grid-template-columns:minmax(0,1fr) var(--pp-flow-aside);gap:var(--pp-flow-gap);align-items:start}
  .pp-checkout__aside{position:sticky;top:var(--pp-aside-top,calc(var(--pp-header-h) + 24px))}
  .admin-bar .pp-checkout__aside{top:var(--pp-aside-top,calc(var(--pp-header-h) + 56px))}
  /* avvisi, barra spedizione e coupon allineati alla colonna dei dati */
  .woocommerce-checkout:not(.woocommerce-order-received):not(.woocommerce-order-pay) .pp-prose>.woocommerce>:not(form.checkout),
  .woocommerce-checkout form.checkout>.woocommerce-NoticeGroup{max-width:calc(100% - var(--pp-flow-aside) - var(--pp-flow-gap))}
}
.woocommerce-checkout form.checkout>.woocommerce-NoticeGroup{margin-bottom:8px}

/* colonna dati */
.woocommerce-checkout #customer_details.col2-set{width:auto;margin:0}
.woocommerce-checkout #customer_details.col2-set::before,.woocommerce-checkout #customer_details.col2-set::after{display:none}
.woocommerce-checkout #customer_details .col-1,.woocommerce-checkout #customer_details .col-2{float:none;width:auto;max-width:none;margin:0;padding:0}
.woocommerce-checkout #customer_details .col-1{margin-bottom:28px}
.woocommerce-checkout .woocommerce-billing-fields>h3,.woocommerce-checkout #customer_details h3:not(#ship-to-different-address){display:flex;align-items:center;gap:12px}
.woocommerce-checkout .woocommerce-billing-fields>h3::before{content:"";flex:none;width:14px;height:14px;background:var(--pp-red)}
.woocommerce-checkout .woocommerce-additional-fields>h3::before{content:"";flex:none;width:14px;height:14px;background:var(--pp-blue)}
/* "Spedire a un indirizzo diverso?" come riquadro selezionabile, non come titolo gigante */
.woocommerce-checkout #customer_details h3#ship-to-different-address{
  float:none;width:auto;clear:both;margin:0 0 20px;padding:0;border:2px solid var(--pp-ink);background:var(--pp-white);font-size:1rem;line-height:1.3;letter-spacing:.06em
}
.woocommerce-checkout h3#ship-to-different-address label{
  display:flex!important;align-items:center;gap:12px;margin:0;padding:15px var(--pp-flow-pad);cursor:pointer;
  font-family:var(--pp-display);font-weight:900!important;font-size:.9rem!important;letter-spacing:.08em!important;text-transform:uppercase!important
}
.woocommerce-checkout h3#ship-to-different-address label:hover{background:var(--pp-soft)}
.woocommerce-checkout h3#ship-to-different-address input{position:static;flex:none;width:20px;height:20px;margin:0}
.woocommerce-checkout h3#ship-to-different-address:has(input:checked){background:var(--pp-soft);box-shadow:inset 6px 0 0 var(--pp-blue)}
.woocommerce-checkout .shipping_address{margin-bottom:12px}
.woocommerce-checkout .woocommerce-account-fields{margin:4px 0 16px}
.woocommerce-checkout .woocommerce-account-fields .create-account{margin-bottom:12px}

/* colonna riepilogo: riquadro con barra nera */
.pp-checkout__aside{margin-top:12px;border:2px solid var(--pp-ink);background:var(--pp-white)}
@media (min-width:1000px){.pp-checkout__aside{margin-top:0}}
.woocommerce-checkout #order_review_heading{
  float:none;width:auto;margin:0;padding:14px var(--pp-flow-pad);background:var(--pp-ink);color:var(--pp-white);
  font-size:1rem;line-height:1.2;letter-spacing:.12em;border:0
}
.woocommerce-checkout .pp-checkout__aside #order_review{float:none;width:auto;margin:0;padding:0}

/* tabella riepilogo (cassa) e tabelle ordine (ordine completato, account, order-pay) */
.woocommerce table.shop_table.woocommerce-checkout-review-order-table{width:100%;margin:0;border:0;border-radius:0;background:none}
.woocommerce-checkout-review-order-table th,.woocommerce-checkout-review-order-table td{padding:13px var(--pp-flow-pad)!important;border-top:1px solid var(--pp-hair)!important;vertical-align:top;background:none}
.woocommerce-checkout-review-order-table thead th{border-top:0!important;background:var(--pp-soft);font-size:.72rem!important;font-weight:700;letter-spacing:.12em}
.woocommerce-checkout-review-order-table thead th.product-total,.woocommerce-checkout-review-order-table td.product-total,
.woocommerce-checkout-review-order-table tfoot td{text-align:right}
.woocommerce-checkout-review-order-table td.product-name{font-weight:700;line-height:1.35}
.woocommerce-checkout-review-order-table td.product-name .product-quantity{display:inline-block;margin-left:4px;padding:1px 6px;background:var(--pp-ink);color:var(--pp-white);font-size:.75rem;font-weight:700;white-space:nowrap}
.woocommerce-checkout-review-order-table td.product-name dl.variation{margin:6px 0 0;font-size:.8rem;font-weight:400;color:var(--pp-muted)}
.woocommerce-checkout-review-order-table td.product-total{color:var(--pp-blue);font-weight:900;white-space:nowrap}
.woocommerce-checkout-review-order-table tfoot th{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-align:left}
.woocommerce-checkout-review-order-table tfoot td{font-weight:700}
.woocommerce-checkout-review-order-table tfoot tr.cart-subtotal th,.woocommerce-checkout-review-order-table tfoot tr.cart-subtotal td{border-top:2px solid var(--pp-ink)!important}
.woocommerce-checkout-review-order-table .order-total th,.woocommerce-checkout-review-order-table .order-total td{border-top:2px solid var(--pp-ink)!important;padding-top:16px!important;padding-bottom:16px!important}
.woocommerce-checkout-review-order-table .order-total td strong .amount,.woocommerce-checkout-review-order-table .order-total td>.amount{font-family:var(--pp-display);font-weight:900;font-size:1.45rem;color:var(--pp-ink)}
.woocommerce-checkout-review-order-table .order-total small{display:block;font-weight:400;font-size:.78rem;color:var(--pp-muted)}
/* Riepilogo ordine (cassa): righe a griglia invece che a tabella. La riga Spedizione e a tutta larghezza (titolo sopra, opzioni sotto):
   cosi il pulsante «Seleziona un punto di ritiro» (Sendcloud) e le etichette lunghe non allargano il riquadro ne sfasano subtotale/totale. */
.pp-checkout__aside{min-width:0;overflow-x:clip}
.woocommerce-checkout-review-order-table,.woocommerce-checkout-review-order-table thead,.woocommerce-checkout-review-order-table tbody,.woocommerce-checkout-review-order-table tfoot{display:block;width:100%;max-width:100%}
.woocommerce-checkout-review-order-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;width:100%}
.woocommerce-checkout-review-order-table th,.woocommerce-checkout-review-order-table td{display:block;min-width:0;box-sizing:border-box}
.woocommerce-checkout-review-order-table tr.shipping,.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals{grid-template-columns:minmax(0,1fr);border-top:1px solid var(--pp-hair)}
.woocommerce-checkout-review-order-table tr.shipping th,.woocommerce-checkout-review-order-table tr.shipping td{width:100%;text-align:left;border-top:0!important}
.woocommerce-checkout-review-order-table tr.shipping th{padding-bottom:4px!important}
.woocommerce-checkout-review-order-table tr.shipping td{padding-top:4px!important}
.woocommerce-checkout-review-order-table tr.shipping td::before{display:none!important}
.woocommerce-checkout-review-order-table tr.shipping td ul#shipping_method{width:100%;max-width:100%}
.woocommerce-checkout-review-order-table tr.shipping td ul#shipping_method li{flex-wrap:wrap;justify-content:flex-start;text-align:left;min-width:0;max-width:100%}
.woocommerce-checkout-review-order-table tr.shipping td ul#shipping_method li label{flex:1 1 0;min-width:0;font-size:.9rem;line-height:1.35;overflow-wrap:anywhere}
.woocommerce-checkout-review-order-table tr.shipping td ul#shipping_method li>:not(input):not(label):not(.screen-reader-text),
.woocommerce-checkout-review-order-table tr.shipping td ul#shipping_method>:not(li),
.woocommerce-checkout-review-order-table tr.shipping td ul#shipping_method li button,
.woocommerce-checkout-review-order-table tr.shipping td ul#shipping_method li .button{
  flex:0 0 100%;box-sizing:border-box;width:100%;max-width:100%;margin:8px 0 2px;float:none;padding:12px 14px;
  font-size:.78rem;line-height:1.25;letter-spacing:.08em;text-align:center;white-space:normal
}
.woocommerce-checkout-review-order-table tr.shipping td p,.woocommerce-checkout-review-order-table tr.shipping td .woocommerce-shipping-destination{text-align:left;overflow-wrap:anywhere}
.woocommerce-checkout-review-order-table tr.cart-discount td,.woocommerce-checkout-review-order-table tr.cart-discount th{color:var(--pp-red)}
.woocommerce a.woocommerce-remove-coupon{color:var(--pp-red);font-weight:700;font-size:.8rem}

/* --- messaggio PayPal «Paga in 3 rate…» sotto il totale: centrato, con i margini della cassa ---- */
.woocommerce-checkout .ppcp-messages,.woocommerce-order-pay .ppcp-messages{
  box-sizing:border-box;width:100%;margin:0;padding:14px var(--pp-flow-pad);text-align:center;
  border-top:1px solid var(--pp-hair);background:var(--pp-white);line-height:1.4
}
.woocommerce-checkout .ppcp-messages:empty,.woocommerce-order-pay .ppcp-messages:empty{display:none}
.woocommerce-checkout .ppcp-messages>*,.woocommerce-order-pay .ppcp-messages>*{display:block;max-width:100%;margin-inline:auto;text-align:center}
.woocommerce-checkout .ppcp-messages iframe,.woocommerce-order-pay .ppcp-messages iframe{display:block;width:100%!important;max-width:100%;margin:0 auto}

/* --- pagamento: lista metodi, box descrittivi, termini, pulsante ------------------ */
.woocommerce-checkout #payment,.woocommerce-order-pay #payment,#add_payment_method #payment{
  border:0;border-top:2px solid var(--pp-ink);border-radius:0;background:var(--pp-soft)
}
#payment ul.payment_methods,.woocommerce-checkout #payment ul.payment_methods{margin:0;padding:0;border:0;list-style:none;text-align:left}
#payment ul.payment_methods::before,#payment ul.payment_methods::after{display:none}
#payment ul.payment_methods>li{
  position:relative;margin:0;padding:15px var(--pp-flow-pad);border-bottom:1px solid var(--pp-hair);
  line-height:1.4;list-style:none;text-align:left;background:transparent;transition:background-color .15s
}
#payment ul.payment_methods>li:last-child{border-bottom:2px solid var(--pp-ink)}
#payment ul.payment_methods>li:has(>input.input-radio:checked){background:var(--pp-white);box-shadow:inset 6px 0 0 var(--pp-red)}
#payment ul.payment_methods>li>input.input-radio{width:20px;height:20px;margin:0 10px 0 0;vertical-align:-4px}
#payment ul.payment_methods>li>label{
  display:inline;cursor:pointer;font-weight:900;font-size:.95rem;letter-spacing:.02em;text-transform:none;color:var(--pp-ink)
}
#payment ul.payment_methods>li:only-child>input.input-radio{position:absolute;opacity:0;pointer-events:none}
/* loghi dei gateway (main.css rende le immagini block: qui tornano in linea) */
#payment ul.payment_methods li img,#payment ul.payment_methods li label img{
  display:inline-block;width:auto;max-width:100%;max-height:26px;margin:-2px 0 0 .5em;padding:0;vertical-align:middle;box-shadow:none;border:0
}
#payment ul.payment_methods li .about_paypal{float:none;margin-left:8px;line-height:1.4;font-size:.8rem;color:var(--pp-red)}
#payment div.payment_box,.woocommerce-checkout #payment div.payment_box{
  position:relative;margin:12px 0 2px;padding:14px 16px;border:2px solid var(--pp-ink);border-radius:0;
  background:var(--pp-white);color:var(--pp-ink);font-size:.92rem;line-height:1.5;box-shadow:none
}
#payment div.payment_box::before{display:none}
#payment ul.payment_methods>li:has(>input.input-radio:checked) div.payment_box{background:var(--pp-soft);border-color:var(--pp-soft)}
#payment div.payment_box p:last-child{margin-bottom:0}
#payment div.payment_box fieldset{margin:12px 0 0;padding:0;border:0}
#payment div.payment_box .form-row{margin:0 0 12px;padding:0}
#payment div.payment_box .woocommerce-SavedPaymentMethods{margin:0 0 12px;padding:0;list-style:none}
#payment div.payment_box .woocommerce-SavedPaymentMethods li{margin:0 0 8px}
#payment div.payment_box .woocommerce-SavedPaymentMethods-saveNew{margin-top:10px}
/* contenitori degli iframe dei gateway: solo cornice, nessun intervento sul contenuto */
#payment div.payment_box iframe{max-width:100%}
#payment div.payment_box .wc-credit-card-form,#payment div.payment_box .wcpay-upe-element,
#payment div.payment_box [id*="stripe"][class*="element"],#payment div.payment_box .sumup-card,
#payment div.payment_box #sumup-card{max-width:100%}
#payment .woocommerce-notice,#payment ul.payment_methods li .woocommerce-info{margin:0}

#payment div.form-row,.woocommerce-checkout #payment div.form-row{margin:0;padding:var(--pp-flow-pad)}
#payment .place-order{display:flex;flex-direction:column;gap:14px}
#payment .place-order>*{margin:0}
#payment #place_order,.woocommerce-checkout #payment #place_order,.woocommerce-page #payment #place_order{
  float:none;width:100%;min-height:60px;margin:0;padding:18px 20px;font-size:1rem;letter-spacing:.12em
}
/* i pulsanti dei gateway (PayPal, Google/Apple Pay...) restano larghi come il pulsante del tema */
#payment .place-order [id*="paypal"],#payment .place-order iframe{max-width:100%}

/* privacy e termini */
.woocommerce-privacy-policy-text{font-size:.82rem;line-height:1.5;color:var(--pp-muted)}
.woocommerce-privacy-policy-text:empty{display:none}
.woocommerce-privacy-policy-text p{margin:0}
.woocommerce-privacy-policy-text a{color:var(--pp-ink);font-weight:700}
.woocommerce-terms-and-conditions-wrapper{display:flex;flex-direction:column;gap:12px}
.woocommerce-terms-and-conditions-wrapper .form-row{margin:0}
.woocommerce-terms-and-conditions-wrapper .woocommerce-terms-and-conditions{
  margin:0;padding:14px 16px;border:2px solid var(--pp-ink);background:var(--pp-white);font-size:.85rem;line-height:1.5;box-shadow:none
}
.woocommerce-terms-and-conditions h2,.woocommerce-terms-and-conditions h3{font-size:.95rem;margin:1em 0 .4em}
.woocommerce-terms-and-conditions-wrapper .woocommerce-terms-and-conditions-link,
.woocommerce-terms-and-conditions-checkbox-text a{color:var(--pp-red);font-weight:700}
.woocommerce-terms-and-conditions-wrapper .woocommerce-terms-and-conditions-link::after{display:none}
.woocommerce form .form-row.woocommerce-invalid .woocommerce-terms-and-conditions-checkbox-text{color:var(--pp-red)}
.woocommerce-checkout #payment .validate-required.woocommerce-invalid .woocommerce-form__label-for-checkbox input{outline:3px solid var(--pp-red);outline-offset:2px}

/* ==========================================================================
   PAGAMENTO ORDINE (checkout/order-pay) e verifica email
   ========================================================================== */
.woocommerce-order-pay .pp-prose>.woocommerce{max-width:760px}
.woocommerce-order-pay ul.order_details{margin-bottom:24px}
.woocommerce-order-pay form#order_review{border:2px solid var(--pp-ink);background:var(--pp-white)}
.woocommerce-order-pay form#order_review table.shop_table{width:100%;margin:0;border:0;border-radius:0}
.woocommerce-order-pay form#order_review table.shop_table th,.woocommerce-order-pay form#order_review table.shop_table td{padding:13px var(--pp-flow-pad);border-top:1px solid var(--pp-hair)}
.woocommerce-order-pay form#order_review table.shop_table thead th{border-top:0;background:var(--pp-ink);color:var(--pp-white);font-size:.74rem;letter-spacing:.12em}
.woocommerce-order-pay form#order_review table.shop_table .product-total,.woocommerce-order-pay form#order_review table.shop_table .product-subtotal{text-align:right;white-space:nowrap}
.woocommerce-order-pay form#order_review table.shop_table tfoot th{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;text-align:left}
.woocommerce-order-pay form#order_review table.shop_table tfoot tr:first-child th,.woocommerce-order-pay form#order_review table.shop_table tfoot tr:first-child td{border-top:2px solid var(--pp-ink)}
.woocommerce-order-pay form#order_review table.shop_table tfoot tr:last-child td{font-family:var(--pp-display);font-weight:900;font-size:1.3rem}
.woocommerce-order-pay form#order_review table.shop_table td.product-subtotal{color:var(--pp-blue);font-weight:900}
.woocommerce form.woocommerce-verify-email{max-width:560px;padding:var(--pp-flow-pad);border:2px solid var(--pp-ink);background:var(--pp-soft)}
.woocommerce form.woocommerce-verify-email p:first-child{font-weight:700}

/* ==========================================================================
   ORDINE COMPLETATO (thank you) + dettaglio ordine (anche nell'account)
   ========================================================================== */
.woocommerce-order{display:block}
@media (min-width:1000px){
  .woocommerce-order{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);column-gap:var(--pp-flow-gap);align-items:start}
  .woocommerce-order>*{grid-column:1/-1}
  .woocommerce-order>.woocommerce-order-details{grid-column:1}
  .woocommerce-order>.woocommerce-customer-details{grid-column:2}
}
/* messaggio di conferma: riquadro con il bersaglio mods */
.woocommerce-order .woocommerce-thankyou-order-received,
.woocommerce .woocommerce-notice--success.woocommerce-thankyou-order-received{
  position:relative;margin:0 0 24px;padding:24px 24px 24px 96px;min-height:96px;display:flex;align-items:center;
  border:2px solid var(--pp-ink);border-left:10px solid var(--pp-blue);background:var(--pp-white);
  font-family:var(--pp-display);font-weight:900;font-size:clamp(1.15rem,2.2vw,1.5rem);line-height:1.2;text-transform:uppercase;letter-spacing:.01em
}
.woocommerce-thankyou-order-received::before{
  content:"";position:absolute;left:24px;top:50%;width:52px;height:52px;margin-top:-26px;border-radius:50%;
  background:radial-gradient(circle closest-side,var(--pp-red) 0 24%,var(--pp-white) 0 46%,var(--pp-blue) 0 100%)
}
.woocommerce-order .woocommerce-thankyou-order-failed{padding:16px 20px;border:2px solid var(--pp-ink);border-top:6px solid var(--pp-red);font-weight:700}
.woocommerce-order .woocommerce-thankyou-order-failed-actions{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 24px}
@media (max-width:480px){
  .woocommerce .woocommerce-thankyou-order-received{padding:18px 16px 18px 76px;min-height:80px;border-left-width:8px}
  .woocommerce-thankyou-order-received::before{left:14px;width:44px;height:44px;margin-top:-22px}
}

/* riepilogo in caselle (numero, data, totale, metodo) e coordinate bancarie */
.woocommerce ul.order_details,.woocommerce-order ul.order_details{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:0;
  margin:0 0 28px;padding:0;list-style:none;border:2px solid var(--pp-ink);background:var(--pp-white);overflow:hidden
}
.woocommerce ul.order_details::before,.woocommerce ul.order_details::after{display:none}
.woocommerce ul.order_details li{
  float:none;margin:0 -1px -1px 0;padding:14px 16px;border:0;border-right:1px solid var(--pp-ink);border-bottom:1px solid var(--pp-ink);
  font-size:.7rem;font-weight:700;line-height:1.3;letter-spacing:.12em;text-transform:uppercase;color:var(--pp-muted);list-style:none;min-width:0
}
.woocommerce ul.order_details li strong{
  display:block;margin-top:6px;font-size:1.05rem;font-weight:900;line-height:1.25;letter-spacing:0;text-transform:none;color:var(--pp-ink);overflow-wrap:anywhere
}
.woocommerce ul.order_details li.woocommerce-order-overview__total strong{color:var(--pp-blue)}
.woocommerce ul.order_details.bacs_details li.iban strong,.woocommerce ul.order_details.bacs_details li.bic strong{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.98rem;font-weight:700}

/* istruzioni del metodo di pagamento (bonifico, contrassegno) */
.woocommerce-order>p:not([class]){margin:0 0 20px;padding:14px 18px;border:2px solid var(--pp-ink);border-top:6px solid var(--pp-gold);background:var(--pp-white);font-weight:700}
.woocommerce-order .woocommerce-bacs-bank-details{margin:0 0 12px}
.woocommerce-order .woocommerce-bacs-bank-details .wc-bacs-bank-details-account-name{font-size:.9rem;letter-spacing:.1em;margin:0 0 10px}

/* tabella dettaglio ordine */
.woocommerce .woocommerce-order-details,.woocommerce .woocommerce-customer-details{margin-bottom:32px}
.woocommerce table.shop_table.order_details{width:100%;margin:0 0 16px;border:2px solid var(--pp-ink);border-radius:0}
.woocommerce table.shop_table.order_details th,.woocommerce table.shop_table.order_details td{padding:13px 16px;border-top:1px solid var(--pp-hair);vertical-align:top}
.woocommerce table.shop_table.order_details thead th{border-top:0;background:var(--pp-ink);color:var(--pp-white);font-size:.74rem;letter-spacing:.12em}
.woocommerce table.shop_table.order_details .product-total,.woocommerce table.shop_table.order_details tfoot td{text-align:right}
.woocommerce table.shop_table.order_details td.product-name a{color:var(--pp-ink);font-weight:900;text-transform:uppercase;text-decoration:none}
.woocommerce table.shop_table.order_details td.product-name a:hover{color:var(--pp-red)}
.woocommerce table.shop_table.order_details td.product-name .product-quantity{font-weight:700;color:var(--pp-muted);white-space:nowrap}
.woocommerce table.shop_table.order_details td.product-name .wc-item-meta{margin:6px 0 0;padding:0;list-style:none;font-size:.82rem;color:var(--pp-muted)}
.woocommerce table.shop_table.order_details td.product-name .wc-item-meta li{display:flex;gap:6px;margin:0}
.woocommerce table.shop_table.order_details td.product-name .wc-item-meta p{margin:0}
.woocommerce table.shop_table.order_details td.product-total{color:var(--pp-blue);font-weight:900;white-space:nowrap}
.woocommerce table.shop_table.order_details tfoot th{font-size:.72rem;letter-spacing:.12em;text-align:left}
.woocommerce table.shop_table.order_details tfoot tr:first-child th,.woocommerce table.shop_table.order_details tfoot tr:first-child td{border-top:2px solid var(--pp-ink)}
.woocommerce table.shop_table.order_details tfoot td{font-weight:700}
.woocommerce table.shop_table.order_details tfoot td small{font-weight:400;color:var(--pp-muted)}
.woocommerce-order-details .order-again{margin:0}

/* indirizzi */
.woocommerce .woocommerce-customer-details .col2-set{width:auto;display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
.woocommerce .woocommerce-customer-details .col2-set::before,.woocommerce .woocommerce-customer-details .col2-set::after{display:none}
.woocommerce .woocommerce-customer-details .col2-set .col-1,.woocommerce .woocommerce-customer-details .col2-set .col-2{float:none;width:auto;max-width:none}
@media (min-width:600px) and (max-width:999px){.woocommerce .woocommerce-customer-details .col2-set{grid-template-columns:repeat(2,minmax(0,1fr))}}
.woocommerce .woocommerce-customer-details address{
  margin:0;padding:16px 18px;border:2px solid var(--pp-ink);border-radius:0;background:var(--pp-white);font-style:normal;line-height:1.6;overflow-wrap:anywhere
}
.woocommerce .woocommerce-customer-details address p{margin:8px 0 0}
.woocommerce .woocommerce-customer-details .woocommerce-customer-details--phone,
.woocommerce .woocommerce-customer-details .woocommerce-customer-details--email{padding-left:1.6em}

/* ==========================================================================
   ACCOUNT (ordini, indirizzi, dati)
   ========================================================================== */
.woocommerce-account table.shop_table.my_account_orders,.woocommerce-account table.woocommerce-orders-table{width:100%;border:2px solid var(--pp-ink)}
.woocommerce-account table.woocommerce-orders-table thead th{background:var(--pp-ink);color:var(--pp-white);border-top:0}
.woocommerce-account table.woocommerce-orders-table td,.woocommerce-account table.woocommerce-orders-table th{padding:12px 14px;border-top:1px solid var(--pp-hair)}
.woocommerce-account table.woocommerce-orders-table .button{min-height:40px;padding:10px 14px;font-size:.74rem;margin:2px 4px 2px 0}
.woocommerce-account .woocommerce-Addresses .woocommerce-Address{border:2px solid var(--pp-ink);padding:var(--pp-flow-pad);margin-bottom:20px}
.woocommerce-account .woocommerce-Address-title{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.woocommerce-account .woocommerce-Address-title h2{border:0;padding:0;margin:0 0 10px}
.woocommerce-account .woocommerce-Address-title .edit{color:var(--pp-red);font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em}
.woocommerce-account .woocommerce-MyAccount-content mark{background:var(--pp-soft);color:var(--pp-ink);font-weight:700;padding:0 4px}
.woocommerce-account form.woocommerce-form-login,.woocommerce-account form.woocommerce-form-register,.woocommerce-account form.woocommerce-ResetPassword{
  margin:0 0 24px;padding:var(--pp-flow-pad);border:2px solid var(--pp-ink);border-radius:0;background:var(--pp-white)
}
.woocommerce-account fieldset{margin:12px 0;padding:var(--pp-flow-pad);border:2px solid var(--pp-ink)}
.woocommerce-account fieldset legend{padding:0 8px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:.85rem}
.woocommerce form .show-password-input{top:50%;transform:translateY(-50%)}

/* ==========================================================================
   Tabelle responsive (dettaglio ordine, ordini account) su mobile
   ========================================================================== */
@media (max-width:768px){
  .woocommerce-account table.shop_table_responsive tr td{text-align:right!important}
  .woocommerce-account table.shop_table_responsive tr td::before{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--pp-muted)}
}
@media (max-width:480px){
  .woocommerce table.shop_table.order_details th,.woocommerce table.shop_table.order_details td{padding:11px 12px}
  .woocommerce ul.order_details li{padding:12px 14px}
}

/* WhatsApp: in carrello e cassa su mobile solo il tondo, per non coprire campi e pulsanti */
@media (max-width:760px){
  .woocommerce-cart .wws-popup-container .wws-popup__open-btn,
  .woocommerce-checkout .wws-popup-container .wws-popup__open-btn{font-size:0;padding:0;width:52px;height:52px;display:flex;align-items:center;justify-content:center;gap:0}
  .woocommerce-cart .wws-popup-container .wws-popup__open-btn svg,
  .woocommerce-checkout .wws-popup-container .wws-popup__open-btn svg{width:24px;height:24px;margin:0;font-size:1rem}
}
.woocommerce-account form.woocommerce-form-login,.woocommerce-account form.woocommerce-form-register,.woocommerce-account form.woocommerce-ResetPassword{max-width:640px}
