/* ============================================================
   COMPATIBILITA' — neutralizza cio' che GeneratePress e WooCommerce
   impongono e che si scontra col nostro impianto.
   Senza questo foglio la griglia prodotti collassa a 92px e il
   contenuto resta stretto in 757px su una finestra da 1470px.
   ============================================================ */

/* --- GeneratePress: chi mette il contenitore, e dove ---
   Regola unica per evitare conflitti:
   .site e .site-content sono SEMPRE pieni;
   .content-area e' pieno dove il nostro template porta gia' un contenitore
   (archivi, prodotto, home), ed e' contenitore dove non lo porta (pagine,
   carrello, checkout, account).
   NON usare overflow-x:hidden su un antenato: romperebbe position:sticky. */
.site.grid-container,.site.container{width:100%!important;max-width:none!important;padding:0!important}
.site-content{display:block!important;padding:0!important;max-width:none!important;width:100%!important}
.inside-article,.entry-content{padding:0!important;margin:0!important}
.separate-containers .site-main{margin:0!important}
.separate-containers .inside-article{padding:0!important}

/* dove il contenitore ce lo mettiamo noi */
.woocommerce-shop .content-area,
.tax-product_cat .content-area,
.tax-pa_marca .content-area,
.single-product .content-area,
.home .content-area,
.search .content-area{width:100%!important;max-width:none!important;padding:0!important;float:none!important}
.site-content > #contenuto,
.site-content > .fs-archivio,
.site-content > .fs-home{width:100%!important;max-width:none!important;float:none!important}
.site-content > #contenuto:not(.faser-contenitore){padding:0!important}

/* dove il contenitore serve al tema padre */
.page .content-area,
.woocommerce-cart .content-area,
.woocommerce-checkout .content-area,
.woocommerce-account .content-area,
.error404 .content-area{
  width:100%!important;max-width:var(--contenitore)!important;
  margin:0 auto!important;float:none!important;
  padding:var(--s6) var(--s4) var(--s16)!important
}
@media(min-width:768px){
  .page .content-area,.woocommerce-cart .content-area,
  .woocommerce-checkout .content-area,.woocommerce-account .content-area,
  .error404 .content-area{padding-left:var(--s6)!important;padding-right:var(--s6)!important}
}

/* --- WooCommerce: via i float, la griglia la facciamo noi --- */
.woocommerce ul.products,
.woocommerce-page ul.products{
  display:grid!important;float:none!important;margin:0!important;
  grid-template-columns:repeat(auto-fill,minmax(210px,1fr))!important
}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none!important}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{
  float:none!important;width:auto!important;margin:0!important;
  clear:none!important;padding:0!important
}
.woocommerce ul.products li.product.first,
.woocommerce ul.products li.product.last{clear:none!important}
.woocommerce ul.products li.product a img{margin:0!important;box-shadow:none!important}
.woocommerce ul.products li.product .price{color:inherit!important;font-size:inherit!important;margin:0!important}
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product .woocommerce-loop-product__title{padding:0!important;font-size:inherit!important}

/* La scheda prodotto singola: stessa cosa sulle due colonne. */
.woocommerce div.product div.images,
.woocommerce div.product div.summary{width:auto!important;float:none!important;margin:0!important}
.woocommerce #content div.product div.images,
.woocommerce #content div.product div.summary{width:auto!important;float:none!important}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0!important;margin:0 0 var(--s5)!important}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{display:none!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  background:none!important;border:0!important;border-radius:0!important;margin:0!important;padding:0!important
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none!important}
.woocommerce div.product form.cart{margin:var(--s2) 0!important}
.woocommerce div.product form.cart::before,.woocommerce div.product form.cart::after{display:none!important}
.woocommerce .related ul.products,.woocommerce .up-sells ul.products{
  grid-template-columns:repeat(auto-fill,minmax(190px,1fr))!important
}

/* Bottoni di WooCommerce: li vestiamo noi. */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce #respond input#submit{
  background:var(--blu-700);color:#fff;border-radius:var(--r);font-weight:600;
  padding:var(--s3) var(--s5);line-height:1
}
.woocommerce a.button:hover,.woocommerce button.button:hover{background:var(--blu-800);color:#fff}
.woocommerce a.button.fs-btn--azione,.woocommerce button.fs-btn--azione{background:var(--azione)}
.woocommerce a.button.fs-btn--azione:hover{background:var(--azione-hover)}
.woocommerce a.button.alt,.woocommerce button.button.alt{background:var(--azione)}
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover{background:var(--azione-hover)}

/* Avvisi */
.woocommerce-message,.woocommerce-info,.woocommerce-error{
  border-top:0!important;border-left:3px solid var(--blu-600);background:var(--blu-050);
  border-radius:var(--r);padding:var(--s4) var(--s5)!important;margin:0 0 var(--s5)!important
}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{display:none!important}
.woocommerce-error{border-left-color:var(--errore-600);background:var(--errore-050)}

/* --- pagine editoriali: testo leggibile, non a tutta larghezza --- */
.page .entry-content > *,
.page .site-main > .entry-content{max-width:78ch}
.page .entry-content h2{margin-top:var(--s8);font-size:var(--t-xl)}
.page .entry-content h3{margin-top:var(--s6);font-size:var(--t-lg)}
.page .entry-content table{width:100%;border-collapse:collapse;font-size:var(--t-sm);margin:var(--s4) 0}
.page .entry-content th{text-align:left;background:var(--sfondo-alt);padding:var(--s3);border-bottom:1px solid var(--bordo)}
.page .entry-content td{padding:var(--s3);border-bottom:1px solid var(--bordo)}
.page .entry-content ul{padding-left:var(--s5)}
.page .entry-content li{margin-bottom:var(--s2)}
.page .entry-title,.page h1{font-size:var(--t-2xl);margin-bottom:var(--s5)}
/* i segnaposto [DA COMPLETARE] devono saltare all'occhio, non mimetizzarsi */
.page .entry-content strong:first-child{color:inherit}


/* --- galleria prodotto: WooCommerce impone miniature al 25% con float --- */
.woocommerce div.product div.images .flex-control-thumbs{
  display:grid!important;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));
  gap:var(--s2)!important;margin:var(--s3) 0 0!important;padding:0!important
}
.woocommerce div.product div.images .flex-control-thumbs::after{display:none!important}
.woocommerce div.product div.images .flex-control-thumbs li{
  width:auto!important;float:none!important;margin:0!important;list-style:none!important
}
.woocommerce div.product div.images .flex-control-thumbs li img{
  width:100%!important;aspect-ratio:1/1;object-fit:contain;padding:var(--s1);
  border:1px solid var(--bordo);border-radius:var(--r);background:#fff;opacity:1
}
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active{border-color:var(--blu-600)}
/* l'immagine principale non deve far diventare la pagina altissima */
.woocommerce div.product div.images .woocommerce-product-gallery__image img{
  max-height:520px;width:100%;object-fit:contain
}
.woocommerce div.product div.images .flex-viewport{border-radius:var(--r-lg)}

.fs-prodotto,.fs-archivio{padding-top:var(--s3)}
