/* =========================================================================
   Restyling WooCommerce — solo grafica.
   Agganciato alle classi standard di WooCommerce (loop prodotti, scheda,
   carrello, checkout con shortcode classici): sul sito reale si carica dopo
   gli stili di Astra/WooCommerce, senza toccare prodotti, prezzi, URL o flusso.
   Richiede le variabili di site.css.
   ========================================================================= */

.wc-page { padding-block: clamp(2rem, 4vw, 3.5rem) var(--section); }
.woocommerce-breadcrumb { font-size: var(--fs-sm); color: var(--testo-2); margin-bottom: clamp(1.5rem, 4vw, 3rem); }
.woocommerce-breadcrumb a { color: var(--notte); }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ---------- pulsanti WooCommerce ---------- */
.woocommerce .button, .woocommerce button.button, .woocommerce a.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce a.button.alt, .woocommerce button.button.alt {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  min-height: 3rem; padding: .75rem 1.6rem; border-radius: 999px; border: 1.5px solid var(--albicocca);
  background: var(--albicocca); color: var(--notte); font: 600 .9375rem/1.2 var(--sans); letter-spacing: .01em;
  text-decoration: none; cursor: pointer; transition: background-color .25s var(--ease), border-color .25s, color .25s;
}
.woocommerce .button:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover { background: var(--albicocca-600); border-color: var(--albicocca-600); color: var(--notte); }
.woocommerce .button.is-secondary, .woocommerce button[name="update_cart"], .woocommerce button[name="apply_coupon"], .woocommerce button[name="calc_shipping"] {
  background: transparent; border-color: var(--notte); color: var(--notte);
}
.woocommerce .button.is-secondary:hover, .woocommerce button[name="update_cart"]:hover, .woocommerce button[name="apply_coupon"]:hover, .woocommerce button[name="calc_shipping"]:hover { background: var(--notte); color: var(--crema); }
.woocommerce .button:disabled, .woocommerce .button[disabled] { opacity: .5; cursor: not-allowed; }

