/*
Theme Name: Shoptimizer Child Theme
Theme URI: 
Description: Child theme of Shoptimizer
Author: CommerceGurus
Author URI: 
Template: shoptimizer
Version: 1.2.2
Text Domain:  shoptimizer
License: 	GNU General Public License v2 or later
License URI: 	http://www.gnu.org/licenses/gpl-2.0.html
*/

/* Stili generali */
h6 {
    font-size: 0.6em;
    line-height: 1.3em;
    font-weight:lighter;
    }

blockquote p {
    font-weight: lighter;
    font-size: 1em;
    line-height: 1.35;
    font-style: italic;
    border-left: 1px dotted lightgray;
    padding-left: 20px;
}

footer.site-footer a:not(.button) { color: #dbdbdb !important; }
footer.copyright {background-color: #dbdbdb !important; color:#111 !important;}

@media (max-width: 992px) {
	footer.copyright {margin-top:0px !important;}	
	footer.copyright .widget:last-child {
    	text-align: left;
	}
	footer.copyright .widget:last-child img {
        margin: 0 auto 10px 0 !important;
    }
}

/* hover */
.gv-account-inline a:hover { text-decoration: underline; }

/* MOBILE: fallback in colonna */
@media (max-width: 768px) {
  .gv-account-hello {
    position: static;
    display: block;
    margin-bottom: 2px;
  }
  .gv-account-inline {
    display: block;
  }
}

/* ------------------------------- sezione vantaggi sito ------------------------- */

#custom_html-2 {padding:0px !important; width:100%; margin-bottom:5px;}
#custom_html-2 > div > section.benefits {padding: 0px 0px 16px 0px !important;}

:root{
  --brand:#1b6b2a;
  --ink:#1c1c1c;
  --muted:#cfd6cf;
  --bg:#fff;
}

.benefits{ background:var(--bg); padding:32px 16px; }

.benefits__grid{
  display:grid;
  gap:12px;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  max-width:1200px; margin:0 auto;
}

.benefit{
  /* border:1px solid var(--muted);
  border-radius:18px;*/
  padding:5px 5px 5px 10px;
  background:#fff;
  transition:.25s ease;
  /* layout orizzontale: img a sx, titolo e testo a dx */
  display:grid;
  grid-template-columns:30px 1fr;    /* img max 50px */
  grid-template-rows:auto auto;      /* riga 1: titolo, riga 2: testo */
  column-gap:8px;
  align-items:start;
  text-align:left;
}
.benefit:hover{
  transform:translateY(-2px);
  box-shadow:0 6px 24px rgba(0,0,0,.06);
}

/* immagine a sinistra, sempre max 50px, su due righe */
.ico-img{
  width:30px; height:30px;
  object-fit:contain;
  border-radius:8px;   /* se vuoi rotonda: 50% */
  grid-row:1 / span 2;
}

/* Titolo: 1 riga, taglio con ellissi */
.benefit h3{
  margin:0px;
  font-weight:700;
  font-size:0.9em;     /* richiesto */
  line-height:1.2em;
  color:var(--brand);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  min-width:0;         /* necessario in grid per far funzionare l'ellissi */
  grid-column:2; grid-row:1;
}

/* Testo su riga sotto */
.benefit p{
  margin:0;
  color:var(--ink);
  opacity:.85;
  font-size:0.8em !important;
  letter-spacing:-0.5px;
  line-height:1.15 !important;
  grid-column:2; grid-row:2;
  padding-left:0px  !important;
}			

@media (max-width: 992px){
  	/* usa l'ID del tuo widget HTML personalizzato */
  	#custom_html-2.widget_text.widget_custom_html{
    grid-column: 1 / -1 !important;   /* span su entrambe le colonne del parent */
    width: 100%;
  }
}
/* A 768px e meno: mantieni 2 colonne invece di 1 */
@media (max-width: 768px){
  	.benefits__grid{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px;
  }
}

/* Solo per schermi molto stretti (<480px): 1 colonna */
@media (max-width: 480px){
  .benefits__grid{
    /* grid-template-columns: 1fr !important;*/
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px;
  }
  .benefit {
    padding: 5px 0px 5px 0px;
    grid-template-columns: 22px 1fr;
    grid-template-rows: auto auto;
    column-gap: 5px;
	}
	.benefit p {
    font-size: 0.75em !important;
    }
}
@media (max-width: 410px){
  .benefits__grid{
    grid-template-columns: 1fr !important;
  }
  .benefit {
    padding: 5px 5px 0px 10px;
    grid-template-columns: 25px 1fr;
    grid-template-rows: auto auto;
    column-gap: 8px;
	}
	.benefit p {
    font-size: 0.85em !important;
    }
}

/* -------------------------------  header  ------------------------------- */

@media (min-width: 993px) {

	/* 1) Header principale come flex, wrap abilitato */
	.main-header.col-full {
	  display: flex;
 	 flex-wrap: wrap;
	  align-items: center;
	}

	/* 2) Logo a sinistra */
	.site-branding {
	  order: 1;
	  flex: 0 0 auto;
	}

	/* 3) Search al centro (margin auto sui lati) */
	.site-search {
 	 	order: 2;
 	 	flex: 0 1 400px;         /* si può ridurre o aumentare */
	  	margin: 0 auto;          /* spinge search al centro */
	  	max-width: 670px;        /* regola a piacere */
	}

	/* 4) Minicart sempre a destra */
	.site-header-cart {
  		order: 3;
  		flex: 0 0 auto;
  		margin-left: auto;       /* lo spinge fino al bordo destro */
	}

	/* -------------------------------  menu secondario e primario  ------------------------------- */
	.secondary-navigation {
	  order: 4;
	  width: 100%;
	  margin-top: 2.2rem;        /* distanza dalla riga sopra */
	  display: flex;
	  justify-content: center; /* centra i suoi <ul> figli */
	}

	/* (facoltativo) contenuto del menu centrato */
	.secondary-navigation .menu {
	  display: inline-flex;
	}
	.secondary-navigation .menu li a {
	  padding-top: 0px !important;
	}

    .shoptimizer-primary-navigation {
        /* justify-content: center; */
        display:block;
    }
    .secondary-navigation .menu-item {
        padding: 0 3px;
        border-left: 0px;
    }
}

@media (min-width: 993px) and (max-width: 1070px) {
    .menu-primary-menu-container > ul > li.menu-item-has-children > a:after {
        margin-left: 3px;
	}
	.menu-primary-menu-container > ul > li > a {
		padding-left: 0.5em;
		padding-right: 0.5em;
		letter-spacing: -0.2px !important;
	} 
	.shoptimizer-primary-navigation {
		padding-left:1.35em;
		padding-right:1.35em;
	}
}

.sotto_header1 a {font-weight:bold;}

.sotto_header1 {
  display: block;
  width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 14px;      /* dimensione massima */
  line-height: 1.2;
}

.secondary-navigation {
        padding-left: 0px;
    }

#menu-menu-rapido {margin-left:-30px; margin-right:-30px;}
#menu-menu-rapido li a {font-weight:bold;letter-spacing:-0.6px;padding: 0.7em 0.3em 0;}
#menu-menu-rapido li a:hover {color: #236431; text-decoration:underline; text-underline-offset: 0.25em;}
#menu-menu-rapido li a::before {color: #000000;}

.ordine-rapido-desktop a::before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 18px;
  background-image: url('/wp-content/themes/shoptimizer-child-theme/icone-gv/icon_fast_package_100x100.webp');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-right: 3px;
  vertical-align: sub;
}

.crea-il-tuo-programma-desktop a::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  background-image: url('/wp-content/themes/shoptimizer-child-theme/icone-gv/configuratore_100x100.webp');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-right: 3px;
  vertical-align: text-bottom;
}

.shop-desktop a::before,
.pagamenti-e-spedizioni-desktop a::before, .news-desktop a::before,
.lavora-con-noi-desktop a::before, .richiedi-una-consulenza-online-desktop a::before,
.gv-account-item a::before {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;          /* solid */
  display: inline-block;
  margin-right: 5px;
  font-size:0.9em;
  opacity:0.7;
}
.shop-desktop {margin-right:10px;}
.shop-desktop a::before {
   content: "\f290";  
   opacity:1;   
}
.news-desktop a::before {
   content: "\f1ea";  
}
.pagamenti-e-spedizioni-desktop a::before {
   content: "\f09d";  
}
.lavora-con-noi-desktop a::before {
   content: "\f201";  
}
.richiedi-una-consulenza-online-desktop a::before {
	 content: "\f590"; 
}


/* ------------------------------- stili x link a mio account -------------------- */
/* il li della voce "Account" diventa il riferimento per il posizionamento assoluto */
/* il li resta inline come gli altri, non deve crescere */
.gv-account-item {
  display: inline-block !important;
  position: relative;
  vertical-align: middle;
  white-space: nowrap;
}

