/* ==========================================================================
   FrigoVintage - vestizione di WooCommerce
   Usa i token definiti in style.css. Caricato solo quando WooCommerce e' attivo.
   ========================================================================== */

/* ------------------------------------------------- Elenco prodotti (negozio) */
.woocommerce ul.products,
.woocommerce-page ul.products {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 1.25rem;
  margin: 0 0 2rem;
  padding: 0;
  list-style: none;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after { content: none; display: none; }

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  width: auto !important;
  float: none !important;
  margin: 0 !important;
  clear: none !important;
  display: flex;
  flex-direction: column;
  padding: .95rem;
  background: var(--fv-surface);
  border: 1px solid var(--fv-line);
  border-radius: var(--fv-radius);
  box-shadow: var(--fv-shadow);
  text-align: left;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.woocommerce ul.products li.product:hover {
  transform: translateY(-3px);
  border-color: var(--fv-brass);
  box-shadow: 0 4px 10px rgba(42,35,28,.09), 0 16px 34px rgba(42,35,28,.12);
}

.woocommerce ul.products li.product a img {
  display: block;
  width: 100%;
  height: 190px;
  object-fit: contain;
  margin: 0 0 .7rem;
  padding: .4rem;
  background: var(--fv-surface-2);
  border: 1px solid var(--fv-line-soft);
  border-radius: var(--fv-radius-sm);
  box-shadow: none;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--fv-sans);
  font-size: .95rem !important;
  font-weight: 600;
  line-height: 1.4;
  color: var(--fv-ink);
  padding: 0 0 .4rem !important;
  margin: 0;
}
.woocommerce ul.products li.product a { text-decoration: none; }
.woocommerce ul.products li.product a:hover .woocommerce-loop-product__title { color: var(--fv-brick); }

/* codice articolo mostrato come etichetta, come sul vecchio sito */
.fv-loop-sku {
  display: inline-block;
  font-size: .68rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase;
  color: var(--fv-brass-dark);
  background: var(--fv-brass-soft);
  border: 1px solid #e3d3ad;
  border-radius: 999px;
  padding: .12rem .55rem;
  margin: 0 0 .45rem;
  white-space: nowrap;
}

.woocommerce ul.products li.product .price {
  margin: auto 0 0;
  padding-top: .55rem;
  border-top: 1px solid var(--fv-line-soft);
  font-family: var(--fv-serif);
  font-size: 1.18rem !important;
  font-weight: 700;
  color: var(--fv-brick) !important;
}
.woocommerce ul.products li.product .price del { color: var(--fv-muted); font-size: .8em; font-weight: 400; }
.woocommerce ul.products li.product .price ins { text-decoration: none; }

.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart {
  margin: .7rem 0 0;
  align-self: flex-start;
  padding: .42rem .9rem;
  font-size: .82rem;
}

.woocommerce span.onsale,
.woocommerce ul.products li.product .onsale {
  position: absolute;
  top: .6rem; left: .6rem;
  min-width: auto; min-height: auto;
  padding: .15rem .6rem;
  background: var(--fv-brick);
  color: #fff;
  border-radius: 999px;
  font-size: .72rem; font-weight: 700; line-height: 1.7;
  letter-spacing: .04em;
}
.woocommerce ul.products li.product { position: relative; }

/* stato "non disponibile" */
.fv-stock-out {
  display: inline-block; margin-top: .4rem;
  font-size: .78rem; font-weight: 600; letter-spacing: .04em;
  color: var(--fv-muted);
}

/* -------------------------------------------------- Barra ordinamento/conteggio */
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
  margin-bottom: 1.25rem;
  font-size: .9rem;
  color: var(--fv-muted);
}
.woocommerce .woocommerce-ordering select { width: auto; display: inline-block; }

/* ------------------------------------------------------- Scheda prodotto */
.woocommerce div.product { margin-bottom: 2rem; }
.woocommerce div.product .product_title {
  font-family: var(--fv-serif);
  font-size: clamp(1.5rem, 1.1rem + 1.4vw, 2.1rem);
  margin-bottom: .6rem;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-family: var(--fv-serif);
  font-size: 1.9rem;
  font-weight: 700;
  color: var(--fv-brick);
  margin: .4rem 0 1rem;
}
.woocommerce div.product .woocommerce-product-details__short-description { color: var(--fv-ink-soft); }

