/* ============================================================
   WOO-OVERRIDES.CSS
   Override completo del CSS WooCommerce → design system T3
   Gli stili default WooCommerce sono disabilitati in functions.php
   ============================================================ */

/* ============ RESET MESSAGGI WC ============ */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  border-top: none;
  padding: var(--s-3) var(--s-4);
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .05em;
  list-style: none;
}

.woocommerce-message { border-left: 3px solid var(--ranger-green); background: var(--bianco-velo); }
.woocommerce-error   { border-left: 3px solid var(--rosso-sabaudo); background: var(--bianco-velo); }
.woocommerce-info    { border-left: 3px solid var(--antracite); background: var(--bianco-velo); }

.woocommerce-message::before,
.woocommerce-info::before { display: none; }

/* ============ GRID PRODOTTI (archivio/categoria) ============ */
.woocommerce ul.products,
.woocommerce-page ul.products {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--s-3);
  list-style: none;
  padding: 0; margin: 0;
  clear: both;
}

@media (max-width: 1100px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 768px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 480px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products { grid-template-columns: repeat(2, 1fr); gap: var(--s-2); }
}

/* ============ CARD PRODOTTO ============ */
/* Il template PHP è in woocommerce/content-product.php */
/* Qui gli stili di supporto */

.woocommerce ul.products li.product { margin: 0; float: none; width: auto; }

/* Remove WC default styles */
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .price { color: var(--antracite); }

/* ============ TOOLBAR CATALOGO (sort/risultati) ============ */
.woocommerce-ordering select,
.woocommerce .woocommerce-ordering select {
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  border: 1px solid var(--grigio-tecnico);
  border-radius: var(--radius-0);
  background: var(--bianco-ghiaccio);
  color: var(--antracite);
  padding: var(--s-2) var(--s-3);
  cursor: pointer;
}

.woocommerce-result-count {
  font-family: var(--font-mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--grigio);
}

/* ============ PAGINAZIONE ============ */
.woocommerce nav.woocommerce-pagination ul {
  display: flex;
  gap: var(--s-1);
  list-style: none;
  padding: var(--s-8) 0;
  justify-content: center;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  font-family: var(--font-mono);
  font-size: 13px;
  text-transform: uppercase;
  width: 36px; height: 36px;
  display: flex; align-items: center; justify-content: center;
  border: 1px solid var(--grigio-tecnico);
  color: var(--antracite);
  text-decoration: none;
  transition: all var(--dur-fast);
}

.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--antracite);
  color: var(--bianco-ghiaccio);
  border-color: var(--antracite);
}

/* ============ BREADCRUMB ============ */
.woocommerce .woocommerce-breadcrumb {
  font-family: var(--font-mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--grigio);
  margin-bottom: var(--s-6);
}

.woocommerce .woocommerce-breadcrumb a { color: var(--grigio); text-decoration: none; }
.woocommerce .woocommerce-breadcrumb a:hover { color: var(--antracite); }

.t3-bc-sep { color: var(--grigio-tecnico); margin: 0 var(--s-1); }

/* ============ PDP — SINGOLO PRODOTTO ============ */
.woocommerce div.product .product_title {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(36px, 5vw, 56px);
  line-height: .95;
  text-transform: uppercase;
  letter-spacing: -.01em;
  color: var(--antracite);
  margin-bottom: var(--s-2);
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 36px;
  color: var(--antracite);
  line-height: 1;
}

.woocommerce div.product p.price del,
.woocommerce div.product span.price del {
  color: var(--grigio-tecnico);
  font-size: 24px;
  opacity: 1;
}

.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins {
  text-decoration: none;
}

.woocommerce div.product .sku_wrapper {
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .15em;
  color: var(--grigio);
  display: block;
  margin-bottom: var(--s-2);
}

.woocommerce div.product .sku { font-weight: 400; }

/* Stock status */
.woocommerce div.product .stock {
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .1em;
}

.woocommerce div.product .in-stock  { color: var(--ranger-green); }
.woocommerce div.product .out-of-stock { color: var(--grigio-tecnico); }