.gv-account-item a::before {
	 content: "\1F464"; 
}

/* Icona logout solo per Esci */
.gv-account-logout::before {
  content: "\f2f5" !important; /* fa-sign-out-alt */
}

/* contenuto principale (Account | Esci) in linea */
.gv-account-inline {
  display: inline-flex;
  align-items: center;
  gap: .35em;
  white-space: nowrap;
}

/* reset link dentro: devono restare inline */
.gv-account-inline a {
  display: inline !important;
  padding: 0 !important;
  margin: 0;
  line-height: 1.2;
  background: none;
}

/* separatore */
.gv-account-inline .sep {
  display: inline;
  margin: 0 .3em;
  opacity: .6;
}

/* nascondi icon-wrapper inutile */
.gv-account-inline .icon-wrapper { display: none !important; }

/* "Ciao Nome" assoluto sopra, NON influisce sull'altezza */
.gv-account-hello {
  position: absolute;
  top: -1.2em;   /* regola questo valore per spostarlo su/giù */
  left: 0;
  font-size: .75em;
  color: #666;
  white-space: nowrap;
  line-height: 1;
}

.gv-account-item.gv-account-loggedin {
  margin-top: -2.5px;
}


/* sub menu desktop */  

@media (min-width: 993px) {	
	.main-navigation ul.menu li.full-width > .sub-menu-wrapper {
    	left: 7%;
        width: 86%;
         box-shadow: 0 8px 16px rgba(0,0,0,0.25),   /* ombra sotto */
              8px 0 16px rgba(0,0,0,0.15),   /* ombra destra */
             -8px 0 16px rgba(0,0,0,0.15);   /* ombra sinistra */
      
    }
    .main-navigation ul li.full-width > .sub-menu-wrapper > .container > ul.sub-menu {
		justify-content: space-evenly;
		padding-left: 18px;
		padding-right:18px;
    }
    
    .main-navigation ul li.full-width > .sub-menu-wrapper > .container > ul.sub-menu > li {
        width: 32%;
        padding-right: 2%;
        padding-left: 2%;
    }
    .main-navigation ul li.full-width > .sub-menu-wrapper > .container > ul.sub-menu > li:first-child {
    	width: 36%;
    }
    #menu-navigazione-desktop {
    	display: flex;
    	justify-content: space-evenly; 
    }
    li.menu-item-object-custom > a.sub-menu-link {
    	padding-bottom:10px;
    }
    li.menu-item-object-custom > div.widget_products > ul.product_list_widget > li {
    	padding:0.2rem 0;
    	}
    li.menu-item-object-custom > div.widget_products > ul.product_list_widget > li > a {
    	/* color:#38ba00; */
    	cursor:pointer;
    	letter-spacing: -0.2px;
    	}
    .product_list_widget li img {
    	max-width: 3.0rem;
    	margin: 3px 0 10px 3px;
	}
	
	li.menu-item-object-custom > div.widget_products > ul.product_list_widget > li > span {
	line-height:1.3;
	}
	
    .main-navigation ul.menu li.full-width > .sub-menu-wrapper li.menu-item-has-children > a,
    .main-navigation ul.menu li.full-width > .sub-menu-wrapper li.heading > a {
    text-align:center;
    }
    .main-navigation ul.menu li.full-width li.heading {
        padding-top: 0px;
    }
  	li.menu-item-product > div > ul > li > div.woocommerce-card__header > div.gv-product-excerpt {
  		font-size: clamp(0.6rem, 0.7rem, 0.8rem);
  		line-height:1.3;
  		display: -webkit-box;        /* definisce il box flessibile */
  		-webkit-line-clamp: 3;       /* numero massimo di righe */
  		-webkit-box-orient: vertical;/* orientamento verticale */
  		overflow: hidden;            /* nasconde il testo in eccesso */
  		margin-bottom:10px;
  	}
	.cgkit-as-wrap-plp .cgkit-attribute-swatches .cgkit-attribute-swatch.cgkit-button button {
	    font-size: 10px;
    	letter-spacing: -0.5px;
    }
	.cgkit-as-wrap-plp .cgkit-attribute-swatches .cgkit-attribute-swatch.cgkit-button button.button-fluid {
    	padding: 9px 6px;
	}
	/* ul.sub-menu,
	li.menu-item-product,
	li.menu-item-product > div,
	li.menu-item-product > div > ul,
	li.menu-item-product > div > ul > li,
	li.menu-item-product > div > ul > li > div.woocommerce-card__header {
		margin-bottom:0px;
	} */
	li.menu-item-product > div > ul > li > div.woocommerce-card__header > div.cgkit-as-single-atc-wrap.cgkit-as-loop-atc-wrap {
		padding-bottom:50px;
		margin-bottom:-50px;
	}
	li.menu-item-product > div > ul > li > div.woocommerce-card__header > div.woocommerce-loop-product__title > a,
	div.cgkit-as-wrap-plp > fieldset > ul > li > button,
	li.menu-item-product > div > ul > li > div.woocommerce-card__header > div.cgkit-as-single-atc-wrap.cgkit-as-loop-atc-wrap a {
		cursor:pointer;
	}
	li.menu-item-product > div > ul > li > div.woocommerce-card__header > div.woocommerce-loop-product__title > a {
		color: #38ba00 !important;}
	ul.sub-menu > li.menu-item-product > div > ul > li > div.woocommerce-image__wrapper {
		cursor:pointer;
		}
	ul.sub-menu > li.menu-item-product > div > ul > li > div.woocommerce-image__wrapper > a > div > div > img {
		width:60%;
		margin-left:20%;
		margin-right:20%;	
	}
	.categoria_primaria::before {
		content: "\f138";
		font-family: "Font Awesome 5 Free";
		font-weight: 900;
		font-size: 16px;
		color: #236431;
		margin-right: 5px;
		float: left;
	}
	.sottocategoria {
		margin-left: 7px;
		padding-left: 13px; 
		line-height:1.3;
		padding-bottom:5px;
		padding-top:5px;
		border-left: 1px solid lightgray;
	}
	.categoria_primaria  span {
		font-size: 16px;
		color: #222;
		font-weight:400;
	}
	.sottocategoria  span {
		font-size: 16px;
	}
	
	.gv-icon-text {
	  display: flex;
	  align-items: center;
	  padding: 5px 0px 15px 0;
	  border-bottom: 1px dotted lightgray;
	  margin-bottom: 15px;
	}
	
	.gv-icon-text .gv-icon {
	  width: 75px;
	  height: auto;
	  flex-shrink: 0;
	  margin-left:-10px
	}
	
	.gv-icon-text a {
	  display: flex;
	  align-items: center;
	  text-decoration: none;
	  /* color: inherit; */
	}
	
	.gv-icon-text a p {
	  padding-left: 4px;
	  margin: 0;
	  line-height: 1.4;
	}
	
	.gv-icon-text .gv-text {
	  font-size: clamp(14px, 1.5vw, 16px);
	  font-weight: bold;
	 /*  color: #333; */
	}
	
	.gv-icon-text .gv-text2 {
	  font-size: 14px;
	  color: #000; 
	  display: block;
	  line-height: 1.2;
	  letter-spacing:-0.3px;
	}
	/* #secondary {width:250px !important;}
	#primary {width: calc(100% - 320px) !important;}
	*/
	#secondary > div.widget_product_categories{
		padding-top:25px;
	}
	div.widget_product_categories ul.product-categories li {
		font-size:14px;
	}
}

/* @media (min-width: 993px) and (max-width: 1150px) {
	#primary {
		width: calc(100% - 280px) !important;
	}	
}*/
/* ---------------- */

@media (max-width: 992px) {
    body.theme-shoptimizer .site-header .custom-logo-link img, body.wp-custom-logo .site-header .custom-logo-link img {
        height: clamp(31px, 9.4vw, 40px) !important; /*10.0vw*/
    	width: auto;
        margin-left: 28px; /*25*/
        margin-top: -10px;
    }
    .menu-toggle .bar-text {
    	margin-top: 6px;
        font-size: 14px;
        font-weight:900;
        letter-spacing: -0.03em;
    }
    
      /* Selettore al terzo span dentro #gv-top-dx-mobile (tel label) */
  /* Il secondo span “Tel.” → non ci serve, è vuoto */
  /* Il terzo span (last‐of‐type) contiene il numero */
  #gv-top-dx-mobile span:last-of-type {
    font-size: clamp(
      1.4em,  
      calc(
        1.4em                                    /* partenza */
        + (2.2 - 1.4)                            /* delta totale = 0.8em */
          * ((100vw - 360px) / (768 - 360))      /* proporzione su 408px */
      ),  
      2.2em                                     /* tetto a 768px */
    ) !important;
  }
}



