/* ==========================================================================
   Spadamedia — WooCommerce
   Serve quando JetWooBuilder viene tolto: shop, prodotto, carrello, checkout
   e thank-you tornano ai template standard di WooCommerce.
   Include le regole che erano nel CSS personalizzato del Customizer.
   ========================================================================== */

.woocommerce-main { padding-block: var(--sm-space-4); }
.woocommerce-products-header__title { margin-bottom: var(--sm-space-3); }

/* --- Dal Customizer (post 102) --- */
.woocommerce button[name="update_cart"],
.woocommerce input[name="update_cart"],
.woocommerce table.cart td.actions [name="update_cart"] { display: none !important; } /* il carrello si aggiorna da solo (spadamedia-core) */
.shipped_via { display: none; }
.woocommerce-breadcrumb { display: none; }
.woocommerce-message { border-top-color: var(--sm-red); margin-top: 20px; }
.woocommerce-message::before { color: var(--sm-red); }
/* Provincia (select2) alta come gli altri campi, etichette allineate */
.woocommerce form .form-row .select2-container .select2-selection--single { height: auto; min-height: 2.75em; display: flex; align-items: center; border: 1px solid var(--sm-light); border-radius: var(--sm-radius); }
.woocommerce form .form-row .select2-container .select2-selection--single .select2-selection__arrow { height: 100%; }
.woocommerce form .form-row-first, .woocommerce form .form-row-last { display: flex; flex-direction: column; justify-content: flex-end; }
.woocommerce .woocommerce-pagination { margin-bottom: 0; }
.woocommerce ul.products { margin-bottom: var(--sm-space-3); }

/* --- Pulsanti --- */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce a.button.alt, .woocommerce button.button.alt {
	font-family: var(--sm-font-heading);
	font-weight: 600;
	border-radius: var(--sm-radius);
	background: var(--sm-red);
	color: var(--sm-white);
	padding: .8em 1.4em;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover {
	background: var(--sm-red-dark);
	color: var(--sm-white);
}
.woocommerce button.button:disabled, .woocommerce button.button:disabled[disabled] { background: var(--sm-grey); color: var(--sm-white); }

/* --- Griglia prodotti --- */
.woocommerce ul.products { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr)); gap: var(--sm-space-3); margin: 0 0 var(--sm-space-4); }
@media (max-width: 600px) { .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sm-space-2); } .woocommerce ul.products li.product { padding: .6rem; } .woocommerce ul.products li.product .button { font-size: .8rem; padding: .6em .8em; } }
.woocommerce ul.products li.product a { text-decoration: none; }
@media (min-width: 900px) {
	.woocommerce ul.products.columns-2 { grid-template-columns: repeat(2, 1fr); }
	.woocommerce ul.products.columns-3 { grid-template-columns: repeat(3, 1fr); }
	.woocommerce ul.products.columns-4 { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 600px) { .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: .95rem; } }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { width: auto; float: none; margin: 0; display: flex; flex-direction: column; border: 1px solid var(--sm-lighter); border-radius: var(--sm-radius); padding: var(--sm-space-2); transition: box-shadow .2s; }
.woocommerce ul.products li.product:hover { box-shadow: var(--sm-shadow); }
.woocommerce ul.products li.product a img { margin-bottom: var(--sm-space-2); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: var(--sm-font-heading); font-size: 1.05rem; color: var(--sm-dark); padding: 0; }
.woocommerce ul.products li.product .price { color: var(--sm-red-dark); font-weight: 600; font-size: 1rem; }
.woocommerce ul.products li.product .button { margin-top: auto; align-self: flex-start; }
.woocommerce .woocommerce-ordering select { padding: .45em .7em; }

/* --- Scheda prodotto --- */
.woocommerce div.product .product_title { font-size: var(--sm-fs-h2); }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--sm-red-dark); font-size: 1.4rem; font-weight: 600; }
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; gap: .75rem; align-items: stretch; }
.woocommerce div.product form.cart .quantity { margin: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { border-bottom-color: var(--sm-white); }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { font-family: var(--sm-font-heading); }
.woocommerce span.onsale { background: var(--sm-red); min-height: auto; min-width: auto; padding: .3em .7em; border-radius: var(--sm-radius); line-height: 1.4; }

/* --- Carrello e checkout --- */
.woocommerce table.shop_table { border-radius: var(--sm-radius); border-color: var(--sm-light); }
.woocommerce table.shop_table th { font-family: var(--sm-font-heading); }
.woocommerce-cart .cart-collaterals .cart_totals h2,
.woocommerce-checkout h3 { font-size: 1.3rem; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select { padding: .6em .8em; }
.woocommerce form .form-row label { font-weight: 600; font-size: .9rem; }
.woocommerce-checkout #payment { background: var(--sm-lighter); border-radius: var(--sm-radius); }
.woocommerce-checkout #payment div.payment_box { background: var(--sm-light); }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--sm-light); }

/* --- Messaggi --- */
.woocommerce-info, .woocommerce-error { border-top-color: var(--sm-red-dark); }
.woocommerce-info::before, .woocommerce-error::before { color: var(--sm-red-dark); }

/* --- Thank you --- */
.woocommerce-order .woocommerce-thankyou-order-received { font-family: var(--sm-font-heading); font-size: 1.3rem; color: var(--sm-dark); }

/* --- Mio account --- */
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; border: 1px solid var(--sm-lighter); border-radius: var(--sm-radius); }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: .6rem 1rem; text-decoration: none; border-bottom: 1px solid var(--sm-lighter); }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { color: var(--sm-red); font-weight: 600; }