/* ---------- loop prodotti (pagina Libri, correlati, video corsi) ---------- */
.woocommerce ul.products { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(2rem, 4vw, 3.5rem) var(--gap); list-style: none; margin: 0; padding: 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
@media (min-width: 760px) { .woocommerce ul.products.columns-4 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .woocommerce ul.products.columns-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.woocommerce ul.products li.product { display: flex; flex-direction: column; width: auto; margin: 0; padding: 0; float: none; text-align: left; }
.woocommerce ul.products li.product a.woocommerce-loop-product__link { display: flex; flex-direction: column; flex: 1; color: inherit; text-decoration: none; }
.product-cover { display: flex; align-items: flex-end; justify-content: flex-start; aspect-ratio: 2 / 3; margin-bottom: 1.25rem; }
.woocommerce ul.products li.product img { width: 100%; height: auto; max-height: 100%; object-fit: contain; object-position: left bottom; margin: 0; box-shadow: 0 26px 40px -26px rgba(20, 47, 67, .75), 0 1px 3px rgba(20, 47, 67, .15); transition: transform .5s var(--ease); }
.woocommerce ul.products li.product:hover img { transform: translateY(-6px); }
.product-cover--video { align-items: stretch; aspect-ratio: 4 / 3; border-radius: 6px; background: var(--notte); padding: 1.25rem; }
.product-cover__label { align-self: flex-end; font: 400 1.6rem/1.1 var(--serif); font-style: italic; color: var(--crema); border-bottom: 3px solid var(--albicocca); padding-bottom: .4rem; }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  padding: 0; margin: 0 0 .5rem; font: 400 clamp(1.05rem, .95rem + .4vw, 1.3rem)/1.2 var(--serif); letter-spacing: .01em; color: var(--notte);
}
.woocommerce ul.products li.product .price { display: block; margin: 0 0 1rem; font: 600 1rem/1.2 var(--sans); color: var(--notte); }
.woocommerce ul.products li.product .button { align-self: flex-start; margin-top: auto; min-height: 2.6rem; padding: .5rem 1.25rem; font-size: .875rem; }
.woocommerce ul.products li.product .onsale, .woocommerce span.onsale { min-height: 0; min-width: 0; padding: .3rem .7rem; border-radius: 999px; background: var(--albicocca); color: var(--notte); font: 700 .6875rem/1.2 var(--sans); letter-spacing: .12em; text-transform: uppercase; }

/* ---------- scheda prodotto ---------- */
.woocommerce div.product { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(2rem, 5vw, 5rem) var(--gap); }
@media (min-width: 900px) {
  .woocommerce div.product { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); align-items: start; }
  .woocommerce div.product .woocommerce-tabs, .woocommerce div.product .related { grid-column: 1 / -1; }
  .woocommerce div.product .summary { padding-top: clamp(0rem, 3vw, 3rem); }
}
.woocommerce div.product div.images, .woocommerce div.product .woocommerce-product-gallery { width: auto; float: none; margin: 0; }
.woocommerce-product-gallery__wrapper { margin: 0; padding: clamp(1.5rem, 5vw, 4.5rem); border-radius: 8px; background: var(--bianco); display: grid; place-items: center; }
.woocommerce-product-gallery__image img { width: min(100%, 26rem); box-shadow: 0 40px 60px -36px rgba(20, 47, 67, .8), 0 2px 6px rgba(20, 47, 67, .15); }
.woocommerce div.product div.summary { width: auto; float: none; margin: 0; }
.woocommerce div.product .product_title { font: 400 clamp(2.1rem, 1.4rem + 2.6vw, 3.8rem)/1.04 var(--serif); letter-spacing: -.01em; color: var(--notte); margin: 0 0 .5rem; }
.product-authors { font-weight: 600; color: var(--notte); font-size: var(--fs-sm); margin-bottom: 1.25rem; }
.woocommerce-product-details__short-description { font: italic 400 var(--fs-lead)/1.5 var(--serif); color: var(--testo); max-width: 34rem; }
.woocommerce div.product p.price, .woocommerce div.product span.price { margin: 1.5rem 0; font: 600 1.75rem/1 var(--sans); color: var(--notte); }
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; gap: .75rem; align-items: stretch; margin: 0 0 1.75rem; padding: 1.5rem 0; border-block: 1px solid var(--linea); }
.woocommerce div.product form.cart::before, .woocommerce div.product form.cart::after { display: none; }
.woocommerce .quantity .qty, .woocommerce-cart-form .quantity .qty {
  width: 5.25rem; min-height: 3rem; padding: .5rem; border: 1px solid var(--linea-forte); border-radius: 999px;
  background: var(--bianco); color: var(--notte); font: 600 1rem/1 var(--sans); text-align: center;
}
.woocommerce .quantity .qty:focus { outline: none; border-color: var(--notte); box-shadow: 0 0 0 3px rgba(29, 64, 90, .18); }
.woocommerce div.product form.cart .button { flex: 1 1 14rem; min-height: 3.1rem; }
.woocommerce div.product .product_meta { font-size: var(--fs-sm); color: var(--testo-2); }
.product-pay { display: flex; gap: .6rem; align-items: center; margin-top: 1rem; font-size: var(--fs-sm); color: var(--testo-2); }
.product-pay svg { width: 1.2rem; height: 1.2rem; color: var(--notte); flex: none; }

.woocommerce div.product .woocommerce-tabs { padding-top: clamp(2rem, 5vw, 4rem); border-top: 1px solid var(--linea-forte); }
.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; gap: 2rem; list-style: none; margin: 0 0 2rem; padding: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { margin: 0; padding: 0; border: 0; background: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { display: block; padding: 0 0 .6rem; border-bottom: 2px solid var(--albicocca); font: 600 .8125rem/1.2 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--notte); text-decoration: none; }
.woocommerce-Tabs-panel { max-width: 46rem; }
.woocommerce-Tabs-panel--description > h2:first-child { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.woocommerce-Tabs-panel h2, .woocommerce-Tabs-panel h3 { font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2.2rem); margin-top: 1.5em; }
.woocommerce-Tabs-panel h4 { font: italic 400 1.35rem/1.3 var(--serif); color: var(--notte); }
.woocommerce-Tabs-panel ul { padding-left: 1.25rem; margin-bottom: 1em; }
.woocommerce-Tabs-panel .embed { margin: 0 0 1.5rem; max-width: 46rem; }
.woocommerce div.product .related { padding-top: clamp(2rem, 5vw, 4rem); border-top: 1px solid var(--linea-forte); }
.woocommerce div.product .related > h2 { font-size: var(--fs-h3); margin-bottom: 2rem; }