#gv-top-mobile-wrapper {
  display: flex;
  align-items: center;
  /* se vuoi che vadano a capo sotto una certa larghezza: */
  flex-wrap: wrap;
}

#gv-top-sx-mobile {
  /* riempie tutto lo spazio libero */
  flex: 1 1 auto;
  min-width: 0; /* importantissimo per permettere il shrink su contenuti lunghi */
  text-align: left;
}

#gv-top-dx-mobile {
  /* occuperà solo quanto serve al suo contenuto */
  flex: 0 0 auto;
  text-align: right;
}

@media (min-width: 769px) {
	#gv-top-sx-mobile, #gv-top-dx-mobile, #gv-top-center-mobile, #gv-top-mobile-wrapper, #gv-top-mobile-bottom {display:none;}
}
@media (min-width: 650px) {
	#gv-top-center-mobile {display:none;}
	#gv-top-mobile-wrapper {padding: 7px 0px;}
}
@media (max-width: 768px) {
	#gv-top-sx/*, #gv-top-dx, #gv-top-center */{display:none;}
}
@media (max-width: 649px) {
	#gv-top-center {display:none;}
	#gv-top-mobile-wrapper {padding: 12px 0px 0px 2px;}
}

@media (max-width: 359px) {
  /* Primo span (orig. 13px) */
  #gv-top-sx-mobile span:first-child {
    font-size: clamp(8px, 3.5vw, 13px) !important;
  }

  /* Secondo span (orig. 16px) */
  #gv-top-sx-mobile span:last-child {
    font-size: clamp(10px, 4.3vw, 16px) !important;
  }
}

@media (min-width: 451px) {
	#gv-top-dx-mobile {display:none;}
}
@media (max-width: 450px) {
	#gv-top-dx {display:none;}
}
@media (min-width: 451px) and (max-width: 649px){
	#gv-top-dx {margin-top:-34px;}
}
@media (min-width: 650px) and (max-width: 768px){
	#gv-top-center {margin-bottom:-44px;}
	#gv-top-dx {margin-top:-41px;}
}
#gv-top-mobile-bottom {display:none;}

#sped1_topbar::before, #sped2_topbar::before,
#tel1_topbar::before, #tel2_topbar::before {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;          /* solid */
  display: inline-block;
  margin-right: 0.3em;
}

/* Icona “spedizione” (fa-shipping-fast – Unicode f48b) */
#sped1_topbar::before, #sped2_topbar::before {
  content: "\f48b";
}

/* Icona “telefono” (fa-phone – Unicode f095) */
#tel1_topbar::before, #tel2_topbar::before {
  content: "\f095";
  font-size: 0.8em;
  vertical-align: middle;
}



/* ---------- Stili per titoli dei menu nel mobile ---------- */

#custom_html-6 > span,
#nav_menu-6 > span,
#gv_menu_submenuwrap_widget-2 > span,
#nav_menu-8 > span {
  font-size: 13px;
  font-weight: lighter;
  margin-top: 20px;
  color: #236431;
}

#nav_menu-8 > span {
  margin-top: 15px;
  border-top: 1px dotted lightgray;
  padding-top:15px;
  padding-bottom:5px;
}

/* ---------- modifiche ai titoli dei menu e dei container nel mobile ---------- */

#nav_menu-6 > span { display: none; }
#gv_menu_submenuwrap_widget-2 {
  margin-top: 15px;
  border-top: 1px dotted lightgray;
}
#gv_menu_submenuwrap_widget-2 > span {
  margin-top: 15px;
}

div.mobile-extra {
  margin-top: 10px;
  border-top: 1px dotted lightgray;
  padding-top: 0px;
}

/* ---------- Stili per le voci dei menu nel mobile ---------- */

#menu-in-evidenza, #menu-navigazione-1, #menu-prodotti-per-tipo {
  font-weight: bold;
}

#menu-home li a {
	font-size: 18px;
}

#menu-home li a span {
	vertical-align: middle;
	color: #38ba00;
}
.gv-label-row span::before {
	color: #236431;
	}

.gv-label {
	font-size: 18px;
}

@media (max-width: 992px) {
    .mobile-extra ul li {
        margin-bottom: 0.65rem;
    }
	/* ---------- html Crea il tuo PROGRAMMA nei menu mobile ----------- */
	
	.gv-sidebar-buttons {
	  display: grid;
	  grid-template-columns: 1fr 1fr; /* 2 colonne uguali */
	  gap: 10px; /* spazio tra i bottoni */
	  padding-right:4px;
	  margin-bottom:16px;
	}

	.gv-sidebar-buttons .gv-btn {
	  display: flex;
	  justify-content: center;
	  align-items: center;
	  padding: 8px 8px;
	  background-color: #38ba00;
	  color: #fff !important;
	  font-weight: bold;
	  text-align: center;
	  text-decoration: none;
	  border-radius: 6px;
	  transition: background-color 0.3s ease;
			  line-height: 1.2em;
			font-size: 16px;
			letter-spacing: -0.5px;
	}

	.gv-sidebar-buttons .gv-btn2 {
			  display:flex !important;              /* evita che diventi grid */
	  flex-direction:column;
			justify-content: center;
			align-items: center;
			padding: 8px 8px;
			background-color: #fff;
			color: #38ba00 !important;
			font-weight: bold;
			text-align: center;
			text-decoration: none;
			border-radius: 6px;
			border: 1px solid;
			transition: background-color 0.3s ease;
			line-height: 1.2em;
			font-size: 14px;
			letter-spacing: -0.5px;
			border-color: #38ba00;
	}
	
	.gv-sidebar-buttons .gv-btn:hover, .gv-sidebar-buttons .gv-btn2:hover {
	  background-color: #2e9900;
	  color:#ffffff !important;
	}
	
	.gv-sidebar-buttons .gv-btn.gv-full, .gv-sidebar-buttons .gv-btn2.gv-full {
	  grid-column: span 2; /* Occupa entrambe le colonne */
	}
	
	.gv-sidebar-buttons .gv-btn.gv-half, .gv-sidebar-buttons .gv-btn2.gv-half {
	  grid-column: span 1; /* Occupa solo una colonna */
	}
	
	/* Sottotitolo senza usare tag: viene da data-sub */
	.gv-lines{ display:block; text-align:center; width:100%;}         /* diventa block container */
	.gv-lines::first-line{
	  font-size:13px !important;
	  font-weight:400;
	  color:#000;
	}
	
	
	.gv-icon-text {
	  display: flex;
	  align-items: center;
	  padding: 5px 0px 15px 0;
	  border-bottom: 1px dotted lightgray;
	  margin-bottom: 15px;
	}
	
	.gv-icon-text .gv-icon {
	  width: 60px;
	  height: auto;
	  flex-shrink: 0;
	}
	
	.gv-icon-text a {
	  display: flex;
	  align-items: center;
	  text-decoration: none;
	  color: inherit;
	}
	
	.gv-icon-text a p {
	  padding-left: 10px;
	  margin: 0;
	  line-height: 1.4;
	}
	
	.gv-icon-text .gv-text {
	  font-size: 15px;
	  font-weight: bold;
	  color: #333;
	}
	
	.gv-icon-text .gv-text2 {
	  font-size: 14px;
	  color: #555;
	  display: block;
	  line-height: 1.2;
	}
}

/* ---------- stili per carrello e checkout nel menu mobile ----------- */

/* div.shoptimizer-mobile-menu ul li a {color: #1e68c4;}*/

/* #menu-home li.menu-item-home a::before */
#menu-home li.gv-home a::before {
 /* font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f015"; */
  display: inline-block;
  margin-right: 2px;
  /* font-size: 14px*/;
  color: #236431;
  width: 20px;
  height: 20px;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23236431"><path d="M12 3l9 7h-3v9h-5v-6H11v6H6v-9H3l9-7z"/></svg>') no-repeat center / contain;
  content:'';
   vertical-align: middle;
}

#menu-home {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* #menu-home li.menu-item-home 
#menu-home li.gv-home {
  flex: 0 0 100%;
}
*/

/* #menu-home li.menu-item-home */
#menu-home li.gv-home, #menu-home li.gv-account-item {
  flex: 1 1 50%;
  display: flex;
	justify-content: flex-start;
  padding: 4px 0;
  
}
#menu-home li.gv-account-item {
	display: inline-flex !important;
	}

