/*
  Auvok — WooCommerce
  Riusa le variabili di design definite in style.css (:root),
  quindi va caricato DOPO auvok-child-style (vedi functions.php).
*/

/* ==========================================================================
   0. SICUREZZA LAYOUT — annulla la sidebar di Astra su tutto il sito
   Il filtro PHP 'astra_page_layout' in functions.php dovrebbe già
   disattivarla ovunque; questo blocco è una rete di sicurezza via CSS
   nel caso la versione di Astra installata usi nomi diversi, o nel caso
   una pagina/articolo abbia un layout forzato via metabox.
   ========================================================================== */
#secondary{
  display: none !important;
}
#primary{
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  flex: 0 0 100% !important;
}
.ast-woocommerce-container,
.ast-container .ast-row{
  display: block !important;
}

/* ==========================================================================
   0.1 CONTENITORE GENERALE
   ========================================================================== */
.woocommerce,
.woocommerce-page{
  font-family: var(--auvok-font-body);
  color: var(--auvok-ink);
}
.woocommerce a{ color: inherit; }

/* Titolo archivio (es. "Negozio", nome categoria) */
.woocommerce-products-header{
  padding: 44px 0 30px;
  border-bottom: 3px solid var(--auvok-ink);
  margin-bottom: 40px;
}
.woocommerce-products-header__title.page-title{
  font-family: var(--auvok-font-display);
  font-weight: 900;
  text-transform: uppercase;
  font-size: clamp(30px, 4.6vw, 54px);
  line-height: 1;
  letter-spacing: -0.01em;
  margin: 0;
}
.term-description,
.woocommerce-products-header .page-description{
  font-family: var(--auvok-font-body);
  font-size: 14.5px;
  opacity: 0.7;
  max-width: 560px;
  margin-top: 14px;
}

/* Banner blu introduttivo sulla pagina principale del negozio */
.auvok-shop-hero{
  background: var(--auvok-klein);
  color: var(--auvok-white);
  padding: clamp(36px, 5vw, 64px) clamp(24px, 4vw, 48px);
  margin-bottom: 40px;
}
.auvok-shop-hero__eyebrow{ color: var(--auvok-mustard); margin-bottom: 16px; }
.auvok-shop-hero__title{
  font-family: var(--auvok-font-display);
  font-weight: 900;
  text-transform: uppercase;
  font-size: clamp(30px, 5vw, 56px);
  line-height: 1;
  letter-spacing: -0.01em;
  margin: 0 0 14px;
}
.auvok-shop-hero__title em{
  font-style: normal;
  background: var(--auvok-mustard);
  color: var(--auvok-ink);
  padding: 0 10px;
}
.auvok-shop-hero__lead{
  font-size: 15px;
  color: rgba(255,255,255,0.88);
  max-width: 46ch;
  margin: 0;
}

/* Breadcrumb */
.woocommerce-breadcrumb{
  font-family: var(--auvok-font-mono);
  text-transform: uppercase;
  font-size: 11.5px;
  letter-spacing: 0.05em;
  opacity: 0.6;
  margin-bottom: 20px;
}
.woocommerce-breadcrumb a:hover{ color: var(--auvok-klein); }