.woocommerce div.product div.images img {
  border-radius: var(--fv-radius);
  border: 1px solid var(--fv-line);
  background: var(--fv-surface);
}
.woocommerce div.product div.images .flex-control-thumbs li img { border-radius: var(--fv-radius-sm); }

.woocommerce div.product form.cart { margin-bottom: 1.5rem; }
.woocommerce div.product form.cart .quantity input { width: 5rem; text-align: center; }
.woocommerce div.product form.cart .button { padding: .75rem 1.8rem; font-size: 1rem; }

.woocommerce div.product .product_meta {
  margin-top: 1.25rem; padding-top: 1rem;
  border-top: 1px solid var(--fv-line-soft);
  font-size: .9rem; color: var(--fv-muted);
}
.woocommerce div.product .product_meta > span { display: block; margin-bottom: .3rem; }
.woocommerce div.product .product_meta .sku { color: var(--fv-ink); font-weight: 600; }

/* bottone "richiedi informazioni" per gli articoli senza prezzo */
.fv-ask-box {
  margin: 1rem 0 1.5rem;
  padding: 1.1rem 1.25rem;
  background: var(--fv-surface);
  border: 1px solid var(--fv-line);
  border-left: 4px solid var(--fv-brass);
  border-radius: 0 var(--fv-radius) var(--fv-radius) 0;
}
.fv-ask-box p { margin: 0 0 .75rem; color: var(--fv-ink-soft); font-size: .95rem; }

/* schede informazioni */
.woocommerce div.product .woocommerce-tabs ul.tabs {
  padding: 0; margin: 0 0 -1px;
  list-style: none;
  display: flex; flex-wrap: wrap; gap: .3rem;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: var(--fv-surface-2);
  border: 1px solid var(--fv-line);
  border-radius: var(--fv-radius-sm) var(--fv-radius-sm) 0 0;
  margin: 0; padding: 0;
}
.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.active { background: var(--fv-surface); border-bottom-color: var(--fv-surface); }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: .6rem 1.1rem; font-weight: 600; color: var(--fv-ink-soft); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--fv-ink); }
.woocommerce div.product .woocommerce-tabs .panel {
  background: var(--fv-surface);
  border: 1px solid var(--fv-line);
  border-radius: 0 var(--fv-radius) var(--fv-radius) var(--fv-radius);
  padding: 1.5rem;
  margin-bottom: 2rem;
}

/* tabella attributi: misure, capacita', stato... */
.woocommerce table.shop_attributes {
  border: 1px solid var(--fv-line);
  border-radius: var(--fv-radius);
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  width: 100%;
}
.woocommerce table.shop_attributes th,
.woocommerce table.shop_attributes td {
  border: 0;
  border-bottom: 1px solid var(--fv-line-soft);
  padding: .7rem 1rem;
  font-style: normal;
  line-height: 1.5;
}
.woocommerce table.shop_attributes th { background: var(--fv-surface-2); color: var(--fv-ink); width: 34%; font-weight: 600; }
.woocommerce table.shop_attributes td { color: var(--fv-ink-soft); }
.woocommerce table.shop_attributes tr:last-child th,
.woocommerce table.shop_attributes tr:last-child td { border-bottom: 0; }

/* prodotti correlati */
.woocommerce .related > h2, .woocommerce .upsells > h2, .woocommerce .cross-sells > h2 {
  font-family: var(--fv-serif);
  padding-bottom: .5rem; margin-bottom: 1.25rem;
  border-bottom: 2px solid var(--fv-brass);
}