#menu-home li.gv-account-item.gv-account-loggedin a{
	font-size:13px;
	text-decoration:none;
	font-weight:bold;
	color:#38ab00;
}
#menu-home li.gv-account-item a::before{
	color:#236431;
}
#menu-home span.gv-account-inline .sep {
    margin: 0;
}
#menu-home span.gv-account-hello {
    top: 0px;
}
#menu-home li.gv-account-item.gv-account-loggedin {
    margin-top: 4px;
}

#menu-home li.gv-carrello,
#menu-home li.gv-checkout {
  flex: 1 1 50%;
  display: flex;
  justify-content: flex-start;
  padding: 4px 0;
}

#menu-home li.gv-carrello a,
#menu-home li.gv-checkout a {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-decoration: none;
  color: #000;
}

.gv-label-row {
  display: flex;
  align-items: center;
  gap: 6px;
  font-weight: bold;
  font-size: 14px;
  line-height: 1.2;
}

.gv-cart-info,
.gv-checkout-info {
  font-size: 12px;
  font-weight: normal;
  color: #666;
  margin-left: 22px;
  margin-top: 2px;
}

/* ---------- Icone monocromatiche stilizzate nei menu mobile ----------- */

.menu-evidenza a[href*="ordine-rapido"]::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  background-image: url('/wp-content/themes/shoptimizer-child-theme/icone-gv/icon_fast_package_100x100.webp');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-right: 8px;
  vertical-align: text-bottom;
  color:#236431 !important;
}
.menu-evidenza a[href*="ordine-rapido"] {font-size:18px;color:#38ba00 !important;}
.vuoi-un-consiglio a {font-size:16px;}
.vuoi-un-consiglio {border-top: 1px dotted lightgray;padding-top: 0.75em;}

.vuoi-un-consiglio a::before {
/*  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  background-image: url('/wp-content/themes/shoptimizer-child-theme/icone-gv/consultation_icon_100x100.webp');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-right: 8px;
  vertical-align: text-bottom;
*/
  margin-right: 11px;
  margin-left:2px;
  vertical-align: text-bottom;
  font-size:15px;
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f590";
  }
#gv-shop-toggle-mobile::before, #gv-shop-toggle-mobile1::before {
  margin-right: 11px;
  margin-left:2px;
  vertical-align: top;
  font-size:15px;
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f290";
  color:#236431;
  }
  
#gv-shop-toggle-mobile::after, #gv-shop-toggle-mobile1::after {  
position: absolute;
        right: 34px;
  font-size:15px;
  content: "\f054";
font-family: "Font Awesome 6 Free";
font-weight: 900; /* solid */
color:#666;
}

#gv-shop-toggle-mobile, #gv-shop-toggle-mobile1 {   
        padding-left: 22px;
        margin-top:10px;
        margin-bottom:10px;
        font-family: 'Helvetica', 'Arial', sans-serif !important;
        font-size:18px;
        letter-spacing:0px;
        font-weight:bold;
        text-transform: none;
        line-height: 18px;
        height: 56px;
        box-shadow:none;
        color:#38ba00;
}
#gv-shop-toggle-mobile > span, #gv-shop-toggle-mobile1 > span {   
        font-weight:normal;
        font-size:14px;
        pointer-events: none;
}
.gv-widget-mobile-menu > li.menu-item-has-children > a::before {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  display: inline-block;
  margin-right: 6px;
  font-size: 13px;
  vertical-align: text-bottom;
  color: #666;
  width: 16px;
}


/* 1) Nasconde di default la sidebar iniettata e la posiziona fuori schermo */
.gv-secondary-wrapper {
  position: fixed;
  top: 0; bottom: 0;
  width: 300px;
  height: 100%;
  background: #fff;
  z-index: 9999;
  overflow-y: auto;
  box-shadow: -2px 0 6px rgba(0,0,0,0.1);
  padding: 0 15px;
  -webkit-overflow-scrolling: touch;

  /* la sposto completamente a destra (fuori viewport) */
  transform: translateX(-100%);
  transition: transform 0.35s ease 0.1s;
}

#woocommerce_product_categories-1 > span.widget-title {display:none;} 
div.widget_product_categories ul.product-categories li {color: #236431 !important;}

@media (max-width:992px) {
	div.widget_product_categories ul.product-categories li {
		font-size:16px;
	}
}

div.widget_product_categories ul.product-categories li.cat-parent::before {
	content: "\f138";
	font-family: "Font Awesome 5 Free";
	font-weight: 900; /* solid */
	font-size:16px;
	color: #236431;
	margin-right:5px;}
div.widget_product_categories ul.product-categories li ul.children li {
	font-weight:bold;
	list-style: none;
  	position: relative;
  	letter-spacing: -0.5px;
  	line-height: 1.2em;
    padding-bottom: 8px;
	}
div.widget_product_categories ul.product-categories li ul.children li a {	
	color: #38ba00 !important;
	}
	
.wc-block-product-categories-list.wc-block-product-categories-list--depth-1, .widget_product_categories ul .children {
    border-left: 1px solid #ddd;
    }
/* div.widget_product_categories ul.product-categories li ul.children li::before {
	content:"-";
	font-weight:normal;
  	position: absolute;
  	left: 0;
  	top: 0;
  	width: 1.2em;
  	display: inline-block;
  	}
*/

/*
.gv-secondary-wrapper::-webkit-scrollbar {
  width: 10px;
}


.gv-secondary-wrapper::-webkit-scrollbar-track {
  box-shadow: inset 0 0 5px grey; 
  border-radius: 5px;
}
 

.gv-secondary-wrapper::-webkit-scrollbar-thumb {
  background: gray; 
  border-radius: 5px;
}


.gv-secondary-wrapper::-webkit-scrollbar-thumb:hover {
  background: #b30000; 
}
*/
#woocommerce_products-2 {margin-top:25px;}
#woocommerce_products-2 > span.widget-title {font-size:16px;font-weight:400;}
#woocommerce_products-2 > ul > li {margin-bottom:0px;}
#woocommerce_products-2 > ul > li > a > span.product-title {
	font-weight:bold;
	color:#38ba00;
	letter-spacing:-1px;
	font-size:15px;
	}

.product_list_widget li {
    padding: 0.8em 0;}
.product_list_widget li img {
    float: right;
    max-width: 3.2em;
    margin: 3px 0 0px 0px;
}

/* 2) Quando Shoptimizer apre il drawer (una di queste classi sul body) la faccio scorrere in vista */
body.filter-open .gv-secondary-wrapper,
body.drawer-open .gv-secondary-wrapper {
  transform: translateX(0);
  left:0;
}
/* impedisce che si apra la sidebar filtri quando si clicca sul minicart */
body.drawer-open:not(.filter-open) .gv-secondary-wrapper {
  transform: translateX(-100%) !important;
  left: auto !important;
}
.gv-secondary-close {
  position: fixed;
 /* top: 1rem; */
  right: 1rem;
  width: 40px; height: 40px;
  padding: 0;
  background: transparent;
  border: none;
  cursor: pointer;
  z-index: 10001;       /* sopra al drawer (9999) e all’overlay (9998) */
  display: none;        /* di default nascosto */
  color:#fff;
  top:10px;
  left:310px;
}
body.filter-open .gv-secondary-close {
  display: block;
}
.gv-secondary-close svg {
  width: 100%;
  height: 100%;
  /* stroke: #333; */
}
.filter-open .filters.close-drawer {z-index: 10001;}

/* 
.gv-peso a::before { content: "\f496"; }
.gv-nutrizione a::before { content: "\f5d1"; }
.gv-energia a::before { content: "\f0e7"; }
.gv-sport a::before { content: "\f44b"; }
.gv-viso-corpo a::before { content: "\f5bb"; }
*/

.gv-peso a { font-size:16px; }
.gv-nutrizione a { font-size:16px; }
.gv-energia a { font-size:16px; }
.gv-sport a { font-size:16px; }
.gv-viso-corpo a { font-size:16px; }

 .gv-widget-mobile-menu li li:not(.menu-item-product) > a::before {
  font-family: inherit !important;
  content: "-";
  font-size: 14px;
  color: #999;
  margin-right: 0;
  min-width: 14px;
  display: inline-block;
  text-align: center;
}

/* Nasconde frecce o simboli prima nei prodotti */
.menu-item-product a::before {
  content: none !important;
  display: none !important;
}

/* ---------- Sottomenu ---------- */

.gv-widget-mobile-menu li.menu-item-has-children.open > a {
  background-color: #e3e3e3; /* colore di sfondo */
  border-radius: 6px;
  padding-left: 8px;
}

.gv-widget-mobile-menu .sub-menu-wrapper {
  display: none;
}
.gv-widget-mobile-menu li.menu-item-has-children.open > .sub-menu-wrapper {
  display: block;
}

/* Frecce di apertura */
.gv-widget-mobile-menu li.menu-item-has-children > a, #menu-item-43920 > a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding-right: 24px; /* spazio per il triangolino */
  /* gap: 8px;  spazio tra icona e testo */
}