/* Notifiche (carrello aggiornato, errori, avvisi) */
.woocommerce-message,
.woocommerce-error,
.woocommerce-info{
  font-family: var(--auvok-font-body);
  font-size: 14px;
  border: 2px solid var(--auvok-ink);
  border-left-width: 6px;
  background: var(--auvok-paper);
  padding: 16px 20px;
  list-style: none;
  margin: 0 0 28px;
}
.woocommerce-message{ border-left-color: var(--auvok-klein); }
.woocommerce-error{ border-left-color: #c0392b; }
.woocommerce-info{ border-left-color: var(--auvok-mustard); }
.woocommerce-message a.button,
.woocommerce-error a.button{
  font-family: var(--auvok-font-mono);
  text-transform: uppercase;
  font-size: 12px;
  border: 2px solid var(--auvok-ink);
  background: var(--auvok-ink);
  color: var(--auvok-white);
  padding: 8px 14px;
  margin-left: 10px;
}

/* ==========================================================================
   1. BARRA RISULTATI + ORDINAMENTO
   ========================================================================== */
.woocommerce-result-count,
.woocommerce-ordering{
  font-family: var(--auvok-font-mono);
  font-size: 12.5px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.woocommerce > .woocommerce-result-count,
.woocommerce > .woocommerce-ordering,
.woocommerce-products-header + .woocommerce-result-count,
.woocommerce-result-count{
  margin-bottom: 26px;
}
form.woocommerce-ordering select.orderby{
  font-family: var(--auvok-font-mono);
  font-size: 12.5px;
  text-transform: uppercase;
  border: 2px solid var(--auvok-ink);
  background: var(--auvok-white);
  padding: 10px 34px 10px 14px;
  border-radius: 0;
}

/* ==========================================================================
   2. GRIGLIA PRODOTTI (negozio, categoria, correlati, upsell)
   ========================================================================== */
body.woocommerce-page ul.products,
.woocommerce ul.products,
.woocommerce-page ul.products{
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 28px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
body.woocommerce-page ul.products li.product,
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  clear: none !important;
  border: 2px solid var(--auvok-ink);
  background: var(--auvok-white);
  display: flex !important;
  flex-direction: column;
  position: relative;
  transition: transform .15s ease;
}
body.woocommerce-page ul.products li.product:nth-child(n){
  margin: 0 !important;
} /* neutralizza le regole nth-child con margine di Astra/WooCommerce core */
ul.products li.product:hover{ transform: translateY(-4px); }

ul.products li.product a.woocommerce-LoopProduct-link{
  display: flex !important;
  flex-direction: column;
  flex: 1;
  text-decoration: none;
  color: inherit;
}

/* Immagine prodotto */
body.woocommerce-page ul.products li.product img,
.woocommerce ul.products li.product img{
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  aspect-ratio: 4/5;
  object-fit: contain !important;
  object-position: center !important;
  background: var(--auvok-paper) !important;
  padding: 14px;
  border-bottom: 2px solid var(--auvok-ink);
}

/* Badge "Saldi" ridisegnato (vedi filtro woocommerce_sale_flash in functions.php) */
span.onsale.auvok-onsale{
  position: absolute;
  top: 10px;
  left: 10px;
  min-width: 0;
  height: auto;
  line-height: 1;
  border-radius: 0;
  background: var(--auvok-mustard);
  color: var(--auvok-ink);
  font-family: var(--auvok-font-mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: 700;
  padding: 6px 9px;
  border: 1px solid var(--auvok-ink);
  z-index: 2;
}

/* Categoria (mostrata sopra al titolo) */
ul.products li.product .posted_in,
ul.products li.product mark{ background: none; color: inherit; }

/* Titolo prodotto */
ul.products li.product .woocommerce-loop-product__title{
  font-family: var(--auvok-font-display) !important;
  font-weight: 800 !important;
  font-size: 16px !important;
  text-transform: uppercase !important;
  line-height: 1.15;
  margin: 16px 18px 10px;
  padding: 0;
  color: var(--auvok-ink) !important;
}

/* Prezzo */
ul.products li.product .price{
  font-family: var(--auvok-font-mono) !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  color: var(--auvok-ink) !important;
  margin: 0 18px 16px;
  order: 5;
}
ul.products li.product .price del{
  opacity: 0.4;
  font-weight: 400;
  margin-right: 6px;
}
ul.products li.product .price ins{
  text-decoration: none;
}
ul.products li.product .star-rating{ margin: 0 18px 8px; color: var(--auvok-mustard); font-size: 13px; }

/* Pulsante "Aggiungi" nella griglia */
ul.products li.product a.add_to_cart_button,
ul.products li.product a.button{
  font-family: var(--auvok-font-mono) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  text-align: center;
  border: none !important;
  border-top: 2px solid var(--auvok-ink) !important;
  background: var(--auvok-ink) !important;
  color: var(--auvok-white) !important;
  padding: 13px 14px !important;
  margin: auto 0 0;
  border-radius: 0 !important;
  box-shadow: none !important;
  transition: background .15s ease, color .15s ease;
}
ul.products li.product a.add_to_cart_button:hover,
ul.products li.product a.button:hover{
  background: var(--auvok-mustard) !important;
  color: var(--auvok-ink) !important;
}
ul.products li.product a.added_to_cart{
  font-family: var(--auvok-font-mono);
  font-size: 11.5px;
  text-transform: uppercase;
  text-align: center;
  padding: 8px 14px;
  border-top: 1px solid var(--auvok-line);
}

/* ==========================================================================
   3. PAGINAZIONE
   ========================================================================== */
nav.woocommerce-pagination ul{
  border: none !important;
  display: flex;
  gap: 8px;
  margin-top: 50px;
}
nav.woocommerce-pagination ul li{ border: none !important; }
nav.woocommerce-pagination .page-numbers{
  font-family: var(--auvok-font-mono);
  font-size: 13px;
  border: 2px solid var(--auvok-ink) !important;
  padding: 8px 14px;
  display: inline-block;
}
nav.woocommerce-pagination .page-numbers.current,
nav.woocommerce-pagination .page-numbers:hover{
  background: var(--auvok-ink);
  color: var(--auvok-white);
}

/* ==========================================================================
   4. SCHEDA PRODOTTO SINGOLO
   ========================================================================== */
.single-product div.product{
  padding-top: 40px;
  display: grid !important;
  grid-template-columns: 1.05fr 1fr !important;
  gap: 56px !important;
}
/* Tabs, upsell e correlati sono elementi "fratelli" di galleria/riepilogo
   all'interno dello stesso div.product: devono occupare tutta la riga,
   altrimenti la griglia a 2 colonne li spezza a metà. */
.single-product div.product > .woocommerce-tabs,
.single-product div.product > .woocommerce-Reviews,
.single-product div.product > .related.products,
.single-product div.product > .upsells.products{
  grid-column: 1 / -1 !important;
}
.single-product div.product .woocommerce-product-gallery{
  border: 2px solid var(--auvok-ink);
}
.single-product div.product .woocommerce-product-gallery img{
  border-radius: 0;
}
.single-product div.product .summary.entry-summary{
  padding-top: 4px;
}
.single-product div.product .product_title{
  font-family: var(--auvok-font-display);
  font-weight: 900;
  text-transform: uppercase;
  font-size: clamp(28px, 3.6vw, 40px);
  line-height: 1.02;
  margin: 0 0 16px;
}
.single-product div.product p.price,
.single-product div.product span.price{
  font-family: var(--auvok-font-mono);
  font-size: 24px;
  font-weight: 700;
  color: var(--auvok-ink);
}
.single-product div.product p.price del{ opacity: 0.4; font-weight: 400; margin-right: 8px; }
.single-product div.product .woocommerce-product-details__short-description{
  margin: 22px 0;
  font-size: 15px;
  line-height: 1.65;
  opacity: 0.85;
  max-width: 44ch;
}
.single-product div.product .woocommerce-product-rating{ margin-bottom: 18px; }
.single-product div.product .star-rating{ color: var(--auvok-mustard); }

/* Form quantità + aggiungi al carrello */
.single-product form.cart{
  display: flex;
  align-items: stretch;
  gap: 0;
  margin: 26px 0;
  flex-wrap: wrap;
}
.single-product form.cart .quantity{ margin: 0; }
.single-product form.cart .qty{
  height: 100%;
  width: 66px;
  border: 2px solid var(--auvok-ink);
  border-right: none;
  text-align: center;
  font-family: var(--auvok-font-mono);
  font-size: 15px;
  padding: 0 8px;
}
.single-product form.cart .single_add_to_cart_button{
  font-family: var(--auvok-font-mono) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  border: 2px solid var(--auvok-ink) !important;
  background: var(--auvok-mustard) !important;
  color: var(--auvok-ink) !important;
  padding: 0 28px !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transition: box-shadow .15s ease, transform .15s ease;
}
.single-product form.cart .single_add_to_cart_button:hover{
  box-shadow: 5px 5px 0 var(--auvok-ink) !important;
  transform: translate(-3px, -3px);
}

/* Meta (SKU, categorie, tag) */
.single-product .product_meta{
  font-family: var(--auvok-font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  opacity: 0.65;
  border-top: 1px solid var(--auvok-line);
  padding-top: 16px;
  margin-top: 26px;
}
.single-product .product_meta a{ text-decoration: underline; }

/* Tabs (Descrizione, Recensioni) */
.single-product .woocommerce-tabs ul.tabs,
.woocommerce-tabs ul.tabs{
  display: flex !important;
  gap: 6px;
  border-bottom: 3px solid var(--auvok-ink) !important;
  margin: 60px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
  background: none !important;
}
.woocommerce-tabs ul.tabs li{ margin: 0 !important; }
.single-product .woocommerce-tabs ul.tabs li a,
.woocommerce-tabs ul.tabs li a{
  display: inline-block;
  font-family: var(--auvok-font-mono) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em;
  font-size: 13px !important;
  padding: 14px 20px !important;
  border: 2px solid var(--auvok-ink) !important;
  border-bottom: none !important;
  background: var(--auvok-paper) !important;
  color: var(--auvok-ink) !important;
}
.single-product .woocommerce-tabs ul.tabs li.active a,
.woocommerce-tabs ul.tabs li.active a{
  background: var(--auvok-ink) !important;
  color: var(--auvok-white) !important;
}
.woocommerce-tabs .woocommerce-Tabs-panel{
  padding: 34px 0;
  max-width: 70ch;
  font-size: 15px;
  line-height: 1.7;
}
.woocommerce-tabs .woocommerce-Tabs-panel h2{
  font-family: var(--auvok-font-display);
  text-transform: uppercase;
  font-weight: 900;
  font-size: 22px;
}

/* Prodotti correlati / upsell: riusano lo stile della griglia */
.related.products,
.upsells.products{
  margin-top: 70px;
  padding-top: 50px;
  border-top: 3px solid var(--auvok-ink);
}
.related.products > h2,
.upsells.products > h2{
  font-family: var(--auvok-font-display);
  font-weight: 900;
  text-transform: uppercase;
  font-size: clamp(24px, 3.2vw, 34px);
  margin: 0 0 32px;
}

/* ==========================================================================
   5. CARRELLO
   ========================================================================== */
.woocommerce-cart table.shop_table,
.woocommerce-checkout table.shop_table{
  width: 100%;
  border-collapse: collapse;
  border: 2px solid var(--auvok-ink);
  margin-bottom: 30px;
}
.woocommerce-cart table.shop_table th,
.woocommerce-checkout table.shop_table th{
  font-family: var(--auvok-font-mono);
  text-transform: uppercase;
  font-size: 11.5px;
  letter-spacing: 0.05em;
  background: var(--auvok-ink);
  color: var(--auvok-white);
  padding: 14px 16px;
  text-align: left;
}
.woocommerce-cart table.shop_table td,
.woocommerce-checkout table.shop_table td{
  border-top: 1px solid var(--auvok-line);
  padding: 16px;
  font-size: 14.5px;
}
.woocommerce-cart table.shop_table td.product-name a{
  font-family: var(--auvok-font-display);
  font-weight: 800;
  text-transform: uppercase;
}
.woocommerce-cart table.shop_table img{ border: 2px solid var(--auvok-ink); width: 70px; height: auto; }
.woocommerce-cart .quantity .qty{
  border: 2px solid var(--auvok-ink);
  font-family: var(--auvok-font-mono);
  padding: 8px;
  width: 60px;
  text-align: center;
}
.woocommerce-cart table.shop_table td.product-subtotal,
.woocommerce-cart table.shop_table td.product-price{
  font-family: var(--auvok-font-mono);
  font-weight: 700;
}
a.remove{
  color: var(--auvok-ink) !important;
  border: 1px solid var(--auvok-ink) !important;
  background: transparent !important;
  border-radius: 0 !important;
}
a.remove:hover{ background: #c0392b !important; border-color: #c0392b !important; color: var(--auvok-white) !important; }

.cart-collaterals .cart_totals{
  border: 3px solid var(--auvok-ink);
  padding: 26px;
  background: var(--auvok-paper);
}
.cart_totals h2{
  font-family: var(--auvok-font-display);
  font-weight: 900;
  text-transform: uppercase;
  font-size: 22px;
}
.cart_totals table.shop_table{ border: none; }
.cart_totals table.shop_table td, .cart_totals table.shop_table th{ border-top: 1px solid var(--auvok-line); background: transparent; color: var(--auvok-ink); }

/* Pulsanti generali di WooCommerce (aggiorna carrello, procedi al pagamento...) */
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce button[type="submit"]{
  font-family: var(--auvok-font-mono) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  border: 2px solid var(--auvok-ink) !important;
  background: var(--auvok-ink) !important;
  color: var(--auvok-white) !important;
  padding: 14px 24px !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transition: box-shadow .15s ease, transform .15s ease, background .15s ease, color .15s ease;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover{
  box-shadow: 5px 5px 0 var(--auvok-ink) !important;
  transform: translate(-3px, -3px);
}
.woocommerce a.checkout-button,
.woocommerce #place_order{
  background: var(--auvok-mustard) !important;
  color: var(--auvok-ink) !important;
  width: 100%;
  text-align: center;
}

/* ==========================================================================
   6. CHECKOUT
   ========================================================================== */
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2{ width: 47%; }
.woocommerce-checkout h3{
  font-family: var(--auvok-font-display);
  font-weight: 900;
  text-transform: uppercase;
  font-size: 22px;
  border-bottom: 3px solid var(--auvok-ink);
  padding-bottom: 12px;
  margin-bottom: 22px;
}
.woocommerce-checkout .form-row label{
  font-family: var(--auvok-font-mono);
  font-size: 11.5px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  opacity: 0.7;
}
.woocommerce-checkout input.input-text,
.woocommerce-checkout select,
.woocommerce-checkout textarea{
  border: 2px solid var(--auvok-ink);
  border-radius: 0;
  padding: 12px 14px;
  font-family: var(--auvok-font-body);
  font-size: 14px;
}
.woocommerce-checkout input.input-text:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus{
  outline: 3px solid var(--auvok-klein);
  outline-offset: -3px;
}
#payment{ border: 2px solid var(--auvok-ink); background: var(--auvok-paper); }
#payment ul.payment_methods{ border-bottom: 1px solid var(--auvok-line); }
#payment .payment_box{ background: var(--auvok-white); border-top: 1px solid var(--auvok-line); font-size: 14px; }

/* ==========================================================================
   7. IL MIO ACCOUNT
   ========================================================================== */
.woocommerce-account .woocommerce-MyAccount-navigation ul{
  border: 2px solid var(--auvok-ink);
}
.woocommerce-account .woocommerce-MyAccount-navigation li{
  border-bottom: 1px solid var(--auvok-line);
}
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child{ border-bottom: none; }
.woocommerce-account .woocommerce-MyAccount-navigation li a{
  display: block;
  font-family: var(--auvok-font-mono);
  text-transform: uppercase;
  font-size: 12.5px;
  letter-spacing: 0.04em;
  padding: 14px 18px;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{
  background: var(--auvok-ink);
  color: var(--auvok-white);
}
.woocommerce-account .woocommerce-MyAccount-content input.input-text{
  border: 2px solid var(--auvok-ink);
  border-radius: 0;
  padding: 12px 14px;
}

/* ==========================================================================
   8. RESPONSIVE
   ========================================================================== */
@media (max-width: 980px){
  ul.products{ grid-template-columns: repeat(2, 1fr) !important; }
  .single-product div.product{ grid-template-columns: 1fr; gap: 30px; }
  .woocommerce-checkout #customer_details .col-1,
  .woocommerce-checkout #customer_details .col-2{ width: 100%; }
}
@media (max-width: 600px){
  ul.products{ grid-template-columns: 1fr 1fr !important; gap: 14px !important; }
  ul.products li.product .woocommerce-loop-product__title{ font-size: 14px; margin: 12px 12px 8px; }
  ul.products li.product .price{ margin: 0 12px 12px; font-size: 13px; }
}
