/* BOOMPIXEL STORE UX — Stili WooCommerce di catalogo, carrello, checkout e account.
   Nessuna manipolazione di quantità, prezzi, totale, tasse o ordini. */
:root {--bpxsu-ink:#171b19;--bpxsu-muted:#526057;--bpxsu-border:#dce4d9;--bpxsu-soft:#f6f8f3;--bpxsu-lime:#d9ff4b;--bpxsu-focus:#7654ce}
body:is(.woocommerce-shop,.post-type-archive-product) .woocommerce,body.tax-product_cat .woocommerce,body.tax-product_tag .woocommerce,
body.woocommerce-cart .woocommerce,body.woocommerce-checkout .woocommerce,body.woocommerce-account .woocommerce,
body.woocommerce-cart .wp-block-woocommerce-cart,body.woocommerce-checkout .wp-block-woocommerce-checkout {
  box-sizing:border-box;max-width:1240px;margin-inline:auto;padding:clamp(14px,3vw,30px);color:var(--bpxsu-ink)}
body:is(.woocommerce-shop,.post-type-archive-product) .woocommerce *,body.tax-product_cat .woocommerce *,body.tax-product_tag .woocommerce *,
body.woocommerce-cart .woocommerce *,body.woocommerce-checkout .woocommerce *,body.woocommerce-account .woocommerce * {box-sizing:border-box}
/* ARCHIVIO E CATEGORIE */
body:is(.woocommerce-shop,.post-type-archive-product) .woocommerce-products-header__title,body.tax-product_cat .woocommerce-products-header__title,
body.tax-product_tag .woocommerce-products-header__title {font-size:clamp(27px,4vw,43px);letter-spacing:-.035em;line-height:1.13;margin:0 0 16px}
body:is(.woocommerce-shop,.post-type-archive-product) ul.products,body.tax-product_cat ul.products,body.tax-product_tag ul.products {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:20px 0;padding:0}
body:is(.woocommerce-shop,.post-type-archive-product) ul.products::before,body:is(.woocommerce-shop,.post-type-archive-product) ul.products::after,
body.tax-product_cat ul.products::before,body.tax-product_cat ul.products::after,
body.tax-product_tag ul.products::before,body.tax-product_tag ul.products::after {display:none!important}
body:is(.woocommerce-shop,.post-type-archive-product) ul.products li.product,body.tax-product_cat ul.products li.product,
body.tax-product_tag ul.products li.product {float:none;width:auto;min-width:0;margin:0;padding:13px;background:#fff;border:1px solid var(--bpxsu-border);border-radius:17px;overflow:hidden}
body:is(.woocommerce-shop,.post-type-archive-product) ul.products li.product img,body.tax-product_cat ul.products li.product img,
body.tax-product_tag ul.products li.product img {background:var(--bpxsu-soft);border-radius:11px;display:block;max-width:100%;height:auto}
body:is(.woocommerce-shop,.post-type-archive-product) ul.products li.product .woocommerce-loop-product__title,
body.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
body.tax-product_tag ul.products li.product .woocommerce-loop-product__title {font-size:15px;line-height:1.42;font-weight:780;color:var(--bpxsu-ink);overflow-wrap:anywhere}
body:is(.woocommerce-shop,.post-type-archive-product) ul.products li.product .price,body.tax-product_cat ul.products li.product .price,
body.tax-product_tag ul.products li.product .price {font-size:16px;font-weight:800;color:var(--bpxsu-ink)}
body:is(.woocommerce-shop,.post-type-archive-product) ul.products li.product .button,body.tax-product_cat ul.products li.product .button,
body.tax-product_tag ul.products li.product .button {display:inline-flex;align-items:center;justify-content:center;min-height:43px;margin-top:8px;border-radius:10px;background:var(--bpxsu-soft);color:var(--bpxsu-ink);border:1px solid var(--bpxsu-border);font-size:13px;font-weight:750;text-align:center;white-space:normal}
/* CARRELLO CLASSICO */
body.woocommerce-cart .woocommerce-cart-form,body.woocommerce-cart .cart-collaterals,
body.woocommerce-checkout #customer_details,body.woocommerce-checkout #order_review {min-width:0}
body.woocommerce-cart .shop_table,body.woocommerce-checkout .shop_table {width:100%;border:1px solid var(--bpxsu-border);border-radius:15px;border-collapse:separate;border-spacing:0;overflow:hidden;background:#fff}
body.woocommerce-cart .shop_table th,body.woocommerce-cart .shop_table td,
body.woocommerce-checkout .shop_table th,body.woocommerce-checkout .shop_table td {padding:14px 12px;border-bottom:1px solid #ebefea;vertical-align:middle}
body.woocommerce-cart .shop_table th,body.woocommerce-checkout .shop_table th {color:var(--bpxsu-ink);font-weight:780}
body.woocommerce-cart .cart_totals,body.woocommerce-checkout #order_review {background:var(--bpxsu-soft);padding:18px;border:1px solid var(--bpxsu-border);border-radius:16px}
body.woocommerce-cart .woocommerce-cart-form a,body.woocommerce-checkout .woocommerce a {text-underline-offset:3px}
body.woocommerce-cart .woocommerce .checkout-button,body.woocommerce-checkout .woocommerce #place_order,
body.woocommerce-cart .wc-block-cart__submit-button,body.woocommerce-checkout .wc-block-components-checkout-place-order-button {min-height:51px;background:var(--bpxsu-lime)!important;color:#1c2409!important;border:1px solid #b7df3e!important;border-radius:12px!important;font-weight:850!important;box-shadow:none!important;text-decoration:none!important}
body.woocommerce-cart .woocommerce .checkout-button:hover,body.woocommerce-checkout .woocommerce #place_order:hover {filter:brightness(.97)}
/* CHECKOUT CLASSICO */
body.woocommerce-checkout .woocommerce-checkout h3,body.woocommerce-cart .cart_totals h2 {font-size:21px;font-weight:830;letter-spacing:-.025em}
body.woocommerce-checkout .form-row {margin:0 0 15px}
body.woocommerce-checkout .form-row label,body.woocommerce-account .form-row label {display:block;margin:0 0 6px;font-size:14px;font-weight:700;color:var(--bpxsu-ink)}
body.woocommerce-checkout .input-text,body.woocommerce-checkout select,body.woocommerce-checkout textarea,
body.woocommerce-account input,body.woocommerce-account select,body.woocommerce-account textarea {width:100%;max-width:100%;min-height:46px;border:1px solid #ccd5cb;border-radius:10px;background:#fff;color:var(--bpxsu-ink);font-size:16px;padding:10px 12px}
body.woocommerce-checkout .woocommerce-checkout-payment {border:1px solid var(--bpxsu-border);border-radius:14px;padding:14px;background:#fff!important}
body.woocommerce-cart .woocommerce-error,body.woocommerce-cart .woocommerce-info,body.woocommerce-cart .woocommerce-message,
body.woocommerce-checkout .woocommerce-error,body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .woocommerce-message {border-radius:12px;padding:15px 18px;border:1px solid var(--bpxsu-border);font-size:14px;line-height:1.5}
/* CHECKOUT E CARRELLO A BLOCCHI: solo CSS, senza alterare stato dei componenti */
body.woocommerce-cart .wc-block-components-sidebar,body.woocommerce-checkout .wc-block-components-sidebar {border:1px solid var(--bpxsu-border);border-radius:16px;background:var(--bpxsu-soft);padding:16px}
body.woocommerce-cart .wc-block-components-product-name,body.woocommerce-checkout .wc-block-components-product-name {font-weight:780;color:var(--bpxsu-ink);line-height:1.45}
body.woocommerce-cart .wc-block-components-text-input input,body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-combobox-control input {border-radius:10px!important;min-height:46px}
body.woocommerce-cart .wc-block-components-button:focus-visible,body.woocommerce-checkout .wc-block-components-button:focus-visible,
body.woocommerce-cart a:focus-visible,body.woocommerce-checkout a:focus-visible,
body.woocommerce-checkout input:focus-visible,body.woocommerce-checkout select:focus-visible {outline:3px solid var(--bpxsu-focus)!important;outline-offset:2px!important}
/* RESPONSIVE */
@media(max-width:980px){body:is(.woocommerce-shop,.post-type-archive-product) ul.products,body.tax-product_cat ul.products,body.tax-product_tag ul.products {grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:740px){body:is(.woocommerce-shop,.post-type-archive-product) ul.products,body.tax-product_cat ul.products,body.tax-product_tag ul.products {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}
@media(max-width:370px){body:is(.woocommerce-shop,.post-type-archive-product) ul.products,body.tax-product_cat ul.products,body.tax-product_tag ul.products {grid-template-columns:minmax(0,1fr)}}
@media(max-width:740px){body.woocommerce-cart .shop_table td,body.woocommerce-cart .shop_table th {padding:11px 9px}body.woocommerce-cart .cart_totals,body.woocommerce-checkout #order_review {padding:14px}}
@media(prefers-reduced-motion:reduce){body.woocommerce-cart *,body.woocommerce-checkout *,body:is(.woocommerce-shop,.post-type-archive-product) * {transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* ======================================================================
 BOOMPIXEL STORE UX 0.2.0 — Cart / Checkout / Order receipt
 Scoped to WooCommerce public content. No DOM manipulation and no hiding
 product variants, graphic reference, tax, billing or shipping information.
 ====================================================================== */
:root {
  --bpxsu-white: #fff;
  --bpxsu-body: #141a18;
  --bpxsu-text: #212a25;
  --bpxsu-subtle: #5d685f;
  --bpxsu-line: #dee7dc;
  --bpxsu-panel: #f6f8f3;
  --bpxsu-lime: #d9ff4b;
  --bpxsu-lime-dark: #b5d82d;
  --bpxsu-radius: 16px;
  --bpxsu-font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
}

body.woocommerce-cart .wp-block-woocommerce-cart,
body.woocommerce-checkout .wp-block-woocommerce-checkout,
body.woocommerce-cart .woocommerce,
body.woocommerce-checkout .woocommerce,
body.woocommerce-order-received .woocommerce,
body.woocommerce-order-received .wp-block-woocommerce-order-confirmation {
  max-width: 1200px;
  margin-inline: auto;
  padding: clamp(16px, 2.5vw, 34px);
  box-sizing: border-box;
  font-family: var(--bpxsu-font);
  color: var(--bpxsu-body);
  line-height: 1.5;
  font-size: 15px;
  min-width: 0;
}

body.woocommerce-cart :is(.wp-block-woocommerce-cart,.woocommerce) *,
body.woocommerce-checkout :is(.wp-block-woocommerce-checkout,.woocommerce) *,
body.woocommerce-order-received :is(.woocommerce,.wp-block-woocommerce-order-confirmation) * {
  box-sizing: border-box;
}

body.woocommerce-cart :is(.wp-block-woocommerce-cart,.woocommerce) :is(h1,h2,h3),
body.woocommerce-checkout :is(.wp-block-woocommerce-checkout,.woocommerce) :is(h1,h2,h3),
body.woocommerce-order-received :is(.woocommerce,.wp-block-woocommerce-order-confirmation) :is(h1,h2,h3) {
  color: var(--bpxsu-body);
  font-family: var(--bpxsu-font);
  font-weight: 780;
  letter-spacing: -.025em;
  line-height: 1.25;
}
body.woocommerce-cart :is(.wp-block-woocommerce-cart,.woocommerce) h2,
body.woocommerce-checkout :is(.wp-block-woocommerce-checkout,.woocommerce) h2,
body.woocommerce-order-received :is(.woocommerce,.wp-block-woocommerce-order-confirmation) h2 {
  font-size: clamp(20px, 2.3vw, 27px);
}
body.woocommerce-cart :is(.wp-block-woocommerce-cart,.woocommerce) a,
body.woocommerce-checkout :is(.wp-block-woocommerce-checkout,.woocommerce) a,
body.woocommerce-order-received :is(.woocommerce,.wp-block-woocommerce-order-confirmation) a {
  color: var(--bpxsu-body);
  text-decoration-color: #85938a;
  text-underline-offset: 3px;
  overflow-wrap: anywhere;
}
body.woocommerce-cart :is(.wp-block-woocommerce-cart,.woocommerce) :is(button,a,input,select,textarea):focus-visible,
body.woocommerce-checkout :is(.wp-block-woocommerce-checkout,.woocommerce) :is(button,a,input,select,textarea):focus-visible,
body.woocommerce-order-received :is(.woocommerce,.wp-block-woocommerce-order-confirmation) :is(button,a,input,select,textarea):focus-visible {
  outline: 3px solid #7356d4 !important;
  outline-offset: 3px;
}

/* Cart blocks: keep each independent variation editable and identifiable. */
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items,
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__main,
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__sidebar,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-checkout__main,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-checkout__sidebar { min-width: 0; }
body.woocommerce-cart .wc-block-cart-items {
  border: 1px solid var(--bpxsu-line);
  border-radius: var(--bpxsu-radius);
  background: white;
  overflow: hidden;
  border-collapse: separate;
  border-spacing: 0;
}
body.woocommerce-cart .wc-block-cart-items th,
body.woocommerce-cart .wc-block-cart-items td {
  padding: 17px 14px;
  border-bottom: 1px solid #edf0ea;
  vertical-align: top;
}
body.woocommerce-cart .wc-block-cart-items tr:last-child td { border-bottom: 0; }
body.woocommerce-cart .wc-block-cart-item__image img,
body.woocommerce-cart .wc-block-components-product-image img,
body.woocommerce-checkout .wc-block-components-order-summary-item__image img {
  background: var(--bpxsu-panel);
  border: 1px solid #eef0ea;
  border-radius: 11px;
  height: auto;
  object-fit: contain;
}
body.woocommerce-cart .wc-block-components-product-name,
body.woocommerce-checkout .wc-block-components-product-name,
body.woocommerce-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-name {
  font-size: 15px;
  line-height: 1.4;
  font-weight: 750;
  color: var(--bpxsu-body);
}
body.woocommerce-cart .wc-block-components-product-name a,
body.woocommerce-checkout .wc-block-components-product-name a { text-decoration: none; }
body.woocommerce-cart .wc-block-components-product-name a:hover,
body.woocommerce-checkout .wc-block-components-product-name a:hover { text-decoration: underline; }
body.woocommerce-cart .wc-block-components-product-details,
body.woocommerce-checkout .wc-block-components-product-details,
body.woocommerce-checkout .wc-block-components-order-summary-item__description {
  color: var(--bpxsu-subtle);
  font-size: 13px;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
body.woocommerce-cart .wc-block-components-product-details li,
body.woocommerce-checkout .wc-block-components-product-details li { margin-block: 2px; }
body.woocommerce-cart .wc-block-components-product-details__name,
body.woocommerce-checkout .wc-block-components-product-details__name { font-weight: 690; color: #47564c; }
body.woocommerce-cart .wc-block-components-quantity-selector,
body.woocommerce-cart .quantity { border: 1px solid #d5dfd2; border-radius: 10px; background: #fff; }
body.woocommerce-cart .wc-block-components-quantity-selector :is(button,input),
body.woocommerce-cart .quantity :is(button,input) { min-height: 40px; font-size: 15px; }
body.woocommerce-cart .wc-block-cart-item__remove-link {
  color: #6a332f;
  text-decoration: underline;
  font-size: 13px;
  text-underline-offset: 3px;
}

/* Cart side panel and checkout order summary: the same visual system. */
body.woocommerce-cart .wc-block-components-sidebar,
body.woocommerce-checkout .wc-block-components-sidebar,
body.woocommerce-cart .cart-collaterals .cart_totals,
body.woocommerce-checkout #order_review {
  border: 1px solid var(--bpxsu-line);
  border-radius: var(--bpxsu-radius);
  background: var(--bpxsu-panel);
  padding: clamp(14px, 2vw, 22px);
  box-shadow: 0 8px 22px rgba(20, 26, 24, .035);
}
body.woocommerce-cart .wc-block-components-totals-wrapper,
body.woocommerce-checkout .wc-block-components-totals-wrapper { border-color: var(--bpxsu-line); }
body.woocommerce-cart .wc-block-components-totals-footer-item,
body.woocommerce-checkout .wc-block-components-totals-footer-item { font-size: 20px; font-weight: 780; }
body.woocommerce-cart :is(.wc-block-cart__submit-button,.checkout-button),
body.woocommerce-checkout :is(.wc-block-components-checkout-place-order-button,#place_order) {
  width: 100%;
  min-height: 52px;
  border: 1px solid var(--bpxsu-lime-dark) !important;
  background: var(--bpxsu-lime) !important;
  color: #182008 !important;
  font-family: var(--bpxsu-font);
  font-size: 15px;
  font-weight: 790;
  border-radius: 12px !important;
  text-decoration: none;
  box-shadow: none;
}
body.woocommerce-cart :is(.wc-block-cart__submit-button,.checkout-button):hover,
body.woocommerce-checkout :is(.wc-block-components-checkout-place-order-button,#place_order):hover {
  background: #c9f340 !important;
  border-color: #abc82d !important;
}
body.woocommerce-cart :is(.wc-block-cart__submit-button,.checkout-button):disabled,
body.woocommerce-checkout :is(.wc-block-components-checkout-place-order-button,#place_order):disabled {
  opacity: .55;
  cursor: not-allowed;
}

/* Checkout blocks: prioritize readable fields and payment choice. */
body.woocommerce-checkout .wc-block-components-title,
body.woocommerce-checkout .wp-block-woocommerce-checkout h2 { margin: 0 0 15px; }
body.woocommerce-checkout .wc-block-components-text-input,
body.woocommerce-checkout .wc-block-components-combobox,
body.woocommerce-checkout .wc-block-components-select { margin-bottom: 14px; }
body.woocommerce-checkout :is(.wc-block-components-text-input input,.wc-block-components-combobox-control input,.wc-block-components-select select,.input-text) {
  width: 100%; max-width: 100%; min-height: 48px;
  padding-inline: 12px;
  border: 1px solid #cbd7c9;
  border-radius: 10px;
  color: var(--bpxsu-body);
  background: white;
  font-size: 16px;
  font-family: var(--bpxsu-font);
}
body.woocommerce-checkout .wc-block-components-radio-control__option,
body.woocommerce-checkout #payment li.wc_payment_method {
  border: 1px solid #dbe5d8;
  border-radius: 12px;
  background: white;
  padding: 13px 14px;
  margin-bottom: 10px;
}
body.woocommerce-checkout .wc-block-components-radio-control__option:has(input:checked),
body.woocommerce-checkout #payment li.wc_payment_method:has(input:checked) {
  background: #f7fbe7;
  border-color: #acd739;
}
body.woocommerce-checkout .wc-block-components-checkbox__label,
body.woocommerce-checkout .woocommerce-terms-and-conditions-checkbox-text { font-size: 13px; line-height: 1.5; }
body.woocommerce-checkout .wc-block-components-order-summary {
  border: 1px solid #e0e8dc;
  background: white;
  border-radius: 12px;
  padding: clamp(10px, 1.2vw, 16px);
}
body.woocommerce-checkout .wc-block-components-order-summary-item {
  padding-block: 12px;
  border-bottom: 1px solid #edf1e9;
  min-width: 0;
}
body.woocommerce-checkout .wc-block-components-order-summary-item:last-child { border-bottom: 0; }
body.woocommerce-checkout .wc-block-components-order-summary-item__quantity {
  background: #252c20;
  border-color: white;
  color: #fff;
}

/* Classic WooCommerce order success / billing (also when order page is checkout endpoint). */
body.woocommerce-order-received .woocommerce-order,
body.woocommerce-order-received .woocommerce-customer-details,
body.woocommerce-order-received .woocommerce-order-details {
  font-family: var(--bpxsu-font);
  color: var(--bpxsu-body);
  overflow-wrap: anywhere;
}
body.woocommerce-order-received .woocommerce-notice--success,
body.woocommerce-order-received .woocommerce-thankyou-order-received,
body.woocommerce-order-received .wc-block-order-confirmation-status {
  margin: 0 0 18px;
  padding: 19px 20px;
  border-radius: 14px;
  border: 1px solid #cfe7b8;
  background: #f3fbe9;
  color: #225a38;
  font-size: 17px;
  line-height: 1.4;
  font-weight: 720;
}
body.woocommerce-order-received .woocommerce-order-overview {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  padding: 0;
  margin: 0 0 20px;
  list-style: none;
}
body.woocommerce-order-received .woocommerce-order-overview li {
  float: none;
  display: block;
  padding: 12px;
  margin: 0;
  border: 1px solid var(--bpxsu-line);
  border-radius: 11px;
  background: var(--bpxsu-panel);
  font-size: 12px;
  text-transform: none;
  overflow-wrap: anywhere;
  min-width: 0;
}
body.woocommerce-order-received .woocommerce-order-overview li strong {
  display: block;
  margin-top: 5px;
  color: var(--bpxsu-body);
  font-size: 15px;
  font-weight: 770;
}
body.woocommerce-order-received :is(.woocommerce-order-details,.woocommerce-customer-details,
    .wp-block-woocommerce-order-confirmation) { margin-block: 23px; }
body.woocommerce-order-received :is(.woocommerce-table--order-details,.shop_table.order_details) {
  width: 100%;
  max-width: 100%;
  table-layout: fixed;
  border: 1px solid var(--bpxsu-line);
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 12px;
  background: white;
  overflow: hidden;
}
body.woocommerce-order-received :is(.woocommerce-table--order-details,.shop_table.order_details) :is(th,td) {
  padding: 13px 12px;
  font-family: var(--bpxsu-font);
  font-size: 14px;
  line-height: 1.55;
  vertical-align: top;
  border-bottom: 1px solid #e7ece5;
  overflow-wrap: anywhere;
}
body.woocommerce-order-received :is(.woocommerce-table--order-details,.shop_table.order_details) th {
  background: var(--bpxsu-panel);
  color: var(--bpxsu-body);
  font-weight: 760;
}
body.woocommerce-order-received .woocommerce-table--order-details .woocommerce-table__product-name,
body.woocommerce-order-received .woocommerce-table--order-details .product-name {
  width: 69%;
  font-weight: 700;
}
body.woocommerce-order-received .woocommerce-table--order-details .woocommerce-table__product-total,
body.woocommerce-order-received .woocommerce-table--order-details .product-total {
  width: 31%;
  text-align: right;
  font-variant-numeric: tabular-nums;
}
body.woocommerce-order-received .woocommerce-table--order-details :is(.wc-item-meta,dl.variation),
body.woocommerce-order-received .shop_table.order_details :is(.wc-item-meta,dl.variation) {
  margin: 7px 0 0;
  padding: 0;
  font-size: 12px;
  color: var(--bpxsu-subtle);
  font-weight: 400;
  overflow-wrap: anywhere;
}
body.woocommerce-order-received .wc-item-meta li {
  margin: 3px 0 0;
  list-style: none;
  padding: 0;
}
body.woocommerce-order-received .woocommerce-customer-details address {
  font-family: var(--bpxsu-font);
  font-size: 14px;
  line-height: 1.65;
  border: 1px solid var(--bpxsu-line);
  background: var(--bpxsu-panel);
  border-radius: 12px;
  padding: 17px;
  color: var(--bpxsu-text);
  overflow-wrap: anywhere;
}
body.woocommerce-order-received .woocommerce-order-details .woocommerce-table tfoot tr:last-child th,
body.woocommerce-order-received .woocommerce-order-details .woocommerce-table tfoot tr:last-child td {
  color: var(--bpxsu-body);
  font-size: 18px;
  font-weight: 830;
}

/* Order confirmation using WooCommerce blocks (reuses official block wrappers). */
body.woocommerce-order-received .wp-block-woocommerce-order-confirmation,
body.woocommerce-order-received [class*="wp-block-woocommerce-order-confirmation-"] {
  max-width: 100%;
  min-width: 0;
  overflow-wrap: anywhere;
  font-family: var(--bpxsu-font);
  color: var(--bpxsu-body);
}
body.woocommerce-order-received :is(.wc-block-order-confirmation-summary,
  .wc-block-order-confirmation-totals,.wc-block-order-confirmation-billing-address) {
  border: 1px solid var(--bpxsu-line);
  border-radius: 14px;
  background: white;
  padding: clamp(14px, 2.5vw, 22px);
  margin-bottom: 16px;
}
body.woocommerce-order-received .wc-block-order-confirmation-totals table {
  max-width: 100%;
  width: 100%;
  table-layout: fixed;
}
body.woocommerce-order-received .wc-block-order-confirmation-totals :is(td,th) {
  font-size: 14px;
  line-height: 1.5;
  padding: 12px 9px;
  overflow-wrap: anywhere;
}

/* Standard classic cart: improve cart line on mobile without altering forms. */
body.woocommerce-cart .woocommerce-cart-form .product-name,
body.woocommerce-cart .woocommerce-cart-form .product-price,
body.woocommerce-cart .woocommerce-cart-form .product-subtotal { font-size: 14px; line-height: 1.4; overflow-wrap: anywhere; }
body.woocommerce-cart .woocommerce-cart-form .variation,
body.woocommerce-cart .woocommerce-cart-form .wc-item-meta { font-size: 13px; line-height: 1.5; color: var(--bpxsu-subtle); }

@media (max-width: 767px) {
  body.woocommerce-cart .wp-block-woocommerce-cart,
  body.woocommerce-checkout .wp-block-woocommerce-checkout,
  body.woocommerce-cart .woocommerce,
  body.woocommerce-checkout .woocommerce,
  body.woocommerce-order-received .woocommerce,
  body.woocommerce-order-received .wp-block-woocommerce-order-confirmation {
    padding: 16px 11px 24px;
    max-width: 100%;
  }
  body.woocommerce-cart .wc-block-cart-items :is(th,td) { padding: 14px 9px; }
  body.woocommerce-cart .wc-block-components-product-name,
  body.woocommerce-checkout .wc-block-components-product-name { font-size: 14px; }
  body.woocommerce-cart .wc-block-components-product-details,
  body.woocommerce-checkout .wc-block-components-product-details { font-size: 12px; }
  body.woocommerce-cart .wc-block-components-sidebar,
  body.woocommerce-checkout .wc-block-components-sidebar { padding: 14px; }
  body.woocommerce-checkout .wc-block-components-order-summary-item { padding-block: 12px; }
  body.woocommerce-order-received .woocommerce-order-overview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.woocommerce-order-received .woocommerce-order-overview li { padding: 11px; }
  body.woocommerce-order-received .woocommerce-table--order-details :is(th,td),
  body.woocommerce-order-received .shop_table.order_details :is(th,td),
  body.woocommerce-order-received .wc-block-order-confirmation-totals :is(th,td) {
    padding: 12px 8px;
    font-size: 13px;
  }
  body.woocommerce-order-received .woocommerce-order-details .woocommerce-table .product-name { width: 66%; }
  body.woocommerce-order-received .woocommerce-order-details .woocommerce-table .product-total { width: 34%; }
}

@media (max-width: 370px) {
  body.woocommerce-order-received .woocommerce-order-overview { grid-template-columns: 1fr; }
  body.woocommerce-order-received .woocommerce-table--order-details :is(th,td),
  body.woocommerce-order-received .shop_table.order_details :is(th,td) { font-size: 12px; padding-inline: 7px; }
}

@media (prefers-reduced-motion: reduce) {
  body.woocommerce-cart :is(.wp-block-woocommerce-cart,.woocommerce) *,
  body.woocommerce-checkout :is(.wp-block-woocommerce-checkout,.woocommerce) *,
  body.woocommerce-order-received :is(.woocommerce,.wp-block-woocommerce-order-confirmation) * {
    transition: none !important;
    animation: none !important;
  }
}

/* Fallback for a block-based order confirmation template that does not
   expose the body class used by the classic checkout endpoint. */
.wp-block-woocommerce-order-confirmation {
  width: 100%;
  max-width: 1200px;
  margin-inline: auto;
  padding: clamp(16px, 2.5vw, 34px);
  box-sizing: border-box;
  font-family: var(--bpxsu-font);
  color: var(--bpxsu-body);
  overflow-wrap: anywhere;
}
.wp-block-woocommerce-order-confirmation :is(h1,h2,h3) {
  font-family: var(--bpxsu-font);
  letter-spacing: -.025em;
  line-height: 1.25;
}
@media (max-width: 767px) {
  .wp-block-woocommerce-order-confirmation { padding: 16px 11px 24px; }
}

/* =====================================================================
   BOOMPIXEL STORE UX 0.3.0 — Full purchase journey
   Server-authoritative grouped read-only overview. WooCommerce retains all
   editable cart rows, checkout totals, taxes, and original order details.
   ===================================================================== */
:root {
  --bpx3-ink:#131a17;--bpx3-copy:#405048;--bpx3-muted:#66746a;
  --bpx3-soft:#f5f7f3;--bpx3-surface:#ffffff;
  --bpx3-line:#dbe4d8;--bpx3-lime:#d9ff4b;--bpx3-radius:18px;
  --bpx3-shadow:0 12px 34px rgba(15,27,18,.045);
}
body.woocommerce-cart .entry-content,body.woocommerce-checkout .entry-content {min-width:0}
body.woocommerce-cart :is(.wp-block-woocommerce-cart,.woocommerce),
body.woocommerce-checkout :is(.wp-block-woocommerce-checkout,.woocommerce) {width:100%;max-width:1280px;margin-inline:auto;min-width:0}
/* The group overview is shared by cart, checkout and order confirmation. */
body .bpxsu-groups {max-width:1280px;margin:10px auto 24px;padding:clamp(16px,2.5vw,28px);background:#fff;border:1px solid var(--bpx3-line);border-radius:22px;box-shadow:var(--bpx3-shadow);font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:var(--bpx3-ink);box-sizing:border-box}
body .bpxsu-groups *,body .bpxsu-groups *:before,body .bpxsu-groups *:after {box-sizing:border-box}
body .bpxsu-groups__heading {display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}
body .bpxsu-eyebrow {display:block;margin:0 0 6px;color:#5b681d;font-size:10px;letter-spacing:.12em;font-weight:850}
body .bpxsu-groups__heading h2 {font-size:clamp(22px,2.5vw,30px)!important;line-height:1.14;letter-spacing:-.035em;color:var(--bpx3-ink);margin:0 0 7px!important;font-weight:820}
body .bpxsu-groups__heading p {margin:0;color:var(--bpx3-copy);font-size:13px;line-height:1.55}
body .bpxsu-groups__count {white-space:nowrap;font-weight:750;font-size:12px;background:#eff2ec;color:#3b453d;padding:8px 10px;border-radius:100px}
body .bpxsu-group {padding:16px;border:1px solid #e0e7dc;background:var(--bpx3-soft);border-radius:15px;margin:0 0 10px}
body .bpxsu-group__intro {display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:start;gap:12px}
body .bpxsu-group__symbol {width:46px;height:46px;display:grid;place-items:center;border-radius:12px;background:var(--bpx3-lime);font-size:27px;font-weight:900;color:#172000}
body .bpxsu-group h3 {font-size:clamp(15px,1.7vw,18px)!important;line-height:1.32;font-weight:790;letter-spacing:-.02em;margin:0 0 7px!important;max-width:670px;overflow-wrap:anywhere;color:var(--bpx3-ink)}
body .bpxsu-group__meta {display:flex;gap:7px;flex-wrap:wrap;font-size:11px;color:#48584f}
body .bpxsu-group__meta span {border:1px solid #d9e1d5;background:#fff;padding:5px 8px;border-radius:100px;overflow-wrap:anywhere}
body .bpxsu-group__qty {font-size:13px;background:#fff;white-space:nowrap;border-radius:9px;border:1px solid var(--bpx3-line);padding:7px 10px}
body .bpxsu-group__sizes {margin:15px 0 0 58px;display:grid;grid-template-columns:repeat(auto-fit,minmax(94px,1fr));gap:8px}
body .bpxsu-size {display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;border:1px solid #dce4d7;border-radius:9px;background:#fff;min-width:0;font-size:12px}
body .bpxsu-size__name {overflow-wrap:anywhere;font-weight:750}
body .bpxsu-size strong {white-space:nowrap;color:#3b4b2a;font-variant-numeric:tabular-nums;font-size:12px}
body .bpxsu-groups__foot {display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding-top:10px;font-size:12px;color:var(--bpx3-copy);line-height:1.5}
body .bpxsu-groups__foot>span {flex:1 1 200px}
body .bpxsu-detail-toggle,body .bpxsu-checkout-toggle,body .bpxsu-order-toggle,body .bpxsu-edit-link {display:inline-flex;min-height:42px;align-items:center;justify-content:center;text-align:center;border:1px solid #c9d7c4;background:#fff;padding:10px 13px;border-radius:10px;color:var(--bpx3-ink);font-weight:780;font-size:12px;text-decoration:none;cursor:pointer;line-height:1.4}
body .bpxsu-detail-toggle:hover,body .bpxsu-checkout-toggle:hover,body .bpxsu-order-toggle:hover,body .bpxsu-edit-link:hover {background:#eff4e5;color:var(--bpx3-ink)}
body .bpxsu-detail-toggle:focus-visible,body .bpxsu-checkout-toggle:focus-visible,body .bpxsu-order-toggle:focus-visible {outline:3px solid #7356d4;outline-offset:2px}
/* The compact mode is applied ONLY after JS finds the native editable Woo UI.
   Without JS, original rows are shown normally. */
body.woocommerce-cart.bpxsu-cart-compact .wc-block-cart-items,
body.woocommerce-cart.bpxsu-cart-compact .woocommerce-cart-form {display:none!important}
body.woocommerce-checkout.bpxsu-checkout-compact .wc-block-components-order-summary-item,
body.woocommerce-checkout.bpxsu-checkout-compact .woocommerce-checkout-review-order-table tr.cart_item {display:none!important}
body.woocommerce-order-received.bpxsu-order-compact .woocommerce-table__line-item.order_item {display:none!important}
/* Reinforce the two-column native cart/checkout layout, without visually pulling
   the order rows into a narrow sidebar. A cart notice should never grow to 800px tall. */
@media(min-width:980px) {
  body.woocommerce-cart .wc-block-components-sidebar-layout,
  body.woocommerce-checkout .wc-block-components-sidebar-layout {
    display:grid!important;grid-template-columns:minmax(0,1fr) minmax(305px,350px)!important;
    align-items:start;gap:clamp(18px,2.7vw,34px)!important;
  }
  body.woocommerce-cart :is(.wc-block-components-main,.wc-block-cart__main),
  body.woocommerce-checkout :is(.wc-block-components-main,.wc-block-checkout__main) {
    width:100%!important;max-width:none!important;min-width:0!important;float:none!important;margin:0!important;
  }
  body.woocommerce-cart :is(.wc-block-components-sidebar,.wc-block-cart__sidebar),
  body.woocommerce-checkout :is(.wc-block-components-sidebar,.wc-block-checkout__sidebar) {
    width:100%!important;max-width:none!important;min-width:0!important;float:none!important;margin:0!important;
    position:sticky;top:24px;align-self:start;
  }
  body.woocommerce-cart .cart-collaterals {max-width:420px;margin-left:auto}
  body.woocommerce-checkout #customer_details {width:calc(100% - 410px);max-width:none}
  body.woocommerce-checkout #order_review {width:380px;max-width:100%;margin-left:auto}
}
/* KLV minimum message lives ABOVE grouped cart; never use it as the grid's
   left column, which previously created a very large empty white box. */
body.woocommerce-cart .klvb-cart-progress,
body.woocommerce-checkout .klvb-cart-progress {
  display:flex;align-items:center;gap:10px 18px;flex-wrap:wrap;
  width:100%!important;max-width:1280px;min-height:0!important;height:auto!important;
  margin:0 auto 14px!important;padding:13px 16px!important;
  border:1px solid #cfdcc9;border-radius:12px;background:#f6f9f3;
  grid-column:1/-1;grid-row:auto;float:none;
}
body .klvb-cart-progress :is(strong,p) {margin:0!important;font-size:13px;line-height:1.45}
body .klvb-cart-progress progress {flex:1 1 120px;max-width:220px;height:8px}
body .klvb-cart-progress a {font-size:12px;font-weight:700;text-decoration:underline}
/* Original editable rows, when expanded. */
body.woocommerce-cart :is(.wc-block-cart-items,.woocommerce-cart-form .shop_table) {table-layout:auto;max-width:100%}
body.woocommerce-cart .wc-block-cart-items :is(th,td) {word-break:normal;overflow-wrap:anywhere}
body.woocommerce-cart .wc-block-components-quantity-selector button {min-width:32px;touch-action:manipulation}
body.woocommerce-cart .wc-block-components-sidebar,
body.woocommerce-checkout .wc-block-components-sidebar {background:#f6f8f3;border:1px solid #dae4d8;box-shadow:var(--bpx3-shadow)}
/* Checkout focuses customer information and payment. Its official sidebar keeps totals,
   tax and the place-order button; grouped overview remains a distinct visual panel. */
body.woocommerce-checkout .wc-block-components-checkout-step {margin-bottom:22px!important}
body.woocommerce-checkout .wc-block-components-checkout-step__heading {margin-bottom:13px!important}
body.woocommerce-checkout .wc-block-components-checkout-step__title {font-size:clamp(18px,2.1vw,24px)!important;font-weight:790}
body.woocommerce-checkout .wc-block-components-checkout-step__content {min-width:0}
body.woocommerce-checkout .wc-block-components-radio-control__option {border-radius:12px!important}
body.woocommerce-checkout :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea) {font-size:16px}
body.woocommerce-checkout .wc-block-components-checkout-place-order-button {border-radius:12px!important}
/* Order confirmation: readable hierarchy without concealing totals, VAT or billing details. */
body.woocommerce-order-received .woocommerce-order-overview {margin-bottom:24px!important}
body.woocommerce-order-received :is(.woocommerce-order-details,.woocommerce-customer-details) {max-width:100%;min-width:0}
body.woocommerce-order-received .woocommerce-table--order-details {table-layout:auto!important}
body.woocommerce-order-received :is(.woocommerce-table--order-details th,.woocommerce-table--order-details td) {overflow-wrap:anywhere;vertical-align:top}
body.woocommerce-order-received .woocommerce-order-details:before {content:"Dettaglio contabile e produttivo";display:block;font-weight:800;margin:0 0 14px;font-size:14px;color:var(--bpx3-ink)}
@media(max-width:979px) {
  body.woocommerce-cart .wc-block-components-sidebar-layout,
  body.woocommerce-checkout .wc-block-components-sidebar-layout {display:block!important}
  body.woocommerce-cart :is(.wc-block-components-main,.wc-block-components-sidebar),
  body.woocommerce-checkout :is(.wc-block-components-main,.wc-block-components-sidebar) {width:100%!important;max-width:100%!important;float:none!important;position:static!important}
  body.woocommerce-checkout #customer_details,body.woocommerce-checkout #order_review {width:100%!important;max-width:none!important;margin:0 0 24px!important}
}
@media(max-width:640px) {
  body .bpxsu-groups {padding:15px 12px;margin:8px 10px 20px;border-radius:15px}
  body .bpxsu-groups__heading {gap:8px;flex-direction:column}
  body .bpxsu-groups__heading p {font-size:12px}
  body .bpxsu-groups__count {display:none}
  body .bpxsu-group {padding:13px 10px}
  body .bpxsu-group__intro {grid-template-columns:34px minmax(0,1fr) auto;gap:8px}
  body .bpxsu-group__symbol {width:34px;height:34px;border-radius:9px;font-size:22px}
  body .bpxsu-group h3 {font-size:14px!important;line-height:1.35}
  body .bpxsu-group__qty {font-size:11px;padding:5px 6px}
  body .bpxsu-group__sizes {margin:12px 0 0;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  body .bpxsu-size {padding:10px 9px}
  body .bpxsu-groups__foot {align-items:stretch}
  body .bpxsu-detail-toggle,body .bpxsu-checkout-toggle,body .bpxsu-order-toggle,body .bpxsu-edit-link {width:100%}
  body.woocommerce-cart .wc-block-cart-items :is(th,td) {padding:10px 6px}
  body .klvb-cart-progress {padding:11px 12px!important}
}
@media(max-width:350px) {body .bpxsu-group__sizes {grid-template-columns:1fr}}
/* In the condensed cart state the grouped card IS the product summary.
   Native WooCommerce totals should not be stranded in a huge empty two-column panel. */
@media(min-width:980px) {
 body.woocommerce-cart.bpxsu-cart-compact .wc-block-components-sidebar-layout {display:block!important;}
 body.woocommerce-cart.bpxsu-cart-compact :is(.wc-block-components-sidebar,.wc-block-cart__sidebar) {
   margin-left:auto!important;width:min(100%,420px)!important;max-width:420px!important;position:static!important;
 }
 body.woocommerce-cart.bpxsu-cart-compact :is(.wc-block-components-main,.wc-block-cart__main) {width:100%!important;max-width:none!important;min-height:0!important;}
}