#menu-item-43920 > a {
	line-height:1.1em;
	}

.menu-evidenza ul.submenu-links {margin-left:2.5em;}
.menu-evidenza ul.submenu-links li {font-size:16px;text-decoration:none;}
.menu-evidenza ul.submenu-links a::before{display:none;}

.gv-widget-mobile-menu li.menu-item-has-children > a::after, #menu-item-43920 > a::after {
  font-family: "Font Awesome 6 Free"; /* o 5 se stai usando Font Awesome 5 */
  font-weight: 900;
  content: "\f078"; /* fa-chevron-down */
  font-size: 14px;
  color: #666;
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  transition: transform 0.3s ease;
}

.gv-widget-mobile-menu li.menu-item-has-children.open > a::after, #menu-item-43920.open > a::after {
  content: "\f077"; /* fa-chevron-up */
}


/* Struttura sottomenu */
.gv-widget-mobile-menu li ul.sub-menu {
  /* padding-left: 10px; */
  margin-bottom: 1em;
}

.gv-widget-mobile-menu li ul.sub-menu li a {
  font-size: 14px;
  font-weight: 500;
}

/* ---------- Prodotti nel menu mobile ----------- */
@media (max-width:992px){

	.menu-item-product {
	  all: initial;
	  display: block;
	  position: relative;
	  /* left: 50%; 
	 width: calc(100vw - 30px); 15px di "spazietto" a destra e sinistra */
	 width:270px;
	  max-width: 100vw;
	  /* transform: translateX(-50%);*/
	  background: #fff;
	  /* padding: 20px 16px; */
	  text-align: center;
	  box-sizing: border-box;
	  border-top: 1px solid #eee;
	  /*border-bottom: 1px solid #eee;*/
	  z-index: 2;
	  margin-left: calc((87vw - 100%) / -2);
	}
}
.menu-item-product * {
  all: unset;
  display: revert;
  box-sizing: border-box;
  max-width: 100%;
}
.menu-item-product img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto 10px;
}

.menu-item-product .woocommerce-loop-product__title {
margin-top:0px !important;
padding-bottom:0px !important;
}

.menu-item-product .price {
  font-weight: bold;
  font-size: 14px;
  margin: 5px 0;
  color: #000;
}
.menu-item-product .button.add_to_cart_button {
  display: block;
  background-color: #28a745;
  color: #fff;
  text-align: center;
  padding: 8px;
  margin: 10px auto 0;
  border-radius: 4px;
  font-size: 14px;
  cursor: pointer;
  width: 100%;
}
/* .menu-item-product .product__categories,
.menu-item-product .woocommerce-loop-product__title {
  font-size: 13px !important;
  color: #333;
  margin: 5px 0;
}
*/

/* manu prodotti per tipp */
/* 1) Container flex per i filtri */
.menu-prodotti-per-tipo-container .menu {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* 2) Pillole: reset margini */
.menu-prodotti-per-tipo-container .menu-item {
  margin: 0 !important;
  font-size:16px;
}

/* 3) Link-stile “pillola” */
.menu-prodotti-per-tipo-container .menu-item a {
  display: inline-block;
  padding: 0.4em 0.8em;
  font-size: 0.9em;
  font-weight: 700;
  letter-spacing:-0.2px;
  line-height: 1.2;
  color: #38ba00; /* #333; */
  background: #fff; /* #f9f9f9; */
  border: 1px solid #38ba00; /* #ccc; */
  /* border-radius: 999px; */
  text-decoration: none;
  transition: background 0.2s, border-color 0.2s, color 0.2s;
}

/* 4) Hover/Focus */
.menu-prodotti-per-tipo-container .menu-item a:hover,
.menu-prodotti-per-tipo-container .menu-item a:focus {
  background: #f9f9f9; /* #ccc; */
  border-color: #236431; /* #ccc; */
  color: #236431 !important; /* #000; */
  text-decoration: none !important;
}

/* 5) Voce attiva */
.menu-prodotti-per-tipo-container .current-menu-item a {
  background: #236431; /* #434343; */
  border-color: #236431; /* #222; */
  color: #fff !important;
}

/* 6) Mobile: due colonne di pillole */
@media (max-width: 768px) {
  .menu-prodotti-per-tipo-container .menu {
    gap: 0.4rem;
  }
  .menu-prodotti-per-tipo-container .menu-item {
   /* flex: 1 1 45%; */
  }
  .menu-prodotti-per-tipo-container .menu-item a {
    text-align: center;
    width: 100%;
  }
}


/* --- Override griglia prodotti WooCommerce nei menu mobile con shortcode [product="id"] --- */

/* Disabilita la griglia WooCommerce in questo contesto */
.gv-widget-mobile-menu ul.products {
  all: unset;
  list-style: none;
  padding: 0;
  margin: 0;
  display: block;
}

/* Singolo prodotto */
.gv-widget-mobile-menu ul.products > li.product {
  all: unset;
  display: block;
  text-align: center;
  border-bottom: 1px solid #eee;
  background: #f5f5f5;
  /* padding: 15px 10px; */
  box-sizing: border-box;
}

/* Immagine prodotto */
.gv-widget-mobile-menu ul.products li.product img {
  max-width: 60%;
  height: auto;
  display: block;
  margin: 0 auto;
}

/* Categorie prodotto */
.gv-widget-mobile-menu ul.products li.product .product__categories {
  display: none;
  /* font-size: 12px;
  color: #999;
  margin: 5px 0; */
}

/* Titolo */
.gv-widget-mobile-menu ul.products li.product .woocommerce-loop-product__title {
  font-size: 13px !important;
  font-weight: bold;
  color: #333;
  margin: 5px 0;
}

/* Prezzo */
.gv-widget-mobile-menu ul.products li.product .price {
  font-family: Inter;
  font-size: 13px;
  font-weight: bold;
  color: #000;
  margin: 0 0 5px 0;
}

@media (max-width:992px){

	.gv-widget-mobile-menu .cgkit-attribute-swatch,
	.menu-item-product .cgkit-attribute-swatch,
	.menu-item .cgkit-attribute-swatch {
	  max-width: 33%;
	  font-family:Inter;
	}
/*
	.gv-widget-mobile-menu .cgkit-attribute-swatch button,
	.menu-item-product .cgkit-attribute-swatch button,
	.menu-item .cgkit-attribute-swatch button,
	.cgkit-attribute-swatch.cgkit-button button {
		white-space: normal !important;
	  	line-height: 1.1 !important;
		padding: 0px 6px !important;
	}

}

.product-align-center .cgkit-swatch-form .cgkit-as-wrap-plp .cgkit-attribute-swatches {
    margin: 0 0 0 0;
}	
*/
	.cgkit-attribute-swatches {
      	display: grid;
  		/* due colonne flessibili: min 45%, max 1fr */
  		/* grid-template-columns: repeat(auto-fill, minmax(45%, 1fr)); */
  		gap: 0.4rem; 		
	}	
	
	body.archive .cgkit-attribute-swatches,
  	body.post-type-archive-product .cgkit-attribute-swatches {
    	grid-template-columns: repeat(auto-fill, minmax(45%, 1fr));
  	}
  	body.single-product .cgkit-attribute-swatches {
    	/* ogni swatch fino al 25%: quattro colonne quando possibile */
    	grid-template-columns: repeat(auto-fill, minmax(28%, 1fr));
  	}

	.cgkit-attribute-swatch {
  		box-sizing: border-box;
  		margin: 0px !important;
	}

	.cgkit-attribute-swatch.full-row {
  		grid-column: 1 / -1;
	}
	body.single-product .cgkit-attribute-swatch.full-row {
    	/* span su 2 colonne */
    	grid-column: span 2;
    	/* opzionale: centra il box da due colonne */
    	/* justify-self: center; */
  	}
	
	.gv-widget-mobile-menu .cgkit-attribute-swatch button,
	.menu-item-product .cgkit-attribute-swatch button,
	.menu-item .cgkit-attribute-swatch button,
	.cgkit-attribute-swatch.cgkit-button button {
		display: -webkit-box;
  		-webkit-box-orient: vertical;
  		-webkit-line-clamp: 2;
  		overflow: hidden;
   		word-break: break-word;
   		text-overflow: ellipsis;
		white-space: normal !important;
	  	line-height: 1.1 !important;
		padding: 0px 4px !important;
		height: 3.3em;
		width:100% !important;
		margin: 0px !important;
		/* max-height:2.2em; */
	}

}