/* ---------- avvisi ---------- */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notices-wrapper > div {
  display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; align-items: center; justify-content: space-between;
  margin: 0 0 2rem; padding: 1.1rem 1.5rem; border: 0; border-left: 3px solid var(--albicocca); border-radius: 0 6px 6px 0;
  background: var(--bianco); color: var(--testo); list-style: none; font-size: .95rem;
}
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { display: none; }
.woocommerce-error { border-left-color: #A3392B; }
.woocommerce-info a.showcoupon { font-weight: 600; color: var(--notte); }

/* ---------- tabelle (carrello, riepilogo ordine) ---------- */
.woocommerce table.shop_table { width: 100%; border: 0; border-collapse: collapse; border-radius: 0; margin: 0 0 2rem; background: transparent; font-size: .95rem; }
.woocommerce table.shop_table th { padding: .9rem .75rem; border: 0; border-bottom: 1px solid var(--linea-forte); font: 600 .75rem/1.2 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--notte); text-align: left; }
.woocommerce table.shop_table td { padding: 1.25rem .75rem; border: 0; border-bottom: 1px solid var(--linea); vertical-align: middle; }
.woocommerce table.shop_table td.product-thumbnail, .woocommerce table.shop_table th.product-thumbnail { width: 6rem; }
.woocommerce table.shop_table td.product-remove, .woocommerce table.shop_table th.product-remove { width: 3rem; }
.woocommerce table.shop_table .product-thumbnail img { width: 4.5rem; max-width: none; height: auto; box-shadow: 0 12px 20px -12px rgba(20, 47, 67, .7); }
.woocommerce table.shop_table .product-name a { font: 400 1.15rem/1.25 var(--serif); color: var(--notte); text-decoration: none; }
.woocommerce table.shop_table .product-price, .woocommerce table.shop_table .product-subtotal { font-weight: 600; color: var(--notte); white-space: nowrap; }
.woocommerce a.remove { display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; color: var(--notte) !important; font-size: 1.35rem; line-height: 1; text-decoration: none; border: 1px solid var(--linea-forte); }
.woocommerce a.remove:hover { background: var(--notte); color: var(--crema) !important; }
.woocommerce table.shop_table td.actions { padding-top: 1.5rem; border-bottom: 0; }
.woocommerce .coupon { display: inline-flex; flex-wrap: wrap; gap: .6rem; align-items: center; }
.woocommerce .coupon .input-text, .woocommerce .checkout_coupon .input-text { min-height: 3rem; width: 14rem; padding: .6rem 1rem; border: 1px solid var(--linea-forte); border-radius: 999px; background: var(--bianco); }
.woocommerce td.actions button[name="update_cart"] { float: right; }

@media (max-width: 767px) {
  .woocommerce table.shop_table_responsive, .woocommerce table.shop_table_responsive tbody { display: block; width: 100%; }
  .woocommerce table.shop_table_responsive thead, .woocommerce table.shop_table_responsive tbody th { display: none; }
  .woocommerce table.shop_table_responsive tr { display: grid; grid-template-columns: 1fr; padding: 1rem 0; border-bottom: 1px solid var(--linea-forte); }
  .woocommerce table.shop_table_responsive td { display: flex; justify-content: space-between; gap: 1rem; padding: .45rem 0; border: 0; text-align: right; }
  .woocommerce table.shop_table_responsive td::before { content: attr(data-title); font: 600 .75rem/1.6 var(--sans); letter-spacing: .1em; text-transform: uppercase; color: var(--testo-2); text-align: left; }
  .woocommerce table.shop_table_responsive td.product-remove::before, .woocommerce table.shop_table_responsive td.product-thumbnail::before, .woocommerce table.shop_table_responsive td.actions::before { display: none; }
  .woocommerce table.shop_table_responsive td.product-thumbnail { justify-content: flex-start; }
  .woocommerce table.shop_table_responsive td.actions { flex-direction: column; align-items: stretch; }
  .woocommerce td.actions button[name="update_cart"] { float: none; }
  .woocommerce table.shop_table_responsive tr.shipping td { display: block; text-align: left; }
  .woocommerce table.shop_table_responsive tr.shipping td::before { display: block; margin-bottom: .25rem; }
  .woocommerce .coupon { display: flex; flex-direction: column; align-items: stretch; }
  .woocommerce .coupon .input-text { width: 100%; }
}

