/* ============================================================
   Override WooCommerce styles — tema Florio
   ============================================================ */

/* Nasconde elementi default di WooCommerce che sostituiamo */
.woocommerce-breadcrumb,
.woocommerce-result-count,
.woocommerce-ordering,
.woocommerce-tabs,
.related.products > h2,
.up-sells > h2,
.cross-sells > h2 {
  display: none !important;
}

/* Reset WooCommerce */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce #payment #place_order,
.woocommerce-page #payment #place_order {
  background: var(--color-btn-bg) !important;
  color: var(--color-btn-text) !important;
  border: 1px solid var(--color-btn-bg) !important;
  border-radius: 0 !important;
  font-family: var(--font-sans) !important;
  font-size: var(--font-size-sm) !important;
  font-weight: var(--font-weight-normal) !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  padding: 0.75rem 1.75rem !important;
  width: 100% !important;
  transition: background var(--transition) !important;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce #payment #place_order:hover,
.woocommerce-page #payment #place_order:hover {
  background: var(--color-btn-hover) !important;
  border-color: var(--color-btn-hover) !important;
  color: var(--color-btn-text) !important;
}

/* Variazioni prodotto */
.woocommerce div.product form.cart .variations {
  margin-bottom: var(--space-md);
}

.woocommerce div.product form.cart .variations td,
.woocommerce div.product form.cart .variations th {
  border: none;
  padding: 4px 0;
}

.woocommerce div.product form.cart .variations label {
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-muted);
}

.woocommerce div.product form.cart .variations select {
  border: 1px solid var(--color-border);
  border-radius: 0;
  font: inherit;
  font-size: var(--font-size-sm);
  padding: 8px 12px;
  width: 100%;
  max-width: 260px;
}

/* Quantità */
.woocommerce div.product form.cart .quantity input.qty {
  border: 1px solid var(--color-border);
  border-radius: 0;
  height: 44px;
  width: 64px;
  text-align: center;
  font: inherit;
}

/* Messaggi */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  border-top: 3px solid var(--color-text) !important;
  background: #f9f9f9 !important;
  border-radius: 0 !important;
  font-size: var(--font-size-sm) !important;
}

/* Checkout: fields */
.woocommerce-checkout .form-row label {
  font-size: var(--font-size-xs) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  color: var(--color-muted) !important;
}

.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea {
  border: 1px solid var(--color-border) !important;
  border-radius: 0 !important;
  font: inherit !important;
  font-size: var(--font-size-sm) !important;
  box-shadow: none !important;
}

.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .form-row textarea:focus {
  border-color: var(--color-text) !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Payment */
.woocommerce #payment {
  background: #f9f9f9 !important;
  border-radius: 0 !important;
}

.woocommerce #payment ul.payment_methods {
  border-bottom: 1px solid var(--color-border) !important;
}

.woocommerce #payment ul.payment_methods li {
  font-size: var(--font-size-sm) !important;
}

/* Cart table */
.woocommerce-cart table.shop_table {
  border: none !important;
  border-radius: 0 !important;
}

.woocommerce-cart table.shop_table th {
  font-size: var(--font-size-xs) !important;
  font-weight: var(--font-weight-normal) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: var(--color-muted) !important;
  border-bottom: 1px solid var(--color-border) !important;
}

.woocommerce-cart table.shop_table td {
  border-bottom: 1px solid var(--color-border) !important;
  vertical-align: middle !important;
}

.woocommerce-cart .cart-subtotals,
.woocommerce-cart .order-total {
  font-size: var(--font-size-sm) !important;
}

/* Order confirmation */
.woocommerce-order {
  padding-top: calc(var(--space-xl) + 60px);
  padding-bottom: var(--space-2xl);
}

/* Stars rating */
.woocommerce .star-rating span::before {
  color: var(--color-text) !important;
}

/* Notices */
.woocommerce-store-notice,
.demo_store {
  background: var(--color-text) !important;
  color: var(--color-bg) !important;
}