/* ------------------------------------------------------- Avvisi */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews {
  background: var(--fv-surface);
  border: 1px solid var(--fv-line);
  border-top: 3px solid var(--fv-brass);
  border-radius: var(--fv-radius);
  color: var(--fv-ink-soft);
  padding: 1rem 1.25rem 1rem 3rem;
  margin-bottom: 1.5rem;
  list-style: none;
}
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before {
  color: var(--fv-brass);
  top: 1rem; left: 1.1rem;
}
.woocommerce-error { border-top-color: var(--fv-brick); }
.woocommerce-error::before { color: var(--fv-brick); }
.woocommerce-message .button, .woocommerce-info .button { float: right; margin-left: 1rem; }

/* ------------------------------------------------------- Carrello e cassa */
.woocommerce table.shop_table {
  background: var(--fv-surface);
  border: 1px solid var(--fv-line);
  border-radius: var(--fv-radius);
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
}
.woocommerce table.shop_table th {
  background: var(--fv-walnut); color: var(--fv-cream);
  font-size: .8rem; letter-spacing: .1em; text-transform: uppercase;
  padding: .9rem 1rem; border: 0;
}
.woocommerce table.shop_table td { border-top: 1px solid var(--fv-line-soft); padding: 1rem; color: var(--fv-ink-soft); }
.woocommerce table.shop_table .product-name a { color: var(--fv-ink); font-weight: 600; }

.woocommerce .cart_totals h2, .woocommerce-checkout h3, .woocommerce-billing-fields h3 {
  font-family: var(--fv-serif);
  padding-bottom: .5rem; border-bottom: 2px solid var(--fv-brass);
}
.woocommerce #respond input#submit.alt, .woocommerce a.button.alt,
.woocommerce button.button.alt, .woocommerce input.button.alt {
  background: var(--fv-brass); color: var(--fv-walnut); border: 1px solid var(--fv-brass-dark);
}
.woocommerce #respond input#submit.alt:hover, .woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover, .woocommerce input.button.alt:hover {
  background: #bd934a; color: var(--fv-walnut);
}
.woocommerce .button, .woocommerce a.button, .woocommerce input.button, .woocommerce button.button {
  background: var(--fv-brass); color: var(--fv-walnut);
  border: 1px solid var(--fv-brass-dark); border-radius: var(--fv-radius-sm);
  font-weight: 600; font-size: .9rem; padding: .55rem 1.1rem;
  text-shadow: none; line-height: 1.6;
}
.woocommerce .button:hover, .woocommerce a.button:hover,
.woocommerce input.button:hover, .woocommerce button.button:hover { background: #bd934a; color: var(--fv-walnut); }
.woocommerce a.button.added::after { display: none; }

#add_payment_method #payment, .woocommerce-cart #payment, .woocommerce-checkout #payment {
  background: var(--fv-surface); border: 1px solid var(--fv-line); border-radius: var(--fv-radius);
}

/* ------------------------------------------------------- Widget WooCommerce */
.fv-sidebar .woocommerce-product-search { display: flex; gap: .5rem; }
.fv-sidebar .woocommerce-product-search button { flex: none; padding: .55rem .9rem; font-size: .85rem; }
.fv-sidebar ul.product_list_widget li { padding: .6rem 0; border-bottom: 1px solid var(--fv-line-soft); }
.fv-sidebar ul.product_list_widget li img { width: 48px; border-radius: var(--fv-radius-sm); margin-left: .6rem; }
.fv-sidebar .widget_price_filter .price_slider_wrapper .ui-widget-content { background: var(--fv-line); }
.fv-sidebar .widget_price_filter .ui-slider .ui-slider-range { background: var(--fv-brass); }
.fv-sidebar .widget_price_filter .ui-slider .ui-slider-handle { background: var(--fv-walnut); border: 2px solid var(--fv-brass); }

/* ------------------------------------------------------- Responsive */
@media (max-width: 900px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products { grid-template-columns: repeat(auto-fill, minmax(150px,1fr)); gap: .85rem; }
  .woocommerce ul.products li.product { padding: .7rem; }
  .woocommerce ul.products li.product a img { height: 140px; }
  .woocommerce div.product div.images,
  .woocommerce div.product div.summary { float: none; width: 100%; margin-bottom: 1.5rem; }
  .woocommerce table.shop_table_responsive tr td { text-align: right; }
}
