/* ============ SCHEDA PRODOTTO ============
   Progettata per reggere anche quando e' povera: un terzo del catalogo
   non ha descrizione e il 29% non ha foto. I blocchi vuoti non si mostrano. */
.single-product .site-content{padding-bottom:var(--s16)}
.woocommerce-notices-wrapper:empty{display:none}

div.product{display:grid;gap:var(--s6) var(--s10);align-items:start;padding-top:var(--s4)}
@media(min-width:900px){div.product{grid-template-columns:minmax(0,52%) minmax(0,1fr)}}

/* --- galleria --- */
.woocommerce-product-gallery{position:relative;min-width:0}
.woocommerce-product-gallery__wrapper{margin:0}
.woocommerce-product-gallery__image{
  border:1px solid var(--bordo);border-radius:var(--r-lg);overflow:hidden;background:#fff
}
.woocommerce-product-gallery__image img{width:100%;height:auto;aspect-ratio:1/1;object-fit:contain;padding:var(--s5)}
.flex-control-thumbs{
  list-style:none;display:flex;flex-wrap:wrap;gap:var(--s2);margin:var(--s3) 0 0;padding:0
}
.flex-control-thumbs li{width:68px}
.flex-control-thumbs img{
  border:1px solid var(--bordo);border-radius:var(--r);cursor:pointer;
  aspect-ratio:1/1;object-fit:contain;padding:var(--s1);background:#fff
}
.flex-control-thumbs img.flex-active{border-color:var(--blu-600)}
.fs-p__nofoto{
  aspect-ratio:1/1;border:1px solid var(--bordo);border-radius:var(--r-lg);
  display:flex;align-items:center;justify-content:center;background:var(--grigio-100)
}

/* --- colonna acquisto --- */
.summary{min-width:0;display:flex;flex-direction:column;gap:var(--s3)}
.fs-p__identita{display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap}
.fs-p__marca{
  font-size:var(--t-sm);font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  color:var(--blu-600)
}
.product_title{font-size:var(--t-2xl);line-height:1.2;margin:0}

.fs-p__codici{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s5);margin:0}
.fs-p__codici > div{display:flex;gap:var(--s2);align-items:baseline}
.fs-p__codici dt{font-size:var(--t-xs);color:var(--testo-tenue);margin:0}
.fs-p__codici dd{margin:0;font-family:var(--font-mono);font-size:var(--t-sm);color:var(--testo)}

.woocommerce-product-details__short-description{color:var(--testo-soft);max-width:60ch}
.woocommerce-product-details__short-description:empty{display:none}

.summary .price{
  font-size:var(--t-3xl);font-weight:700;color:var(--testo);line-height:1.1;margin:var(--s2) 0 0
}
.summary .price del{font-size:var(--t-lg);font-weight:400;color:var(--testo-tenue);margin-right:var(--s2)}
.summary .price .woocommerce-price-suffix{
  display:block;font-size:var(--t-xs);font-weight:400;color:var(--testo-tenue);margin-top:var(--s1)
}
.stock{font-size:var(--t-sm);font-weight:600;margin:0}
.stock.in-stock{color:var(--ok-600)}
.stock.out-of-stock{color:var(--errore-600)}

.fs-p__avviso{
  background:var(--avviso-050);border-left:3px solid var(--avviso-600);
  padding:var(--s3) var(--s4);border-radius:var(--r);font-size:var(--t-sm);margin:0;color:var(--testo)
}

form.cart{display:flex;gap:var(--s3);align-items:stretch;margin:var(--s2) 0}
.quantity{display:flex;flex:none}
.quantity input{
  width:74px;text-align:center;font:inherit;font-weight:600;
  border:1px solid var(--bordo-forte);border-radius:var(--r);min-height:48px
}
.single_add_to_cart_button{
  flex:1;min-height:48px;font-size:var(--t-md);background:var(--azione);color:#fff;
  border:0;border-radius:var(--r);font-weight:700;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--ombra-1)
}
.single_add_to_cart_button:hover{background:var(--azione-hover)}

.summary .fs-fiducia{
  border-top:1px solid var(--bordo);padding-top:var(--s4);margin-top:var(--s2)
}

/* --- sezioni sotto --- */
.fs-p__sezione{margin-top:var(--s12)}
.fs-p__sezione > h2{font-size:var(--t-xl);margin-bottom:var(--s4)}
.fs-p__doc{list-style:none;margin:0;padding:0;display:grid;gap:var(--s2);grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.fs-p__doc a{
  display:block;padding:var(--s3) var(--s4);border:1px solid var(--bordo);
  border-radius:var(--r);font-size:var(--t-sm);font-weight:600
}
.fs-p__doc a:hover{border-color:var(--blu-500);text-decoration:none}

/* --- linguette --- */
.woocommerce-tabs{margin-top:var(--s12)}
.wc-tabs{
  list-style:none;display:flex;gap:var(--s1);margin:0 0 var(--s5);padding:0;
  border-bottom:1px solid var(--bordo);flex-wrap:wrap
}
.wc-tabs li a{
  display:block;padding:var(--s3) var(--s5);font-weight:600;font-size:var(--t-base);
  color:var(--testo-tenue);border-bottom:3px solid transparent;margin-bottom:-1px
}
.wc-tabs li.active a{color:var(--blu-800);border-bottom-color:var(--azione)}
.woocommerce-Tabs-panel{max-width:78ch}
.woocommerce-Tabs-panel h2{display:none}
.woocommerce-Tabs-panel h3{font-size:var(--t-lg);margin-top:var(--s6)}

/* tabella tecnica: generata dagli attributi, mai scritta a mano */
table.shop_attributes,table.sn-specs{
  width:100%;border-collapse:collapse;font-size:var(--t-sm);max-width:78ch
}
table.shop_attributes th,table.sn-specs th{
  text-align:left;padding:var(--s3);background:var(--sfondo-alt);font-weight:600;
  width:38%;vertical-align:top;border-bottom:1px solid var(--bordo)
}
table.shop_attributes td,table.sn-specs td{
  padding:var(--s3);border-bottom:1px solid var(--bordo);vertical-align:top
}
table.shop_attributes tr:last-child th,table.shop_attributes tr:last-child td,
table.sn-specs tr:last-child th,table.sn-specs tr:last-child td{border-bottom:0}
table.shop_attributes p,table.sn-specs p{margin:0}

.related.products,.up-sells{margin-top:var(--s12)}
.related.products > h2,.up-sells > h2{font-size:var(--t-xl);margin-bottom:var(--s4)}

/* --- tabs, correlati e sezioni sono figli di div.product: senza questo
       finiscono nelle celle della griglia a due colonne invece che sotto --- */
.woocommerce div.product > .woocommerce-tabs,
.woocommerce div.product > .related,
.woocommerce div.product > .up-sells,
.woocommerce div.product > .fs-p__sezione,
div.product > .woocommerce-tabs,
div.product > .related,
div.product > .up-sells,
div.product > .fs-p__sezione{grid-column:1/-1}

/* le linguette di WooCommerce arrivano senza stile utile: le rifacciamo */
.woocommerce div.product .woocommerce-tabs ul.tabs{
  display:flex!important;gap:var(--s1);border-bottom:1px solid var(--bordo);
  list-style:none;flex-wrap:wrap
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  display:block;padding:var(--s3) var(--s5);font-weight:600;color:var(--testo-tenue);
  border-bottom:3px solid transparent;margin-bottom:-1px;text-decoration:none
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{
  color:var(--blu-800);border-bottom-color:var(--azione)
}
.woocommerce div.product .woocommerce-tabs .panel{margin:0;padding:0}