/* Descrizione breve */
.woocommerce div.product .woocommerce-product-details__short-description {
  font-family: var(--font-body);
  font-size: 15px;
  color: var(--grafite);
  line-height: 1.7;
  margin-bottom: var(--s-4);
  border-bottom: 1px solid var(--grigio-tecnico);
  padding-bottom: var(--s-4);
}

/* ============ VARIANTI — nasconde <select>, mostra pill via JS ============ */
.woocommerce div.product table.variations {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: var(--s-4);
}

.woocommerce div.product table.variations td,
.woocommerce div.product table.variations th {
  padding: var(--s-1) 0;
  border: none;
  vertical-align: top;
}

.woocommerce div.product table.variations select { display: none; }

.woocommerce div.product table.variations .label label {
  font-family: var(--font-mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .15em;
  color: var(--antracite);
  display: block;
  margin-bottom: var(--s-2);
  font-weight: 400;
}

.woocommerce div.product .reset_variations {
  font-family: var(--font-mono);
  font-size: 10px;
  text-transform: uppercase;
  color: var(--grigio);
  text-decoration: none;
  display: inline-block;
  margin-top: var(--s-2);
}

/* Variazione singola (prezzo/stock aggiornato da JS WC) */
.woocommerce div.product .woocommerce-variation-price .price { font-size: 28px; }
.woocommerce div.product .woocommerce-variation-availability { margin: var(--s-2) 0; }

/* ============ QTY + ADD TO CART (PDP) ============ */
.woocommerce div.product form.cart {
  display: flex;
  gap: var(--s-3);
  align-items: flex-end;
  flex-wrap: wrap;
  margin-top: var(--s-4);
}

.woocommerce div.product form.cart .quantity {
  display: flex;
  align-items: center;
  border: 1.5px solid var(--grigio-tecnico);
}

.woocommerce div.product form.cart div.quantity input.qty {
  width: 50px;
  height: 46px;
  text-align: center;
  border: 0; outline: 0;
  font-family: var(--font-mono);
  font-size: 14px;
  background: transparent;
  color: var(--antracite);
  -moz-appearance: textfield;
}

.woocommerce div.product form.cart div.quantity input.qty::-webkit-inner-spin-button,
.woocommerce div.product form.cart div.quantity input.qty::-webkit-outer-spin-button { -webkit-appearance: none; }

/* Bottone Aggiungi al carrello */
.woocommerce div.product form.cart .single_add_to_cart_button,
.woocommerce div.product form.cart button.button {
  flex: 1;
  padding: var(--s-3) var(--s-6);
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  background: var(--antracite);
  color: var(--bianco-ghiaccio);
  border: 2px solid var(--antracite);
  border-radius: var(--radius-0);
  cursor: pointer;
  transition: background var(--dur-fast), border-color var(--dur-fast);
  height: 50px;
}

.woocommerce div.product form.cart .single_add_to_cart_button:hover { background: var(--grafite); border-color: var(--grafite); }

.woocommerce div.product form.cart .single_add_to_cart_button.loading { opacity: .7; cursor: wait; }
.woocommerce div.product form.cart .single_add_to_cart_button.added { background: var(--ranger-green); border-color: var(--ranger-green); }

/* Bottone add-to-cart nelle liste */
.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button {
  display: block;
  width: 100%;
  padding: var(--s-3) var(--s-4);
  font-family: var(--font-mono);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  background: var(--antracite);
  color: var(--bianco-ghiaccio);
  border: 2px solid var(--antracite);
  border-radius: var(--radius-0);
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: background var(--dur-fast);
}

.woocommerce ul.products li.product .button:hover { background: var(--grafite); border-color: var(--grafite); }

/* ============ TAB PRODOTTO (Descrizione / Specifiche) ============ */
.woocommerce div.product .woocommerce-tabs ul.tabs {
  list-style: none;
  padding: 0; margin: 0;
  display: flex;
  gap: 0;
  border-bottom: 2px solid var(--antracite);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: none; border: none;
  padding: 0; margin: 0;
  border-radius: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 15px;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--grigio);
  text-decoration: none;
  padding: var(--s-3) var(--s-6);
  display: block;
  transition: color var(--dur-fast);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--antracite); border-bottom: 3px solid var(--antracite); margin-bottom: -2px; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover { color: var(--antracite); }