.product-align-center .cgkit-swatch-form .cgkit-as-wrap-plp .cgkit-attribute-swatches {
    margin: 0 0 0 0;
}	

	/* Bottone Aggiungi al Carrello */
	.gv-widget-mobile-menu ul.products li.product .add_to_cart_button,
	.gv-widget-mobile-menu ul.products li.product button.button,
	.gv-widget-mobile-menu ul.products li.product a.button {
	  display: block;
	  width: 100%;
	  background-color: #28a745;
	  color: #fff !important;
	  text-align: center;
	  padding: 8px;
	  border-radius: 4px;
	  font-size: 15px;
	  font-family: Inter;
	  cursor: pointer;
	  border: none;
	}

@media (min-width:993px){

	.gv-widget-mobile-menu .cgkit-attribute-swatch,
	.menu-item-product .cgkit-attribute-swatch,
	.menu-item .cgkit-attribute-swatch {
	 /* max-width: 33%; */
	  font-family:Inter;
	}


	.gv-widget-mobile-menu .cgkit-attribute-swatch button,
	.menu-item-product .cgkit-attribute-swatch button,
	.menu-item .cgkit-attribute-swatch button {
	 
		/* white-space: normal !important; */
	  line-height: 1.1 !important;
		/*  font-size: 11px !important; */
		/* padding: 9px 13px !important; */
		  letter-spacing: -0.1px;
		/*  min-height: 40px !important; */
		min-width:auto !important;
	  	min-height:auto !important;
	
	}	
	
	/* menu desktop -> perdere peso -> prima colonna */
/*	#nav-menu-item-43417 {width:35% !important;} */
}	

button.cgkit-swatch {
	color: #38ba00 !important;
	border: 1px solid #38ba00 !important;
	font-weight:700 !important;
}
button.cgkit-swatch-selected {
	color: #ffffff !important;
	border: 1px solid #236431 !important;
	background-color: #236431 !important;
	font-weight:700 !important;
}

/* descrizione breve dei prodotti nel catalogo */
.gv-product-excerpt {
    font-size: 14px;
    line-height:1.3em;
    color: #666;
    margin: 10px 0;
      display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  -webkit-line-clamp: 3; /* ⬅️ cambia 3 col numero di righe desiderato */
  max-height: calc(1.4em * 3); /* fallback per browser non WebKit */
}

/* cambio sfondo a paragrafo che promuove il configuratore - usato soprattutto nelle descrizioni delle categorie */
/* icona a sinistra del paragrafo evidenziato */
/* paragrafo evidenziato */
p.evidenza_configuratore{
    display:flex;
    align-items:center;
    gap:5px;        /* spazio fisso icona‑testo */
 /*   padding:10px;
    margin:16px 0; */
    background-color: #fff;
    margin: 0px -35px -35px -35px !important;
    padding: 25px 15px 15px 10px;
}

/* icona “elastica” rispetto al font */
p.evidenza_configuratore img{
    flex:0 0 auto;   /* non si allunga */
    height: 4.5em;    /* 1.2 × altezza del font corrente */
    width:auto;      /* mantiene il rapporto */
    object-fit:contain;
    /* se l’immagine non è quadrata e vuoi pareggiare lato minore:
       aspect-ratio:1/1;   (supportato da tutti i browser moderni) */
}
p.evidenza_configuratore a{color: #1e68c4;}

/* cambio line height alla descrizione categorie */
  .woocommerce-products-header .term-description {
            line-height:1.3em;
        }

        
/* stile dei sottotitoli di paragrafo nelle sottocategorie */
.sottotitolo_categorie {font-weight:lighter; font-size:1.5em; line-height: 1.2em; color: #236431 !important;}


/* stile del link whatsapp */
#consiglio_whatsapp, .consiglio_whatsapp {
/*	text-decoration: underline;
    text-decoration-thickness: 0.75px;
    text-underline-offset: 0.18em;
*/
color:#38ba00;
}
#whatsapp-consiglio, .whatsapp_consiglio {display:inline;}

/* === CARD PRODOTTO nelle categorie: posizione relativa per ancorare gli overlay === */
ul.products li.product{
    position:relative;                 /* per posizionare in absolute */
}

/* --- NASCONDI di default swatch + CTA personalizzata (desktop) --- */
/* ========== HOVER SWATCH + CTA – VERSIONE “DILATA” ========== */

@media (min-width:768px){

  /* di base nascosti */
  ul.products li.product .cgkit-swatch-form,
  ul.products li.product .cgkit-as-single-atc-wrap{
    opacity: 0;
    visibility: hidden;
    max-height: 0;
    overflow: hidden;
    transform: translateY(6px);
    margin-top: 0;
    transition:
      opacity 0.25s ease,
      transform 0.25s ease,
      max-height 0.25s ease,
      margin-top 0.25s ease,
      visibility 0s linear 0.25s;
  }

  /* al hover → visibili, ma con un piccolo delay */
  ul.products li.product:hover .cgkit-swatch-form,
  ul.products li.product:hover .cgkit-as-single-atc-wrap{
    opacity: 1;
    visibility: visible;
    max-height: 600px;
    transform: translateY(0);
    margin-top: 12px;
    transition-delay: 0.3s, 0.3s, 0.3s, 0.3s, 0s; /* 👈 delay elegante */
  }

  /* rimuovi "scegli i gusti" */
  ul.products li.product .cgkit-as-empty-atc-wrap{ display:none; }
}

/* --------------  prodotti bundle --------------  */

div.bundled_product_summary, .woocommerce div.product.bundled_product_summary {
    padding-bottom: 1.2em !important;
    margin-bottom: 1em !important;
    }

#sezione_opzionale {
	height:100px;/* padding-top:35px;*/
}	

.bundled_product_excerpt {line-height:1.2em;}

 div.bundle_error > div.woocommerce-info  {background-color: #fff;} 
 div.bundle_error > div > ul {color:red;} 

/* --------------  pagina prodotto --------------  */

.woocommerce-product-details__short-description {
    font-size: 1em;
    line-height: 1.3;
    padding-bottom: 1rem !important;
}

@media (min-width:993px){
	div.product-details-wrapper div.woocommerce-product-gallery {width:46%;}
	div.product-details-wrapper div.summary {width:50%;}
}


/* Trasforma il fieldset in un flex container che centra i figli */
#pag-sped {
  display: flex;
  justify-content: center; /* centratura orizzontale */
  align-items: center;     /* centratura verticale, se serve */
  flex-wrap: wrap;         /* consente di andare a capo su schermi stretti */
}

/* Annulla eventuali float interni */
#pag-sped > div {
  float: none !important;
}

/* Assicura che immagini e div si comportino come box flexibili */
#pag-sped > img,
#pag-sped > div {
  display: inline-block;
  vertical-align: middle;
}

@media (min-width:601px){
	.titolo_prodotto { padding-top:30px; }
}
@media (max-width:600px){
	.titolo_prodotto { padding-top:20px; }
}
.titolo_prodotto {border-top: 1px solid #e2e2e2;line-height: 1.3em;}
#tab-description > h3:nth-child(1) {border-top: 0px;}

/* --- Style tabs come pulsanti selezionabili --- */
 @media (max-width: 600px) { 
  ul.wc-tabs {
    display: flex;
   /* border-bottom: 1px solid #ddd; */
    margin: 0;
    padding: 0;
    list-style: none;
    background: #fafafa;
  }
  ul.wc-tabs li {
    flex: 1;
    margin: 0;
    padding: 0 !important;
    border-bottom: 0px !important;
    display: flex !important;               
    align-items: center;          
    justify-content: center;
  }
  ul.wc-tabs li a {
    display: block;
    text-align: center;
    padding: 0.75em 1em !important;
    font-weight: 400;
    line-height: 1.3em;
    color: #555;
    text-decoration: none;
    border: 2px solid transparent;
    border-bottom: none;
    transition: background .2s, color .2s;
  }
  ul.wc-tabs li a:focus,
  ul.wc-tabs li a:hover {
    background: #eee;
    color: #333;
  }
  ul.wc-tabs li.active a {
    background: #fff;
    color: #236431 !important;
     font-weight: 600;
    border-top: 8px solid #38ba00;      /* evidenzia la tab attiva */
    border-left: 2px solid #ddd;
    border-right: 2px solid #ddd;
    margin-bottom: -2px;               /* per far sembrare selezionata */
    height:105%;
  }
  /* nasconde la linea inferiore sul container per far risaltare meglio la tab attiva */
  .woocommerce-tabs .panel {
    border-top: 2px solid #ddd;
    padding-top: 1.5em;
  }
}
@media (min-width:601px) {
	.woocommerce-tabs ul.tabs li {
    	background-color: #dbdbdb;	
	}
	.woocommerce-tabs .tabs li.active {
    	border-top: 8px solid #38BA00 !important;
    	background-color: #fff;
    	border-left: 2px solid #ddd;
        border-right: 2px solid #ddd;
        border-bottom: 2px solid #fff;
        margin-bottom: -2px;
	}
	.woocommerce-tabs .tabs li a:after {
    	border-bottom: 0px !important;
	} 
	.woocommerce-tabs .panel {
    	border-top: 2px solid #ddd;
    	padding-top: 1.5em;
  }
}

.ricetta {
  clear: both;         /* inizia sempre sotto ogni float precedente */
  overflow: hidden;    /* contenitore che ingloba l'immagine fluttuante */
  margin-bottom: 35px; /* spazio tra una ricetta e l’altra */
}

.ricetta img, .ricetta-div {margin-bottom:20px;max-width: 400px;width:100%;}


@media (min-width: 768px) {
.ricetta_destra {	
    width: 50%;
    margin: 0px 0px 35px 30px;
    float: right;
    }
.ricetta_sinistra {
    width: 50%;
    margin: 0px 30px 35px 0px;
    float: left;
    }

}

/* ---------- sotto tabs per bundle - etichette ------------- */

/* ===== Tabs bundled – stile verdino, no rounded, top border 4px su attiva ===== */
.gv-bundle-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  margin: 10px 0 16px;
}