/* ---------- carrello: totali ---------- */
.woocommerce-cart-page { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(2rem, 5vw, 4rem); }
@media (min-width: 1000px) { .woocommerce-cart-page { grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); align-items: start; } }
.woocommerce .cart-collaterals .cart_totals, .cart_totals { width: auto; float: none; padding: clamp(1.5rem, 3vw, 2.25rem); border-radius: 8px; background: var(--bianco); border: 1px solid var(--linea); }
.cart_totals h2 { font-size: 1.6rem; margin-bottom: 1rem; }
.cart_totals table.shop_table th, .cart_totals table.shop_table td, .woocommerce-checkout-review-order-table th, .woocommerce-checkout-review-order-table td { padding: .9rem 0; text-transform: none; letter-spacing: 0; font-size: .95rem; }
.cart_totals table.shop_table th { width: 40%; font-weight: 600; color: var(--notte); vertical-align: top; }
.cart_totals .order-total td, .woocommerce-checkout-review-order-table .order-total td { font: 600 1.35rem/1.3 var(--sans); color: var(--notte); }
.cart_totals .order-total small, .woocommerce-checkout-review-order-table .order-total small { display: block; font-size: .8125rem; font-weight: 400; color: var(--testo-2); }
.woocommerce-shipping-destination, .woocommerce-shipping-calculator { font-size: .875rem; color: var(--testo-2); margin: .5rem 0 0; }
.wc-proceed-to-checkout { padding-top: 1.25rem; }
.wc-proceed-to-checkout .checkout-button { width: 100%; min-height: 3.5rem !important; font-size: 1rem !important; }

