/* Contenitore generale del configuratore */
#generale{
  height:100%;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  margin:0;
  padding:0;
  -webkit-text-size-adjust:100%;
  overflow-x:hidden;
}

/* Stato disabilitato prima della scelta */
.nascondi_configuratore{
  opacity:0.1;
  pointer-events:none;
  transition:opacity .2s ease;
}

/* Avviso iniziale (non overlay) */
#config-notice{
  width:80%;
  max-width:920px;
  margin:50px auto 24px auto;
  background:#fff9c4;
  border:2px solid #000;
  padding:16px 18px;
  text-align:center;
  font-weight:700;
  font-size:15px;
}
#config-notice.hidden{ display:none; }

/* Radio della riga “Scelta obiettivo” */
.hlc-scelta__rigaradio input[type="radio"]{
  transform:scale(2);
  margin-right:10px;
}

#scelta_opzione {
	margin-left: 12px;
    letter-spacing: -0.02em;
}

 #peso-altezza{
    margin:0px;
    text-align:left;
  }
  #peso-altezza .peso-testo{
    display:-webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;   /* massimo 2 righe */
    overflow:hidden;
    text-overflow:ellipsis;
    font-size: clamp(16px, 4.5vw, 20px); /* scala in base al viewport */
    letter-spacing:-0.01em;
    line-height:1.3em;
  }

/* Testo introduttivo */
.hlc-intro{ font-size:16px; margin:8px 0 16px 0; }
.hlc-strong{ font-weight:700; }
.hlc-brand{ color:#1a5a74; }

/* Slider BMI nascosti inizialmente (compat con tuo imc.js) */
#bmislider, #sliderbtnbmi, #b18, #b17, #b16, #b15, #b14, #b13, #b12, #b11, #b10,
#b9, #b8, #b7, #b6, #b5, #b4, #b3, #b2, #b1, #b0, #bmiinput{
  visibility:hidden;
}

.class_pmimg{ max-width:100%; height:auto; }
@media (min-width:460px){ .class_pmimg{ max-width:400px; } }

/* Periodo */
.hlc-periodo { position:relative; top:75px; left:2px; }
.hlc-periodo__title { font-size:16px; }
.hlc-periodo__table { border:none; width:320px; margin-left:-13px; margin-top:-2px; }
.hlc-periodo__radios input[type=radio]{ transform:scale(2); margin-right:12px; }

/* Bottoni / risultati */
.hlc-btn { cursor:pointer; }
.hlc-risultati{ margin-top:90px; }
.hlc-risultati hr{ margin:20px 0; }
.hlc-risultati__tit{ font-size:16pt; line-height:22px; padding-top:10px; }
.hlc-risultati__tit2{ font-size:16pt; line-height:22px; margin-top:20px; }
.hlc-evid{ background:yellow; }
.hlc-par{ font-size:16px; line-height:120%; margin:8px 0; }
.hlc-input-val{ margin-left:10px; font-size:16px; font-weight:700; }
.hlc-note{ line-height:100%; margin-top:10px; font-size:12px; }
.hlc-passo2{ margin-top:40px; font-size:24pt; }
.hlc-passo2__sub{ font-size:18pt; line-height:26px; color:#1a5a7; }

/* Migliorie visive per input */
input.lpe_txtbx {
  border:2px solid #38ba00; border-radius:6px; padding:2px 6px;
}

/* Contenitore calcolatore BMI */
#bmicalc, .bmicalc-wrapper {
  position: relative;
  margin: 20px auto;
  max-width: 920px;
  min-height: 480px; /* per evitare collassi mentre JS non ha ancora scritto */
  background-color: #fff;
  border: 1px solid #ddd;
  padding: 20px;
  box-sizing: border-box;
}

.gv-radio {
	transform:scale(2);
	margin-right:12px;
}

/* Layout a griglia per "Stile di Vita" */
#stile{
 /*  position: relative !important; */
margin-top:25px;
  /* griglia: riga 1 = titolo, riga 2 = etichette, riga 3 = radio */
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  grid-template-rows: auto auto auto !important;
  column-gap: 5px !important;
  row-gap: 0px !important;
  align-items: center !important;
}

/* annulla posizionamenti inline assoluti degli elementi interni */
#stile > *{
  position: static !important;
  top: auto !important;
  left: auto !important;
  margin: 0 !important;
}

/* titolo "Stile di Vita:" a tutta riga */
#stile > span{
  grid-row: 1 !important;
  grid-column: 1 / -1 !important;
  font-size: 16px !important;
}

/* etichette in riga 2 */
#stile > label{
  grid-row: 2 !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
  color: #000 !important;
  text-align: center !important;
  display: block !important;
  padding: 6px 8px !important;
}