.gv-bundle-tabs .gv-tab-btn {
  /* dimensioni compatte */
  font-size: .9rem;
  line-height: 1.2;
  padding: .35rem .6rem;
  /* look */
  background: #f7f7f7;         /* neutro */
  border: 1px solid #ddd;
  border-radius: 0;             /* no rounded */
  cursor: pointer;
  /* mandare a capo max 2 righe */
  display: -webkit-box;
  -webkit-line-clamp: 2;        /* max 2 righe */
  -webkit-box-orient: vertical;
  overflow: hidden;
  white-space: normal;          /* consente l’andare a capo */
  max-width: 100%;
  /* per accessibilità su tastiera */
  outline: none;
  
  white-space: normal;            /* permette l'andare a capo */
  word-break: break-word;         /* spezza se troppo lungo */
  display: flex;                  /* allinea il testo bene */
  align-items: center;
  justify-content: center;
  text-align: center;             /* centratura testo */
  line-height: 1.2;
  height: auto;                   /* niente altezza fissa */
  max-width: 29vw;               /* limita larghezza per forzare 2 righe max */
  
  /* clamp massimo 2 righe */
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.gv-bundle-tabs .gv-tab-btn:hover {
  border-color: #cfcfcf;
  background: #f1f1f1;
}

.gv-bundle-tabs .gv-tab-btn.is-active,
.gv-bundle-tabs .gv-tab-btn[aria-selected="true"] {
  background: #e9fbea;          /* verdino chiaro */
  border-color: #bfeabc;        /* bordo laterali/basso */
  border-top: 4px solid #38ba00;/* top verde solo sulla selezionata */
  /* compenso ottico: evito che "salti" in altezza */
  padding-top: calc(.35rem - 3px);
}

/* pannelli: look pulito e non arrotondato */
.gv-bundle-panel {
  border: 1px solid #eee;
  border-radius: 0;             /* no rounded */
  padding: 12px;
}

/* intestazione riga del bundled nel pannello */
.gv-bundle-head { margin: 0 0 10px; }

/* etichette un filo più strette su desktop (restano responsive) */
@media (min-width: 768px) {
  .gv-bundle-label, .gv-bundle-label2 { max-width: 560px; } /* prima erano 600px */
}

/* focus visibile per tastiera */
.gv-bundle-tabs .gv-tab-btn:focus-visible {
  box-shadow: 0 0 0 2px #38ba0033, 0 0 0 4px #38ba00;
}

/* --------------------- consigliato da hlifeshop -----------------*/
.hlife-premium {
  display: inline-block;
  background: linear-gradient(90deg, #38ba00 0%, #7de05a 100%);
  color: #fff;
  padding: 4px 10px;
  border-radius: 20px;
  font-size: 14px;
  font-weight: bold;
}
.hlife-premium i {
  margin-right: 6px;
}

/* -------------- CSS per gli accordion ----------------- */

.gv-hide {
  position: absolute !important;
  width: 1px; height: 1px;
  margin: -1px; padding: 0;
  clip-path: inset(50%);
  overflow: hidden;
  white-space: nowrap;
}

/* 2) Box-sizing e reset per accordion */
.gv-accordion:not(#pagamenti-accordion),
.gv-accordion:not(#pagamenti-accordion) *,
.gv-accordion:not(#pagamenti-accordion) *::before,
.gv-accordion:not(#pagamenti-accordion) *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* 3) Struttura generale */
.gv-accordion {
  list-style: none;
}
.gv-accordion-item {
  border-bottom: 1px solid #e1e1e1;
}
.gv-accordion-item:last-child {
  border-bottom: none;
}

/* 4) Label */
.gv-accordion-label {
  display: block;
  width: 100%;
  padding: .5rem 1rem;
  font-size: 1rem;
  font-weight: bold;
  color: #38ba00;
  background: #f7fffa;
  cursor: pointer;
  position: relative;
  border: 1px solid #ababab;
  border-left: 8px solid #38ba00;
}
.gv-accordion-label:focus-visible {
  outline: 2px dashed #38ba00;
}

/* 5) Icona toggle */
.gv-accordion-label::before {
  content: "\232A";
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
  transition: transform .3s ease;
}
input[type="checkbox"]:checked + .gv-accordion-label::before {
  transform: translateY(-50%) rotate(90deg);
}

/* 6) Contenuto a scomparsa */
.gv-accordion-child {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: max-height .3s ease, opacity .3s ease;
  padding-left:16px;
}
input[type="checkbox"]:checked ~ .gv-accordion-child {
  max-height: 100vh;
  opacity: 1;
  margin-top: .5rem;
}

.gv-accordion-child > h2 { margin-top:10px;}

/* 7) Font Awesome icone */
.fa-tag:before,
.fa-check:before {
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  color: #38ba00;
  margin-right: .5rem;
}

/* Wrapper comune: fase1, fase2, risparmio */
#fase1, #fase1-1, #fase2, #risparmio {
  display: flex;
  align-items: center;          /* centranza verticale */
  justify-content: space-between;
  gap: 16px;
  padding: 16px 24px;
 /* width: 100%; */
  max-width: 685px;             /* rimpiazza la vecchia width fissa */
  margin: 0;                    /* aggiungi margin:auto se vuoi centrare il blocco */
  box-sizing: border-box;
  margin: 0 auto;
}

/* Colonna testo */
#fase1 > blockquote,
#fase1-1 > blockquote,
#fase2 > blockquote,
#risparmio > blockquote {
  margin: 0;
  padding: 0;
  flex: 1 1 50%;
  font-style: normal;           /* come avevi impostato inline */
}

#fase1 > blockquote::before,
#fase1-1 > blockquote::before,
#fase2 > blockquote::before,
#risparmio > blockquote::before {
display:none;
}

#fase1 > blockquote > p > span, #fase1-1 > blockquote > p > span, #fase2 > blockquote > p > span, #risparmio > blockquote > p > span {font-size:15px;}

/* Colonna immagine (a destra) */
#fase1_img, #fase1-1_img, #fase2_img, #risparmio_img {
  flex: 0 0 auto;
  max-width: 320px;             /* limite “comodo” su desktop */
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

/* Responsivo: sotto i 900 / 768 impila */
@media (max-width: 900px) {
  #fase1, #fase1-1, #fase2, #risparmio {
    gap: 14px;
  }
  #fase1_img, #fase1-1_img, #fase2_img, #risparmio_img {
    max-width: 300px;
  }
}

@media (max-width: 768px) {
  #fase1_img, #fase1-1_img, #fase2_img, #risparmio_img {
    max-width: 280px;
  }
}
@media (max-width: 600px) {
  #fase1_img, #fase1-1_img, #fase2_img, #risparmio_img {
    max-width: 250px;
  }
  #fase1 > blockquote > p > span, #fase1-1 > blockquote > p > span, #fase2 > blockquote > p > span, #risparmio > blockquote > p > span {font-size:14px;}
}

@media (max-width: 480px) {
  #fase1, #fase1-1, #fase2, #risparmio { 
	flex-direction: column;     /* impila verticalmente */
    align-items: flex-start;    /* testo e img allineati a sinistra */
    padding: 14px 0;            /* più compatto su mobile */
  }
  #fase1 > blockquote,
  #fase1-1 > blockquote,
  #fase2 > blockquote,
  #risparmio > blockquote {
    width: 100%;
  }
  #fase1_img, #fase1-1_img, #fase2_img, #risparmio_img {
    max-width: 100%;
    width: 100%;
    margin: 8px 0 0 0;          /* spazio sopra l’immagine */
  }
}