/* ---------- checkout ---------- */
.woocommerce form .form-row { display: grid; gap: .4rem; margin: 0 0 1.1rem; padding: 0; }
.woocommerce form .form-row label { font: 600 .8125rem/1.3 var(--sans); color: var(--notte); }
.woocommerce form .form-row .required { color: #A3392B; text-decoration: none; border: 0; }
.woocommerce form .form-row .optional { font-weight: 400; color: var(--testo-2); }
.woocommerce form .form-row .input-text, .woocommerce form .form-row select, .woocommerce form .form-row textarea {
  width: 100%; min-height: 3.1rem; padding: .75rem 1rem; border: 1px solid var(--linea-forte); border-radius: 6px;
  background: var(--bianco); color: var(--testo); font: 400 1rem/1.4 var(--sans); box-shadow: none;
}
.woocommerce form .form-row textarea { min-height: 7rem; }
.woocommerce form .form-row select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231D405A' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M6.5 9.5l5.5 5.5 5.5-5.5'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right .9rem center; background-size: 1.1rem; padding-right: 2.6rem; }
.woocommerce form .form-row .input-text:focus, .woocommerce form .form-row select:focus, .woocommerce form .form-row textarea:focus { outline: none; border-color: var(--notte); box-shadow: 0 0 0 3px rgba(29, 64, 90, .18); }
.woocommerce form .form-row.woocommerce-invalid .input-text { border-color: #A3392B; }
@media (min-width: 640px) {
  .woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper { display: grid; grid-template-columns: 1fr 1fr; column-gap: 1rem; }
  .woocommerce form .form-row-wide { grid-column: 1 / -1; }
}
.woocommerce form .form-row-first, .woocommerce form .form-row-last { width: auto; float: none; }
.woocommerce-checkout-page { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(2rem, 5vw, 4rem); }
@media (min-width: 1000px) { .woocommerce-checkout-page { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: start; } .woocommerce-checkout-review { position: sticky; top: calc(var(--header-h) + 2rem); } }
.woocommerce-checkout h3, #order_review_heading { font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); margin: 0 0 1.25rem; }
.woocommerce-checkout .col2-set .col-1, .woocommerce-checkout .col2-set .col-2 { width: auto; float: none; }
#ship-to-different-address { font-size: 1.25rem; margin-top: 1.5rem; }
#ship-to-different-address label { display: flex; gap: .7rem; align-items: center; font-weight: 400; cursor: pointer; }
.woocommerce-form__input-checkbox { width: 1.25rem; height: 1.25rem; accent-color: var(--notte); }
.woocommerce-checkout-review { padding: clamp(1.5rem, 3vw, 2.25rem); border-radius: 8px; background: var(--bianco); border: 1px solid var(--linea); }
.woocommerce-checkout-review-order-table td.product-total { text-align: right; font-weight: 600; color: var(--notte); }
.woocommerce table.woocommerce-checkout-review-order-table tfoot th { font: 600 .95rem/1.4 var(--sans); letter-spacing: 0; text-transform: none; color: var(--notte); }
.woocommerce-checkout-review-order-table tfoot td { text-align: right; }
.woocommerce-checkout #payment { background: transparent; border-radius: 0; }
.woocommerce-checkout #payment ul.payment_methods { list-style: none; margin: 1.5rem 0; padding: 0; border: 0; display: grid; gap: .6rem; }
.woocommerce-checkout #payment ul.payment_methods > li { padding: 1rem 1.1rem; border: 1px solid var(--linea-forte); border-radius: 6px; background: var(--crema); }
.woocommerce-checkout #payment ul.payment_methods > li:has(input:checked) { border-color: var(--notte); box-shadow: inset 0 0 0 1px var(--notte); background: var(--bianco); }
.woocommerce-checkout #payment ul.payment_methods > li > label { display: inline; font-weight: 600; color: var(--notte); cursor: pointer; }
.woocommerce-checkout #payment ul.payment_methods > li > input[type="radio"] { width: 1.1rem; height: 1.1rem; margin: 0 .6rem 0 0; vertical-align: -.15rem; accent-color: var(--notte); }
.woocommerce-checkout #payment div.payment_box { margin: .9rem 0 0; padding: 1rem; border-radius: 6px; background: var(--crema); color: var(--testo); font-size: .875rem; }
.woocommerce-checkout #payment div.payment_box::before { display: none; }
.payment_box p { margin: 0 0 .75rem; }
.payment_box p:last-child { margin: 0; }
.stripe-card-mock { display: grid; gap: .6rem; }
.stripe-card-mock span { display: block; min-height: 2.8rem; padding: .7rem .9rem; border: 1px solid var(--linea-forte); border-radius: 6px; background: #fff; color: #8a8a8a; font-size: .95rem; }
.stripe-card-mock .row { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; }
.woocommerce-privacy-policy-text { font-size: .8125rem; color: var(--testo-2); margin: 1.25rem 0; }
.woocommerce-privacy-policy-text p { margin: 0; }
#place_order { width: 100%; min-height: 3.6rem; font-size: 1.05rem; }
.payment-icons { display: flex; flex-wrap: wrap; gap: .4rem; margin: .5rem 0 0; list-style: none; }
.woocommerce-checkout #payment .payment-icons { margin: .6rem 0 0 1.7rem; }
.payment-icons li { padding: .2rem .5rem; border: 1px solid var(--linea-forte); border-radius: 4px; font: 600 .6875rem/1.4 var(--sans); letter-spacing: .06em; color: var(--notte); background: #fff; }

/* ---------- markup reale di WooCommerce (tema WordPress) ---------- */
/* Carrello: tabella a sinistra, totali a destra */
@media (min-width: 1000px) {
  .woocommerce-cart .wc-page .woocommerce { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: 0 clamp(2rem, 4vw, 4rem); align-items: start; }
  .woocommerce-cart .wc-page .woocommerce > .woocommerce-notices-wrapper,
  .woocommerce-cart .wc-page .woocommerce > .wc-empty-cart-message,
  .woocommerce-cart .wc-page .woocommerce > .return-to-shop { grid-column: 1 / -1; }
  .woocommerce-cart .cart-collaterals { position: sticky; top: calc(var(--header-h) + 2rem); }
}
.woocommerce-cart .cart-collaterals .cross-sells { margin-bottom: 2rem; }
.woocommerce-cart .cart-collaterals .cross-sells > h2 { font-size: 1.4rem; }
.wc-empty-cart-message .cart-empty { margin-bottom: 1.5rem; }
.return-to-shop { margin: 0 0 2rem; }

/* Pagamento: dati a sinistra, riepilogo e pagamento a destra */
@media (min-width: 1000px) {
  .woocommerce form.woocommerce-checkout { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 0 clamp(2rem, 4vw, 4rem); align-items: start; }
  .woocommerce form.woocommerce-checkout > * { grid-column: 1; }
  .woocommerce form.woocommerce-checkout > #customer_details { grid-row: 1 / span 3; }
  .woocommerce form.woocommerce-checkout > #order_review_heading,
  .woocommerce form.woocommerce-checkout > #order_review { grid-column: 2; }
  .woocommerce form.woocommerce-checkout > #order_review_heading { grid-row: 1; margin-bottom: 1rem; }
  .woocommerce form.woocommerce-checkout > #order_review { grid-row: 2; position: sticky; top: calc(var(--header-h) + 2rem); }
}
.woocommerce form.woocommerce-checkout #order_review { padding: clamp(1.25rem, 3vw, 2rem); border-radius: 8px; background: var(--bianco); border: 1px solid var(--linea); }
.woocommerce form.woocommerce-checkout .col2-set { display: grid; gap: 1.5rem; }
.woocommerce form.woocommerce-checkout .col2-set::before, .woocommerce form.woocommerce-checkout .col2-set::after { display: none; }
.woocommerce form .form-row label .required { margin-left: .15em; }
.woocommerce-checkout #payment ul.payment_methods > li img { display: inline-block; max-height: 1.6rem; width: auto; vertical-align: middle; margin-left: .35rem; }
.woocommerce-checkout #payment .place-order { padding: 0; }
.woocommerce form .woocommerce-shipping-fields #ship-to-different-address { font-size: 1.15rem; }

/* Menu a tendina con ricerca (Paese, Provincia) come gli altri campi */
.woocommerce .select2-container { width: 100% !important; }
.woocommerce .select2-container .select2-selection--single { height: 3.1rem; padding: 0 .4rem; border: 1px solid var(--linea-forte); border-radius: 6px; background: var(--bianco); display: flex; align-items: center; }
.woocommerce .select2-container .select2-selection--single .select2-selection__rendered { padding-left: .6rem; color: var(--testo); line-height: 1.4; font-size: 1rem; }
.woocommerce .select2-container .select2-selection--single .select2-selection__arrow { height: 100%; right: .5rem; }
.woocommerce .select2-container--focus .select2-selection--single, .woocommerce .select2-container--open .select2-selection--single { border-color: var(--notte); box-shadow: 0 0 0 3px rgba(29, 64, 90, .18); }
.select2-dropdown { border-color: var(--linea-forte); border-radius: 6px; font-family: var(--sans); }
.select2-container--default .select2-results__option--highlighted[aria-selected], .select2-container--default .select2-results__option--highlighted[data-selected] { background: var(--notte); }
.select2-search--dropdown .select2-search__field { padding: .5rem; border-radius: 4px; border: 1px solid var(--linea-forte); }

/* Ordine ricevuto */
.woocommerce-order > p.woocommerce-notice { font: 400 var(--fs-lead)/1.5 var(--serif); color: var(--notte); margin-bottom: 1.5rem; }
.woocommerce ul.order_details { display: grid; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); gap: 1px; list-style: none; margin: 0 0 3rem; padding: 0; border-radius: 8px; overflow: hidden; border: 1px solid var(--linea); background: var(--linea); }
.woocommerce ul.order_details::before, .woocommerce ul.order_details::after { display: none; }
.woocommerce ul.order_details li { margin: 0; padding: 1.1rem 1.25rem; border: 0; background: var(--bianco); font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; color: var(--testo-2); float: none; }
.woocommerce ul.order_details li strong { display: block; margin-top: .35rem; font: 600 1.05rem/1.3 var(--sans); letter-spacing: 0; text-transform: none; color: var(--notte); }
.woocommerce-order h2, .woocommerce-order-details__title, .woocommerce-column__title { font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); margin: 2.5rem 0 1rem; }
.woocommerce-order section > p:first-child { margin-top: 0; }
.woocommerce-customer-details address { padding: 1.25rem 1.5rem; border: 1px solid var(--linea); border-radius: 8px; background: var(--bianco); font-style: normal; line-height: 1.7; }
.woocommerce .wc-bacs-bank-details-account-name, .woocommerce .wc-bacs-bank-details-heading { font-size: 1.25rem; }
.woocommerce ul#shipping_method { list-style: none; margin: 0; padding: 0; }
.woocommerce ul#shipping_method li { margin: 0 0 .35rem; }
/* Descrizione breve del prodotto: testo normale, solo la prima frase in evidenza */
.woocommerce div.product .woocommerce-product-details__short-description { font: 400 1rem/1.65 var(--sans); font-style: normal; color: var(--testo); max-width: 36rem; }
.woocommerce div.product .woocommerce-product-details__short-description > p:first-child { font: italic 400 var(--fs-lead)/1.45 var(--serif); color: var(--notte); }
.woocommerce div.product .woocommerce-product-details__short-description ul { padding-left: 1.25rem; margin: 0 0 1em; }