/* assegna ogni label alla sua colonna */
#stile > label[for="renderfat"]     { grid-column: 1 !important; }
#stile > label[for="rendernormal"]  { grid-column: 2 !important; }
#stile > label[for="rendermuscle"]  { grid-column: 3 !important; }

/* radio in riga 3, centrati sotto la rispettiva label */
#stile > input[type="radio"]{
  grid-row: 3 !important;
  justify-self: center !important;
  transform: scale(1.8) !important;
}

/* ogni radio nella sua colonna */
#stile > #renderfat     { grid-column: 1 !important; }
#stile > #rendernormal  { grid-column: 2 !important; }
#stile > #rendermuscle  { grid-column: 3 !important; }

.gv-piano{
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: auto auto;
  gap:12px 5px; /* row-gap col-gap */
  max-width:400px;
  margin:5px auto;
  text-align:center;
}

.gv-piano .gv-title{
  grid-column:1 / -1;
  font-size:16px;
  font-weight:700;
  color:#236431; /* colore brand */
  margin-bottom:4px; /* riduce gap solo sotto il titolo */
}

.gv-radio-col{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  cursor:pointer;
}

.gv-labell{
  font-size:18px;
  font-weight:700;
  letter-spacing:-0.01em;
}
/* --------------------------------------------------- */
	/* Main tabs (ul.gv-tabs) */
	.woocommerce-tabs ul.gv-tabs{
	  margin: 0;
	  padding-top: 1.5rem;
	  text-align: center;
	  list-style: none;
	  border-bottom: 1px solid #eee;
	  display: flex;
	  gap: 8px;
	  flex-wrap: wrap;
	  justify-content:center;
	  align-items: baseline;
	}
	.woocommerce-tabs ul.gv-tabs > li{
	  margin: 0;
	  background-color: #dbdbdb;
	}

	.woocommerce-tabs ul.gv-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 ul.gv-tabs > li > a{
	  display: block;
	  padding: 0.75rem;
	  font-size: clamp(0.9375rem, 0.874rem + 0.2033vw, 1rem);
	  text-decoration: none;
	  color: #111;
	  /* border: 1px solid #eee;
	  border-bottom: none;
	  background: #fafafa;
	  line-height: 1.2;
	*/
	}
	
 	.woocommerce-tabs ul.gv-tabs > li.active > a,
	.woocommerce-tabs ul.gv-tabs > li.is-active > a{
		font-weight: 600;
	}


/* Panels */
.woocommerce-Tabs-panel.wc-tab{
  border: 1px solid #ddd;
  background: #fff;
}

	/* Subtabs (gv-bundle-tabs) */
	.gv-bundle-tabs{
	  display: flex;
	  gap: .45rem;
	  margin: 10px 0 16px;
	  flex-wrap: wrap;
	}
.gv-bundle-tabs .gv-tab-btn{
	font-size: .9rem;
    line-height: 1.2;
    padding: .35rem .6rem;
    background: #f7f7f7;
    border: 1px solid #ddd;
    border-radius: 0;
    cursor: pointer;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    white-space: normal;
    max-width: 100%;
    outline: none;
    white-space: normal;
    word-break: break-word;
    display: flex
;
    align-items: center;
    justify-content: center;
    text-align: center;
    line-height: 1.2;
    height: auto;
    max-width: 29vw;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.gv-bundle-tabs .gv-tab-btn.is-active{
    background: #e9fbea;
    border-color: #bfeabc;
    border-top: 4px solid #38ba00;
    padding-top: calc(.35rem - 3px);
}
.gv-bundle-panel{ display: none; }
.gv-bundle-panel[aria-hidden="false"]{ display: block; }

/* Etichette dentro la tab */
.gv-bundle-item .gv-bundle-label,
.gv-bundle-item .gv-bundle-label2{
  margin-top: 12px;
}

@media (max-width: 600px) {
    .woocommerce-tabs ul.gv-tabs > li {
        flex: 1;
        margin: 0;
        padding: 0 !important;
        border-bottom: 0px !important;
        display: flex !important;
        align-items: center;
        justify-content: center;
    }
}


#tab-additional_information > h4.bundled_product_attributes_title,
#tab-additional_information > table.woocommerce-product-attributes.shop_attributes,
.titolo_prodotto, .evidenza_configuratore,
div.gv-bundle-panel > div > div.gv-bundle-desc-content > img:first-of-type, 
#tab-description > hr:first-of-type,
#tab-additional_information > h2 {display:none;}

div.woocommerce-tabs.wc-tabs-wrapper {margin-top:50px;}

#titolo_scheda_descrizione_bundle {margin-top:0px;}