/* Optional: rimuovi effetti di classi WordPress come alignright */
.alignright {
  float: none !important;
  margin: 0 !important;
}



/* ------------------------------- */

/* plugin wp chat app - whatsapp */

.wa__popup_chat_box .wa__popup_heading {
    background: rgb(35 100 49) !important;
    }
.wa__popup_chat_box {
	z-index:101; /* 999999998 */
}
.wa__btn_popup{
	z-index:100; /* 99999996; */
	}
.wa__btn_popup_txt {
	line-height:1.3 !important;
	top:-115% !important;
	right: 85% !important;
	border: 1px solid #ccc;
	}
.chiudi_disclaimer {
	display:block;
	position:absolute;
	height: 22px;
	width: 22px;
	bottom: 205px;
	position: fixed;
	left: unset; 
	font-family: 'font Awesome 6 Free' !important;
	right: 71px;
	z-index: 99999997;
	cursor: pointer;
	}
.chiudi_disclaimer:before {
	content: "\f057";
	font-size:30px;
	 background-color: #f5f7f9;     
  border-radius: 50%;
  display: inline-block;
  width: 133%;
  height: 133%;
line-height: 28px;
  text-align: center;
	}
	
	
/* sidebar carrello */

.shoptimizer-mini-cart-wrap .widget_shopping_cart li.mini_cart_item a {
    font-size: 14px;
}

/* fibosearch */

.dgwt-wcas-si img,
.dgwt-wcas-tpd-image {  
    border: 0px;
}
div.dgwt-wcas-suggestions-wrapp {
	box-shadow: 0 8px 16px rgba(0, 0, 0, 0.25),  /* sotto */
              -8px 0 16px rgba(0, 0, 0, 0.15); /* sinistra */
    padding: 0px 0px 15px 5px;
}
div.dgwt-wcas-details-wrapp {
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.25),  /* sotto */
              8px 0 16px rgba(0, 0, 0, 0.15);  /* destra */
    padding: 0px 0px 15px 5px;
}
.dgwt-wcas-details-main-image {
    min-height: unset;
}
.dgwt-wcas-details-main-image img {
    max-height: 120px;
    margin-top:20px;
}
.dgwt-wcas-has-img .dgwt-wcas-suggestion.dgwt-wcas-suggestion-product {
    padding-top: 0px;
    padding-bottom: 0px;
}
a.dgwt-wcas-details-post-title, a.dgwt-wcas-details-product-title {
	text-align:center;
	font-size: 16px;
	font-weight: 700;
}
.dgwt-wcas-details-product-sku {
	text-align:center;
}
div.dgwt-wcas-pd-price {
	text-align:center;
	font-size: 16px;
}
.dgwt-wcas-details-hr {
	margin: 5px 0;
}
.dgwt-wcas-details-desc {
    font-size: 13px;
    line-height: 1.3;
}
.dgwt-wcas-pd-addtc-form {
    justify-content: center;
}
.dgwt-wcas-pd-addtc-form>.quantity {
    display:none;
}
.dgwt-wcas-pd-addtc .add_to_cart_button, .dgwt-wcas-pd-addtc .add_to_cart_inline {
    min-width: fit-content;
}

#dgwt-wcas-search-input-1::placeholder {
  color: #878787 !important;   /* Cambia con il colore che vuoi */
  opacity: 1;               /* Safari e Firefox a volte rendono il colore trasparente */
}

/* Facoltativi per massima compatibilità */
#dgwt-wcas-search-input-1::-webkit-input-placeholder { color: #878787 !important; }
#dgwt-wcas-search-input-1:-ms-input-placeholder { color: #878787 !important; }
#dgwt-wcas-search-input-1::-ms-input-placeholder { color: #878787 !important; }


/* -------------------- migliora sfondo campi variazione sui prodotti insieme a js collegato ------------------ */

/* === Evidenza varianti dentro i bundle === */

/* Contenitore riga attributo */
table.variations tr.attribute_options {
  position: relative;
}

/* Etichetta a sinistra: aggiungo un piccolo badge quando il campo è vuoto */
table.variations tr.attribute_options .label label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
}

/* Badge "Seleziona" (iniettato via JS) */
.gv-attr-badge {
  display: inline-block;
  font-size: 11px;
  line-height: 1;
  padding: 4px 6px;
  border-radius: 4px;
  background: #fff3cd;            /* giallo tenue */
  color: #ff6c00; /* #7a5c00; */
  border: 1px solid #ffcb38;
}

/* Stato ok (spunta) */
.gv-attr-badge.is-ok {
  background: #e6f7ec;            /* verde tenue */
  color: #1b5e20;
  border-color: #b6e3c1;
}

/* Select: stile base */
table.variations tr.attribute_options .value select[name^="bundle_attribute_"] {
  width: 100%;
  min-height: 40px;
  padding: 8px 40px 8px 12px;      /* spazio per freccia */
  border: 2px solid #dcdcdc;
  border-radius: 8px;
  background: #fff;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
  position: relative;
}

/* Freccia "before" sul select (chevron) */
table.variations tr.attribute_options .value {
  position: relative;
}
table.variations tr.attribute_options .value::after {
  content: '';
  position: absolute;
  right: 12px;
  top: 27%;
  width: 10px;
  height: 10px;
  transform: translateY(-50%) rotate(45deg);
  border-right: 2px solid #666;
  border-bottom: 2px solid #666;
  pointer-events: none;
  opacity: .8;
}

/* Stato "vuoto" (da JS): più evidente */
table.variations tr.attribute_options.is-empty .value select {
  background: #fffdf4;            /* leggero avviso */
  border-color: #ffcb38;
  box-shadow: 0 0 0 3px rgba(255, 216, 107, .25);
}

/* Stato "selezionato" (da JS) */
table.variations tr.attribute_options.has-value .value select {
  background: #f7fffa;
  border-color: #4caf50;
  box-shadow: 0 0 0 3px rgba(76, 175, 80, .2);
}

/* Spunta in alto a destra quando selezionato */
table.variations tr.attribute_options.has-value .value::before {
  content: '✓';
  position: absolute;
  left: -20px;
  top: 27%;
  transform: translateY(-50%);
  font-size: 14px;
  color: #2e7d32;
}

/* Focus accessibile */
table.variations tr.attribute_options .value select:focus {
  outline: none;
  border-color: #1976d2;
  box-shadow: 0 0 0 3px rgba(25, 118, 210, .2);
}

/* Rendi visibile "Svuota" solo se c'è valore */
table.variations tr.attribute_options .reset_variations {
  visibility: hidden;
}
table.variations tr.attribute_options.has-value .reset_variations {
  visibility: visible !important;
}



/* ********************* checkout progress bar ******************* */

.checkout-wrap {margin-top:-10px;margin-bottom:90px !important;}

@media (max-width: 500px) {
    .site ul.checkout-bar li span {
        visibility: visible;
    }
}
/* ---------------------------------------------------------------- */

/*

@media (min-width: 768px) and (max-width: 1199px) {
 
    div.shoptimizer-archive > div.col-full {
        padding: 0;
        box-sizing: content-box;
        margin-right: auto;
        margin-left: auto;
    }
    #sspotReviews, .product-details-wrapper, .related.products, .upsells.products, .wc-prl-recommendations, .woocommerce-Tabs-panel, .woocommerce-tabs.wc-tabs-wrapper, .yith-wfbt-section.woocommerce {
        padding-right: 2.617924em;
        padding-left: 2.617924em;
    }
    div.product-details-wrapper div.woocommerce-product-gallery {
        width: 46%;
        float: left;
    }
    div.product-details-wrapper div.summary {
        width: 52%;
    }
    .product .summary {
        position: relative;
        float: right;
    }
    div.archive-header > div.col-full {
    	padding-left:1em;
    	padding-right:1em;
    }
    .content-area {
    	width: 100% !important;
    	margin-left:0px !important;
	}
}
@media (min-width: 768px) and (max-width: 992px) {

    div.shoptimizer-archive > div.col-full {
        padding-left:1em;
        padding-right:1em;
    }
    #sspotReviews, .product-details-wrapper, .related.products, .upsells.products, .wc-prl-recommendations, .woocommerce-Tabs-panel, .woocommerce-tabs.wc-tabs-wrapper, .yith-wfbt-section.woocommerce {
        padding-right: 1.617924em;
        padding-left: 1.617924em;
    }
}
(max-width: 767px) {
    .product .images, .product .woocommerce-product-gallery {
        margin-bottom: 1rem;
    }
    .single-product .content-area {
        width: calc(100% + 2em);
        margin-left: -1em;
    }
        .product .images, .product .woocommerce-product-gallery {
        margin-bottom: 1rem;
    }
}
 */