/* ==========================================================================
   Vinoteca — pagina prodotto singolo: layout galleria+riepilogo, tab,
   tabella attributi, prodotti correlati. Solo CSS: nessun template
   WooCommerce sovrascritto, la galleria/tab/prezzo sono tutti markup e
   comportamento core (vedi inc/woocommerce-setup.php per i theme support
   'wc-product-gallery-*' che attivano slider/zoom/lightbox core).
   ========================================================================== */

/* [id^="product-"] e non solo .product: wc_product_class() aggiunge la
   classe "product" anche a ogni .pcard (card nel grid "Prodotti correlati"
   più sotto), che altrimenti verrebbe presa per il contenitore principale
   e trasformata anch'essa in una mini-grid a 2 colonne, rompendone il
   layout interno. L'id "product-<ID>" lo scrive solo il wrapper singolo. */
.single-product div[id^="product-"].product{
  display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;
  padding:36px 0 0;
}

/* galleria */
.woocommerce-product-gallery{background:var(--stone);padding:28px;}
.woocommerce-product-gallery__wrapper{margin:0;}
.woocommerce-product-gallery__image img{width:100%;height:auto;max-height:520px;object-fit:contain;margin:0 auto;}
.flex-control-thumbs{display:flex;gap:10px;margin:16px 0 0;padding:0;list-style:none;}
.flex-control-thumbs li{width:64px;}
.flex-control-thumbs img{border:1px solid var(--rule);cursor:pointer;opacity:.6;}
.flex-control-thumbs img:hover{opacity:1;}
.flex-control-thumbs img.flex-active{opacity:1;border-color:var(--accent);}
.woocommerce-product-gallery__trigger{background:var(--paper);border-radius:0;}

/* riepilogo (titolo, prezzo, form aggiungi al carrello, categorie) */
.summary .product_title{font-size:clamp(1.6rem,3vw,2.2rem);margin-bottom:16px;}
.summary p.price{font-size:1.5rem;font-weight:700;margin:0 0 20px;}
.summary p.price ins{text-decoration:none;color:var(--accent);}
.summary p.price del{color:var(--ink-dim);opacity:.7;font-size:1.05rem;margin-right:8px;}
.woocommerce-product-details__short-description{color:var(--ink-dim);margin-bottom:26px;max-width:44ch;}
.woocommerce-product-details__short-description p:last-child{margin-bottom:0;}

.summary form.cart{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:28px;}
.summary form.cart .quantity{margin:0;}
.summary .quantity .qty{
  width:64px;padding:12px;border:1px solid var(--rule);background:var(--paper);color:var(--ink);
  font-family:"Karla",sans-serif;font-size:1rem;
}

.product_meta{padding-top:20px;border-top:1px solid var(--rule);font-size:.82rem;color:var(--ink-dim);}
.product_meta > span{display:block;margin-bottom:6px;}
.product_meta a{color:var(--ink-dim);text-decoration:underline;text-underline-offset:2px;}
.product_meta a:hover{color:var(--accent);}

/* tab (Informazioni aggiuntive / Recensioni) — comportamento show/hide è
   gestito da WooCommerce core via JS (wc-single-product.js), qui solo lo
   stile della nav e dei pannelli. */
.woocommerce-tabs{grid-column:1 / -1;margin-top:52px;padding-top:8px;border-top:1px solid var(--rule);}
.woocommerce-tabs ul.tabs{display:flex;gap:30px;flex-wrap:wrap;list-style:none;margin:0 0 34px;padding:0;border-bottom:1px solid var(--rule);}
.woocommerce-tabs ul.tabs li{margin:0;}
.woocommerce-tabs ul.tabs li a{
  display:inline-block;padding-bottom:14px;text-decoration:none;
  font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--ink-dim);border-bottom:2px solid transparent;
}
.woocommerce-tabs ul.tabs li a:hover{color:var(--ink);}
.woocommerce-tabs ul.tabs li.active a{color:var(--ink);border-bottom-color:var(--accent);}
.woocommerce-tabs .panel h2{font-size:1.3rem;margin-bottom:22px;}
.woocommerce-tabs .panel{max-width:640px;}

.woocommerce-product-attributes{width:100%;border-collapse:collapse;}
.woocommerce-product-attributes-item{border-bottom:1px solid var(--rule);}
.woocommerce-product-attributes-item__label{
  text-align:left;vertical-align:top;width:180px;padding:14px 20px 14px 0;
  font-weight:700;color:var(--ink);
}
.woocommerce-product-attributes-item__value{padding:14px 0;color:var(--ink-dim);}
.woocommerce-product-attributes-item__value p{margin:0;}

/* recensioni */
.woocommerce-Reviews-title{font-size:1.3rem;}
#reviews .comment-form-rating select,
#reviews .comment-form input[type="text"],
#reviews .comment-form input[type="email"],
#reviews .comment-form textarea{
  width:100%;max-width:480px;padding:12px;margin-top:6px;
  border:1px solid var(--rule);background:var(--paper);color:var(--ink);
  font-family:"Karla",sans-serif;font-size:.95rem;
}
#reviews .comment-form textarea{min-height:120px;}
#reviews .comment-form p{margin-bottom:18px;}

/* prodotti correlati — riusa .product-grid/.pcard di assets/css/shop.css */
.related.products{grid-column:1 / -1;padding:52px 0 8px;border-top:1px solid var(--rule);margin-top:8px;}
.related.products h2{font-size:1.5rem;margin-bottom:26px;}

@media (max-width:760px){
  /* stesso selettore [id^="product-"] della regola base più sopra (non solo
     .product): una specificità più bassa qui perderebbe comunque contro
     quella regola, media query o no — la specificità non dipende
     dall'ordine nel file. */
  .single-product div[id^="product-"].product{grid-template-columns:1fr;gap:32px;}
  .woocommerce-product-attributes-item__label{width:130px;}
}