/* Le larghezze a colonne di WooCommerce (width:30.75% ecc.) non servono dentro la griglia */
.woocommerce ul.products[class*="columns-"] li.product,
.woocommerce-page ul.products[class*="columns-"] li.product { width: auto; float: none; margin: 0; clear: none; }

/* Checkout: le etichette lunghe (es. "Telefono Cellulare (no fisso)") non devono sfalsare le righe */
.woocommerce form .form-row-wide { clear: both; }
@media (max-width: 600px) {
	.woocommerce form .form-row-first, .woocommerce form .form-row-last { width: 100%; float: none; }
}


/* --- Griglie prodotto (shop, categorie, correlati, home) --- */
:root { --sm-img-border: #4a4a49; }
.woocommerce ul.products li.product a img { border: 1px solid var(--sm-img-border); border-radius: 0; aspect-ratio: 1; object-fit: contain; background: var(--sm-white); width: 100%; height: auto; }

/* Shop, categorie e correlati: 3 per riga su desktop, 2 su tablet, 1 su telefono */
.woocommerce-main ul.products,
.woocommerce-main ul.products[class*="columns-"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 899px) {
	.woocommerce-main ul.products, .woocommerce-main ul.products[class*="columns-"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
	.woocommerce ul.products, .woocommerce ul.products[class*="columns-"],
	.woocommerce-main ul.products, .woocommerce-main ul.products[class*="columns-"] { grid-template-columns: 1fr; gap: var(--sm-space-3); }
	.woocommerce ul.products li.product { padding: var(--sm-space-2); }
	.woocommerce ul.products li.product .button { font-size: .9rem; padding: .75em 1.2em; }
	.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 1.05rem; }
}

/* Prodotti correlati / upsell: banda grigio chiaro a tutta larghezza */
.single-product .related.products,
.single-product .upsells.products {
	clear: both;
	background: var(--sm-lighter);
	box-shadow: 0 0 0 100vmax var(--sm-lighter);
	clip-path: inset(0 -100vmax);
	padding-block: var(--sm-space-4);
	margin-top: var(--sm-space-4);
}
.single-product .related.products > h2,
.single-product .upsells.products > h2 { font-size: var(--sm-fs-h3); text-transform: uppercase; margin-bottom: var(--sm-space-3); }
.single-product .woocommerce-main:has(.related.products) { padding-bottom: 0; }

/* Pulsanti "alt" di WooCommerce (Aggiungi al carrello in scheda, Effettua ordine…) in tutti gli stati:
   il viola #7f54b3 di WooCommerce non deve mai comparire */
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt,
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt.disabled, .woocommerce button.button.alt.disabled,
.woocommerce button.button.alt:disabled, .woocommerce button.button.alt:disabled[disabled],
.woocommerce a.button.alt.disabled:hover, .woocommerce button.button.alt.disabled:hover,
.woocommerce button.button.alt:disabled:hover, .woocommerce button.button.alt:disabled[disabled]:hover {
	background-color: var(--sm-red) !important;
	color: var(--sm-white) !important;
}
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce input.button.alt:hover {
	background-color: var(--sm-red-dark) !important;
	color: var(--sm-white) !important;
}
.woocommerce button.button.alt.disabled, .woocommerce button.button.alt:disabled { opacity: .45; cursor: not-allowed; }

/* Varianti prodotto (es. CCNL: "Edizione"): la tendina con nomi lunghi non deve uscire dallo schermo. */
.woocommerce div.product form.cart table.variations { width: 100%; table-layout: fixed; }
.woocommerce div.product form.cart .variations select { width: 100%; max-width: 100%; min-width: 0; text-overflow: ellipsis; }
@media (max-width: 600px) {
	.woocommerce div.product form.cart table.variations,
	.woocommerce div.product form.cart table.variations tbody,
	.woocommerce div.product form.cart table.variations tr,
	.woocommerce div.product form.cart table.variations th,
	.woocommerce div.product form.cart table.variations td { display: block; width: 100%; padding-left: 0; padding-right: 0; }
}