.woocommerce div.product .woocommerce-tabs .panel {
  padding: var(--s-6) 0;
  font-family: var(--font-body);
  font-size: 15px;
  color: var(--grafite);
  line-height: 1.7;
}

.woocommerce div.product .woocommerce-tabs .panel h2,
.woocommerce div.product .woocommerce-tabs .panel h3 {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 20px;
  text-transform: uppercase;
  color: var(--antracite);
  margin-bottom: var(--s-3);
}

/* Tabella specifiche (additional_information) */
.woocommerce table.shop_attributes {
  width: 100%;
  border-collapse: collapse;
}

.woocommerce table.shop_attributes th {
  font-family: var(--font-mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--grigio);
  font-weight: 400;
  padding: var(--s-3) var(--s-4) var(--s-3) 0;
  border-bottom: 1px solid var(--bianco-velo);
  width: 140px;
  vertical-align: top;
}

.woocommerce table.shop_attributes td {
  font-family: var(--font-body);
  font-size: 14px;
  color: var(--antracite);
  padding: var(--s-3) 0;
  border-bottom: 1px solid var(--bianco-velo);
}

/* ============ PRODOTTI CORRELATI ============ */
.woocommerce .related h2,
.woocommerce .upsells h2 {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 28px;
  text-transform: uppercase;
  margin-bottom: var(--s-4);
}

/* ============ CHECKOUT FORM ============ */
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout h3 {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 22px;
  text-transform: uppercase;
  margin-bottom: var(--s-4);
}

.woocommerce form .form-row label,
.woocommerce-page form .form-row label {
  font-family: var(--font-mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--grigio);
  display: block;
  margin-bottom: var(--s-1);
  font-weight: 400;
}

.woocommerce form .form-row .required { color: var(--rosso-sabaudo); }

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text,
.woocommerce-page form .form-row textarea,
.woocommerce-page form .form-row select {
  font-family: var(--font-body);
  font-size: 15px;
  border: 1px solid var(--bianco-velo);
  border-radius: var(--radius-0);
  background: var(--bianco-puro);
  color: var(--antracite);
  padding: var(--s-3) var(--s-4);
  width: 100%;
  transition: border-color var(--dur-fast);
  outline: none;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus { border-color: var(--antracite); }

.woocommerce form .form-row.woocommerce-invalid input.input-text { border-color: var(--rosso-sabaudo); }
.woocommerce form .form-row.woocommerce-validated input.input-text { border-color: var(--ranger-green); }

/* Bottone "Procedi al pagamento" */
#place_order {
  width: 100% !important;
  background: var(--rosso-sabaudo) !important;
  border-color: var(--rosso-sabaudo) !important;
  font-size: 16px !important;
  padding: var(--s-4) var(--s-8) !important;
  font-family: var(--font-mono) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .1em !important;
  border-radius: var(--radius-0) !important;
  cursor: pointer;
  transition: background var(--dur-fast) !important;
}

#place_order:hover { background: #a01830 !important; border-color: #a01830 !important; }

/* Riepilogo ordine al checkout */
.woocommerce-checkout-review-order table {
  width: 100%;
  border-collapse: collapse;
}

.woocommerce-checkout-review-order table th,
.woocommerce-checkout-review-order table td {
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .05em;
  padding: var(--s-3) var(--s-2);
  border-bottom: 1px solid var(--bianco-velo);
}

.woocommerce-checkout-review-order .order-total td,
.woocommerce-checkout-review-order .order-total th {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 20px;
  border-bottom: none;
}

/* Metodi di pagamento */
.woocommerce-checkout #payment {
  background: var(--bianco-velo);
  border-radius: var(--radius-0);
  padding: var(--s-4);
}

.woocommerce-checkout #payment ul.payment_methods {
  list-style: none;
  padding: 0; margin: 0 0 var(--s-4);
  border-bottom: 1px solid var(--grigio-tecnico);
}

.woocommerce-checkout #payment ul.payment_methods li {
  padding: var(--s-3) 0;
  border-bottom: 1px solid var(--bianco-velo);
}

.woocommerce-checkout #payment ul.payment_methods label {
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .08em;
  cursor: pointer;
}

/* ============ PAGINA CARRELLO (full) ============ */
.woocommerce table.cart {
  width: 100%;
  border-collapse: collapse;
}

.woocommerce table.cart th {
  font-family: var(--font-mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--grigio);
  font-weight: 400;
  padding: var(--s-3) var(--s-4);
  border-bottom: 2px solid var(--antracite);
  text-align: left;
}

.woocommerce table.cart td {
  padding: var(--s-4);
  border-bottom: 1px solid var(--bianco-velo);
  vertical-align: middle;
}

.woocommerce table.cart .product-name a {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 18px;
  text-transform: uppercase;
  color: var(--antracite);
  text-decoration: none;
}

.woocommerce table.cart .product-name a:hover { color: var(--ranger-green); }

.woocommerce table.cart .product-price,
.woocommerce table.cart .product-subtotal {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 18px;
}

.woocommerce table.cart td.product-remove a {
  color: var(--grigio-tecnico);
  font-size: 18px;
  text-decoration: none;
  transition: color var(--dur-fast);
}

.woocommerce table.cart td.product-remove a:hover { color: var(--rosso-sabaudo); }

/* Qty nel carrello */
.woocommerce table.cart .quantity input.qty {
  font-family: var(--font-mono);
  font-size: 14px;
  width: 60px;
  text-align: center;
  border: 1px solid var(--grigio-tecnico);
  padding: var(--s-2);
  background: var(--bianco-ghiaccio);
  color: var(--antracite);
}

/* Totali carrello */
.woocommerce .cart_totals h2 {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 22px;
  text-transform: uppercase;
  margin-bottom: var(--s-4);
}

.woocommerce .cart_totals table {
  width: 100%;
  border-collapse: collapse;
}

.woocommerce .cart_totals table th,
.woocommerce .cart_totals table td {
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .08em;
  padding: var(--s-3) 0;
  border-bottom: 1px solid var(--bianco-velo);
}

.woocommerce .cart_totals .order-total th,
.woocommerce .cart_totals .order-total td {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 24px;
  border-bottom: none;
}

.woocommerce .wc-proceed-to-checkout .checkout-button {
  display: block;
  width: 100%;
  padding: var(--s-4) var(--s-8);
  background: var(--antracite);
  color: var(--bianco-ghiaccio);
  text-align: center;
  font-family: var(--font-mono);
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  text-decoration: none;
  border-radius: var(--radius-0);
  transition: background var(--dur-fast);
  margin-top: var(--s-3);
}

.woocommerce .wc-proceed-to-checkout .checkout-button:hover { background: var(--grafite); }

/* ============ ACCOUNT / MY ACCOUNT ============ */
.woocommerce .woocommerce-MyAccount-navigation ul {
  list-style: none;
  padding: 0;
}

.woocommerce .woocommerce-MyAccount-navigation ul li a {
  display: block;
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--grigio);
  text-decoration: none;
  padding: var(--s-3) 0;
  border-bottom: 1px solid var(--bianco-velo);
  transition: color var(--dur-fast);
}

.woocommerce .woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce .woocommerce-MyAccount-navigation ul li.is-active a { color: var(--antracite); }

/* ============ NOTICE DI SISTEMA ============ */
.woocommerce-notices-wrapper { margin-bottom: var(--s-6); }

/* Bottone "Aggiornamento carrello" */
.woocommerce table.cart .actions .button,
.woocommerce table.cart .coupon .button {
  font-family: var(--font-mono);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  background: transparent;
  color: var(--antracite);
  border: 1.5px solid var(--antracite);
  border-radius: var(--radius-0);
  padding: var(--s-2) var(--s-4);
  cursor: pointer;
  transition: all var(--dur-fast);
}

.woocommerce table.cart .actions .button:hover { background: var(--antracite); color: var(--bianco-ghiaccio); }

/* Coupon input */
.woocommerce table.cart .coupon input.input-text {
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  border: 1.5px solid var(--grigio-tecnico);
  border-radius: var(--radius-0);
  padding: var(--s-2) var(--s-3);
  background: var(--bianco-ghiaccio);
  color: var(--antracite);
}
