/* LV Experience - Grafica migliorata: modulo bundle e modulo di acquisto prodotti.
   Solo stile: nessun testo viene cambiato. */

body.lvx-layout .elementor-element-8260eec{
--lvx-accent: #f6cb00;
--lvx-accent-dark: #cea104;
--lvx-accent-soft: #fff8d6;
--lvx-ink: #1d2422;
--lvx-ok: #1a7f37;
--b: rgba(0,0,0,.14);
--b2: rgba(0,0,0,.22);
--r: 14px;
--pad: 14px;
--soft: #fff;
--muted: rgba(0,0,0,.62);
--txt: #1d2422;
}

/* ============ PRODOTTI BUNDLE ============ */

body.lvx-product-bundle .elementor-element-8260eec form.yith-wcpb-bundle-form{
padding: 14px !important;
gap: 14px !important;
border: 0 !important;
border-radius: 18px !important;
box-shadow: 0 6px 24px rgba(0,0,0,.08) !important;
}

body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-items{
gap: 10px !important;
}

/* Contenitore delle voci: schede separate al posto dell'elenco con righe */
body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-items{
display: grid !important;
border: 0 !important;
border-radius: 0 !important;
box-shadow: none !important;
overflow: visible !important;
margin: 0 !important;
padding: 0 !important;
}

body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item{
display: block !important;
margin: 0 !important;
border-radius: var(--r) !important;
}

body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item:last-child{
border-bottom: 1.5px solid var(--b) !important;
}

body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item:has(.yith-wcpb-bundled-optional:checked):last-child{
border-bottom-color: var(--lvx-accent-dark) !important;
}

body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item-data{
padding-left: 0 !important;
}

/* Il prezzo resta visibile anche sulle voci non ancora aggiunte */
body.lvx-product-bundle .elementor-element-8260eec .lv-collapsed .yith-wcpb-product-bundled-item-data__price{
display: inline-flex !important;
}

body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item-data__price{
display: inline-flex !important;
border: 1px solid var(--b) !important;
border-radius: 999px !important;
background: #fff !important;
}

body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-bundled-optional-wrapper{
display: inline-flex !important;
align-items: center !important;
border-radius: 999px !important;
background: #fff !important;
margin-bottom: 0 !important;
}

body.lvx-product-bundle .elementor-element-8260eec select.yith-wcpb-select-for-variables{
height: 48px !important;
}

body.lvx-product-bundle .elementor-element-8260eec form.cart table.variations{
margin-bottom: 0 !important;
}

/* Scheda di ogni voce */
body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item{
position: relative !important;
border: 1.5px solid var(--b) !important;
background: #fff !important;
padding: var(--pad) !important;
transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease, opacity .2s ease !important;
}

/* Voce obbligatoria (senza casella "Aggiungi"): bordo d'accento a sinistra */
body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item:not(:has(.yith-wcpb-bundled-optional-wrapper)){
border-left: 5px solid var(--lvx-accent) !important;
background: #fffdf3 !important;
}

/* Voce opzionale selezionata */
body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item:has(.yith-wcpb-bundled-optional:checked){
border-color: var(--lvx-accent-dark) !important;
background: var(--lvx-accent-soft) !important;
box-shadow: 0 0 0 3px rgba(246,203,0,.25) !important;
}

/* Voce opzionale non selezionata: passaggio del mouse */
body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item.lv-collapsed:hover{
border-color: var(--b2) !important;
}

/* Titolo: leggibile e mai tagliato */
body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item-data__title{
margin: 0 0 8px 0 !important;
font-size: 16px !important;
line-height: 1.25 !important;
white-space: normal !important;
overflow: visible !important;
text-overflow: clip !important;
font-weight: 800 !important;
color: var(--lvx-ink) !important;
}

body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item-data__title a{
color: var(--lvx-ink) !important;
}

/* Prezzo */
body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item-data__price{
margin: 0 8px 0 0 !important;
font-size: 14px !important;
padding: 6px 12px !important;
min-height: 36px !important;
vertical-align: middle !important;
color: var(--lvx-ink) !important;
}

body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item-data__price .price{
margin: 0 !important;
color: inherit !important;
font-size: inherit !important;
}

body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item-data__price ins{
background: transparent !important;
color: var(--lvx-ink) !important;
}

body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item-data__price del{
text-decoration-thickness: 1px !important;
}

/* Descrizione: niente pile di righe vuote */
body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item-data__description{
margin: 10px 0 0 0 !important;
font-size: 13.5px !important;
line-height: 1.5 !important;
color: var(--muted) !important;
}

body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item-data__description:empty{
display: none !important;
}

body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item-data__description br + br{
display: none !important;
}

/* Casella "Aggiungi": area di tocco piu' grande, stato selezionato evidente */
body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-bundled-optional-wrapper{
margin-top: 10px !important;
padding: 0 16px 0 12px !important;
min-height: 44px !important;
border: 1.5px solid var(--b2) !important;
gap: 10px !important;
cursor: pointer !important;
vertical-align: middle !important;
transition: background-color .15s ease, border-color .15s ease !important;
}

body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-bundled-optional-wrapper:hover{
border-color: var(--lvx-accent-dark) !important;
}

body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-bundled-optional-wrapper:has(.yith-wcpb-bundled-optional:checked){
background: var(--lvx-accent) !important;
border-color: var(--lvx-accent-dark) !important;
}

body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-bundled-optional{
width: 20px !important;
height: 20px !important;
margin: 0 !important;
accent-color: var(--lvx-ink) !important;
flex: 0 0 auto !important;
}

body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-bundled-optional-wrapper label{
display: inline-flex !important;
align-items: center !important;
min-height: 44px !important;
color: var(--lvx-ink) !important;
}

body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-bundled-optional-wrapper label::after{
font-size: 14px !important;
letter-spacing: .01em !important;
}

/* Opzioni (variazioni) */
body.lvx-product-bundle .elementor-element-8260eec .bundled_item_cart_content{
margin-top: 12px !important;
}

body.lvx-product-bundle .elementor-element-8260eec table.variations{
width: 100% !important;
margin: 0 !important;
border: 0 !important;
border-collapse: collapse !important;
background: transparent !important;
}

body.lvx-product-bundle .elementor-element-8260eec table.variations tr,
body.lvx-product-bundle .elementor-element-8260eec table.variations td,
body.lvx-product-bundle .elementor-element-8260eec table.variations th{
display: block !important;
width: 100% !important;
padding: 0 !important;
border: 0 !important;
background: transparent !important;
}

body.lvx-product-bundle .elementor-element-8260eec table.variations td.label,
body.lvx-product-bundle .elementor-element-8260eec table.variations th.label{
padding: 0 0 6px 0 !important;
}

body.lvx-product-bundle .elementor-element-8260eec table.variations .label label{
margin: 0 !important;
font-size: 11.5px !important;
font-weight: 800 !important;
letter-spacing: .06em !important;
text-transform: uppercase !important;
color: var(--muted) !important;
}

body.lvx-product-bundle .elementor-element-8260eec select.yith-wcpb-select-for-variables,
body.lvx-product-bundle .elementor-element-8260eec table.variations select{
min-height: 48px !important;
border: 1.5px solid var(--b2) !important;
border-radius: 12px !important;
padding: 10px 12px !important;
font-size: 15px !important;
color: var(--lvx-ink) !important;
}

body.lvx-product-bundle .elementor-element-8260eec .reset_variations{
display: inline-block !important;
margin-top: 6px !important;
font-size: 12.5px !important;
color: var(--muted) !important;
}

/* Prezzo e disponibilita' della variazione scelta */
body.lvx-product-bundle .elementor-element-8260eec .single_variation{
display: flex !important;
flex-wrap: wrap !important;
align-items: center !important;
gap: 8px 12px !important;
margin-top: 10px !important;
}

body.lvx-product-bundle .elementor-element-8260eec .single_variation:empty{
display: none !important;
}

body.lvx-product-bundle .elementor-element-8260eec .woocommerce-variation-price .price{
margin: 0 !important;
font-size: 17px !important;
font-weight: 900 !important;
color: var(--lvx-ink) !important;
}

body.lvx-product-bundle .elementor-element-8260eec .single_variation .stock{
margin: 0 !important;
padding: 3px 10px !important;
border-radius: 999px !important;
background: rgba(26,127,55,.10) !important;
color: var(--lvx-ok) !important;
font-size: 12.5px !important;
font-weight: 700 !important;
}

body.lvx-product-bundle .elementor-element-8260eec .single_variation .stock.out-of-stock{
background: rgba(180,35,24,.10) !important;
color: var(--danger) !important;
}

/* Pulsanti quantita' */
body.lvx-product-bundle .elementor-element-8260eec .lv-yith-qty-wrap{
gap: 6px !important;
margin-top: 12px !important;
}

body.lvx-product-bundle .elementor-element-8260eec .lv-yith-qty-btn{
width: 44px !important;
height: 44px !important;
border: 1.5px solid var(--b2) !important;
border-radius: 12px !important;
font-size: 22px !important;
color: var(--lvx-ink) !important;
transition: background-color .15s ease, border-color .15s ease !important;
}

body.lvx-product-bundle .elementor-element-8260eec .lv-yith-qty-btn:not(:disabled):hover{
background: var(--lvx-accent) !important;
border-color: var(--lvx-accent-dark) !important;
}

body.lvx-product-bundle .elementor-element-8260eec .lv-yith-qty-display{
min-width: 52px !important;
height: 44px !important;
border: 1.5px solid var(--b) !important;
border-radius: 12px !important;
font-size: 16px !important;
font-weight: 800 !important;
color: var(--lvx-ink) !important;
}

/* Il prezzo non si allarga a tutta la riga */
body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item-data__price{
justify-self: start !important;
width: auto !important;
}

/* I pulsanti +/- non ereditano lo stile giallo del pulsante "aggiungi al carrello" */
body.lvx-product-bundle .elementor-element-8260eec .cart button.lv-yith-qty-btn{
background: #fff !important;
color: var(--lvx-ink) !important;
padding: 0 !important;
letter-spacing: 0 !important;
line-height: 1 !important;
font-family: inherit !important;
font-weight: 700 !important;
border-width: 1.5px !important;
border-color: var(--b2) !important;
border-radius: 12px !important;
}

body.lvx-product-bundle .elementor-element-8260eec .cart button.lv-yith-qty-btn:not(:disabled):hover{
background: var(--lvx-accent) !important;
border-color: var(--lvx-accent-dark) !important;
color: var(--lvx-ink) !important;
}

body.lvx-product-bundle .elementor-element-8260eec .cart button.lv-yith-qty-btn:disabled{
opacity: .4 !important;
}

/* Riepilogo */
body.lvx-product-bundle .elementor-element-8260eec .lv-bundle-summary{
border: 0 !important;
border-radius: 14px !important;
background: #f4f5f4 !important;
padding: 14px !important;
}

body.lvx-product-bundle .elementor-element-8260eec .lv-bundle-summary__title{
margin: 0 0 10px 0 !important;
font-size: 11.5px !important;
letter-spacing: .08em !important;
}

body.lvx-product-bundle .elementor-element-8260eec .lv-bundle-summary__list{
gap: 8px !important;
}

body.lvx-product-bundle .elementor-element-8260eec .lv-bundle-summary__row{
font-size: 14px !important;
align-items: flex-start !important;
}

body.lvx-product-bundle .elementor-element-8260eec .lv-bundle-summary__left{
flex: 1 1 auto !important;
}

body.lvx-product-bundle .elementor-element-8260eec .lv-bundle-summary__name{
font-weight: 600 !important;
white-space: normal !important;
overflow: visible !important;
max-width: none !important;
}

body.lvx-product-bundle .elementor-element-8260eec .lv-bundle-summary__right{
font-weight: 800 !important;
}

body.lvx-product-bundle .elementor-element-8260eec .lv-bundle-summary__divider{
display: none !important;
}

body.lvx-product-bundle .elementor-element-8260eec .lv-bundle-summary__total{
margin-top: 12px !important;
padding: 12px 14px !important;
border-radius: 12px !important;
background: var(--lvx-ink) !important;
color: #fff !important;
font-size: 15px !important;
align-items: center !important;
}

body.lvx-product-bundle .elementor-element-8260eec .lv-bundle-summary__totalval{
font-size: 20px !important;
font-weight: 900 !important;
color: var(--lvx-accent) !important;
}

body.lvx-product-bundle .elementor-element-8260eec .lv-bundle-summary__hint{
margin: 8px 0 0 0 !important;
font-size: 12.5px !important;
}

/* Avviso "non disponibile" */
body.lvx-product-bundle .elementor-element-8260eec .lv-unavailable-note{
display: inline-block !important;
margin-top: 8px !important;
padding: 3px 10px !important;
border-radius: 999px !important;
background: rgba(180,35,24,.10) !important;
}

/* "Ordina per importanza" */
body.lvx-product-bundle .elementor-element-8260eec #wcps-wrap{
margin: 0 0 14px 0 !important;
}

body.lvx-product-bundle .elementor-element-8260eec #wcps-sortable li{
cursor: grab !important;
}

/* Pulsante finale: quantita' nascosta se non serve, pulsante a tutta larghezza */
body.lvx-product-bundle .elementor-element-8260eec .single_add_to_cart_button{
min-height: 54px !important;
border-radius: 50px !important;
}

/* Focus visibile da tastiera */
body.lvx-layout .elementor-element-8260eec select:focus-visible,
body.lvx-layout .elementor-element-8260eec input:focus-visible,
body.lvx-layout .elementor-element-8260eec button:focus-visible{
outline: 3px solid var(--lvx-accent-dark);
outline-offset: 2px;
box-shadow: none;
}

@media (max-width: 480px){
/* Su telefono: un solo riquadro attorno alle schede, per dare piu' larghezza al contenuto */
body.lvx-product-bundle .elementor-element-8260eec{
padding: 12px 12px 18px !important;
}

body.lvx-product-bundle .elementor-element-8260eec form.yith-wcpb-bundle-form{
padding: 0 !important;
gap: 12px !important;
background: transparent !important;
box-shadow: none !important;
border-radius: 0 !important;
}

body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item{
padding: 12px !important;
}

body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item-data__title{
font-size: 15px !important;
}
}

@media (prefers-reduced-motion: reduce){
body.lvx-layout .elementor-element-8260eec *{
transition: none !important;
}
}

/* ============ PRODOTTI NON BUNDLE ============ */
/* Il riquadro grigio conteneva solo il pulsante: lo si toglie e si da' piu' presenza al pulsante. */

body.lvx-product-standard .elementor-element-8260eec,
body.lvx-product-standard .elementor-element-8260eec > .elementor-widget-container{
background: transparent !important;
box-shadow: none !important;
border: 0 !important;
padding: 0 !important;
width: 100% !important;
max-width: 420px !important;
}

body.lvx-product-standard .elementor-element-8260eec form.cart{
margin: 0;
}

body.lvx-product-standard .elementor-element-8260eec .e-atc-qty-button-holder{
display: flex;
flex-wrap: wrap;
align-items: stretch;
gap: 10px;
width: 100%;
}

body.lvx-product-standard .elementor-element-8260eec .single_add_to_cart_button{
flex: 1 1 220px;
min-height: 56px;
justify-content: center;
}

body.lvx-product-standard .elementor-element-8260eec .quantity input.qty{
min-height: 56px;
border: 1.5px solid rgba(255,255,255,.5);
border-radius: 12px;
text-align: center;
}

@media (max-width: 767px){
body.lvx-product-standard .elementor-element-8260eec,
body.lvx-product-standard .elementor-element-8260eec > .elementor-widget-container{
max-width: none !important;
}
}

/* ============ v1.1 - GRAFICA PIU' MODERNA E UX ============ */

body.lvx-product-bundle .elementor-element-8260eec form.yith-wcpb-bundle-form,
body.lvx-product-bundle .elementor-element-8260eec form.yith-wcpb-bundle-form select,
body.lvx-product-bundle .elementor-element-8260eec form.yith-wcpb-bundle-form button.lv-yith-qty-btn{
font-family: Poppins, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
}

/* Intestazione della scheda: titolo a sinistra, prezzo a destra */
body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item .yith-wcpb-product-bundled-item-data{
display: grid !important;
grid-template-columns: minmax(0, 1fr) auto !important;
grid-template-areas: "title price" "opt opt" !important;
gap: 10px 14px !important;
align-items: start !important;
}

body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item:not(.lv-collapsed) .yith-wcpb-product-bundled-item-data{
grid-template-areas: "title price" "desc desc" "opt opt" "vars qty" !important;
}

body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item-data__title{
grid-area: title !important;
margin: 0 !important;
font-size: 16px !important;
font-weight: 700 !important;
line-height: 1.3 !important;
}

body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item-data__price,
body.lvx-product-bundle .elementor-element-8260eec .lv-collapsed .yith-wcpb-product-bundled-item-data__price{
grid-area: price !important;
display: block !important;
justify-self: end !important;
align-self: start !important;
margin: 0 !important;
padding: 0 !important;
min-height: 0 !important;
border: 0 !important;
border-radius: 0 !important;
background: transparent !important;
text-align: right !important;
font-size: 16px !important;
font-weight: 800 !important;
line-height: 1.3 !important;
white-space: nowrap !important;
}

body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item-data__price *{
text-align: right !important;
}

body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item-data__price del{
display: block !important;
margin: 0 !important;
font-size: 12.5px !important;
font-weight: 500 !important;
opacity: .55 !important;
}

body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item-data__description{
grid-area: desc !important;
margin: 0 !important;
}

body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item-data__optional{
grid-area: opt !important;
margin: 0 !important;
justify-self: start !important;
}

body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item:not(.lv-collapsed) .yith-wcpb-product-bundled-item-data__optional{
justify-self: stretch !important;
}

body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item-data__variations_form{
grid-area: vars !important;
margin: 0 !important;
}

body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item-data__quantity{
grid-area: qty !important;
align-self: end !important;
}

body.lvx-product-bundle .elementor-element-8260eec .lv-yith-qty-wrap{
margin-top: 0 !important;
}

/* Schede: bordo leggero, ombra morbida, risposta al tocco */
body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item{
border: 1px solid rgba(0,0,0,.10) !important;
border-radius: 16px !important;
padding: 16px !important;
box-shadow: 0 1px 2px rgba(0,0,0,.04) !important;
}

body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item:last-child{
border-bottom: 1px solid rgba(0,0,0,.10) !important;
}

body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item.lv-collapsed:not(.lv-unavailable):not(.lv-visual-disabled){
cursor: pointer !important;
}

body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item.lv-collapsed:not(.lv-unavailable):not(.lv-visual-disabled):hover{
border-color: var(--lvx-accent-dark) !important;
box-shadow: 0 6px 18px rgba(0,0,0,.08) !important;
transform: translateY(-1px);
}

body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item:not(:has(.yith-wcpb-bundled-optional-wrapper)){
border-left: 1px solid rgba(0,0,0,.10) !important;
background: #fff !important;
box-shadow: inset 4px 0 0 var(--lvx-accent), 0 1px 2px rgba(0,0,0,.04) !important;
}

body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item:has(.yith-wcpb-bundled-optional:checked),
body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item:has(.yith-wcpb-bundled-optional:checked):last-child{
border-color: var(--lvx-accent-dark) !important;
background: #fffbe8 !important;
box-shadow: 0 0 0 2px var(--lvx-accent), 0 8px 22px rgba(206,161,4,.16) !important;
}

/* Casella "Aggiungi": piu' compatta da chiusa, a tutta larghezza da selezionata */
body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-bundled-optional-wrapper{
margin-top: 0 !important;
min-height: 42px !important;
padding: 0 18px 0 12px !important;
border: 1px solid rgba(0,0,0,.18) !important;
background: #f6f7f6 !important;
}

body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-bundled-optional-wrapper label{
min-height: 42px !important;
}

body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-bundled-optional-wrapper:has(.yith-wcpb-bundled-optional:checked){
background: var(--lvx-accent) !important;
border-color: var(--lvx-accent-dark) !important;
}

/* Campi */
body.lvx-product-bundle .elementor-element-8260eec select.yith-wcpb-select-for-variables,
body.lvx-product-bundle .elementor-element-8260eec table.variations select{
border: 1px solid rgba(0,0,0,.22) !important;
border-radius: 12px !important;
background-color: #fff !important;
transition: border-color .15s ease, box-shadow .15s ease;
}

body.lvx-product-bundle .elementor-element-8260eec table.variations select:hover{
border-color: var(--lvx-ink) !important;
}

/* Voce da completare: richiamo quando si preme il pulsante con un'opzione mancante */
body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item.lvx-attention{
animation: lvx-attention 0.6s ease 0s 3;
border-color: #b42318 !important;
}

@keyframes lvx-attention{
0%, 100%{ box-shadow: 0 0 0 0 rgba(180,35,24,.0); }
50%{ box-shadow: 0 0 0 5px rgba(180,35,24,.28); }
}

/* Riepilogo: scheda pulita con totale in evidenza */
body.lvx-product-bundle .elementor-element-8260eec .lv-bundle-summary{
background: #fff !important;
border: 1px solid rgba(0,0,0,.10) !important;
border-radius: 16px !important;
padding: 16px !important;
box-shadow: 0 1px 2px rgba(0,0,0,.04) !important;
}

body.lvx-product-bundle .elementor-element-8260eec .lv-bundle-summary__list{
gap: 0 !important;
}

body.lvx-product-bundle .elementor-element-8260eec .lv-bundle-summary__row{
padding: 9px 0 !important;
border-bottom: 1px dashed rgba(0,0,0,.12) !important;
gap: 14px !important;
}

body.lvx-product-bundle .elementor-element-8260eec .lv-bundle-summary__row:last-child{
border-bottom: 0 !important;
}

body.lvx-product-bundle .elementor-element-8260eec .lv-bundle-summary__meta:not(:empty){
padding: 1px 8px !important;
border-radius: 999px !important;
background: rgba(0,0,0,.07) !important;
font-size: 12px !important;
color: var(--lvx-ink) !important;
}

body.lvx-product-bundle .elementor-element-8260eec .lv-bundle-summary__total{
margin-top: 8px !important;
padding: 14px 16px !important;
border-radius: 14px !important;
}

body.lvx-product-bundle .elementor-element-8260eec .lv-bundle-summary__totalval{
font-size: 22px !important;
font-variant-numeric: tabular-nums;
}

body.lvx-product-bundle .elementor-element-8260eec .lv-bundle-summary__right{
font-variant-numeric: tabular-nums;
}

.lvx-bump{
animation: lvx-bump .35s ease;
}

@keyframes lvx-bump{
0%{ transform: scale(1); }
40%{ transform: scale(1.12); }
100%{ transform: scale(1); }
}

/* Barra fissa con totale e pulsante */
.lvx-bar{
position: fixed;
left: 0;
right: 0;
bottom: 0;
z-index: 9990;
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
padding: 10px 14px calc(10px + env(safe-area-inset-bottom, 0px));
background: #1d2422;
color: #fff;
box-shadow: 0 -8px 24px rgba(0,0,0,.22);
font-family: Poppins, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
transform: translateY(110%);
visibility: hidden;
transition: transform .25s ease, visibility 0s linear .25s;
}

.lvx-bar.is-on{
transform: translateY(0);
visibility: visible;
transition: transform .25s ease, visibility 0s;
}

.lvx-bar__total{
display: flex;
flex-direction: column;
min-width: 0;
line-height: 1.15;
}

.lvx-bar__label{
font-size: 11px;
font-weight: 600;
letter-spacing: .08em;
text-transform: uppercase;
opacity: .7;
}

.lvx-bar__value{
font-size: 20px;
font-weight: 800;
color: #f6cb00;
white-space: nowrap;
font-variant-numeric: tabular-nums;
transform-origin: left center;
}

.lvx-bar__btn{
flex: 0 1 auto;
min-height: 48px;
padding: 0 22px;
border: 0;
border-radius: 999px;
background: #f6cb00;
color: #1d2422;
font-family: inherit;
font-size: 14px;
font-weight: 700;
letter-spacing: .06em;
text-transform: uppercase;
cursor: pointer;
transition: background-color .15s ease, transform .1s ease;
}

.lvx-bar__btn:hover{
background: #ffd92e;
color: #1d2422;
}

.lvx-bar__btn:active{
transform: scale(.97);
}

.lvx-bar--solo{
justify-content: center;
}

.lvx-bar--solo .lvx-bar__btn{
flex: 1 1 auto;
max-width: 520px;
}

@media (min-width: 768px){
.lvx-bar{
left: 50%;
right: auto;
bottom: 18px;
width: min(560px, calc(100vw - 32px));
border-radius: 999px;
padding: 10px 12px 10px 26px;
transform: translate(-50%, 160%);
box-shadow: 0 12px 34px rgba(0,0,0,.32);
}

.lvx-bar.is-on{
transform: translate(-50%, 0);
}
}

/* Schermi larghi con modulo a destra: la barra si aggancia sotto la colonna del modulo */
@media (min-width: 1025px){
body.lvx-onepage .lvx-bar{
right: auto;
bottom: 14px;
border-radius: 16px;
padding: 10px 12px 10px 22px;
transform: translateY(160%);
}

body.lvx-onepage .lvx-bar.is-on{
transform: translateY(0);
}
}

/* Con la barra visibile, i pulsanti flottanti (WhatsApp, cookie) salgono per non sovrapporsi */
@media (max-width: 767px){
body.lvx-bar-on .joinchat{
--bottom: 84px;
}

body.lvx-bar-on button.iubenda-tp-btn.iubenda-tp-btn.iubenda-tp-btn.iubenda-tp-btn{
transform: translateY(-72px) !important;
}
}

@media (max-width: 560px){
body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item:not(.lv-collapsed) .yith-wcpb-product-bundled-item-data{
grid-template-columns: minmax(0, 1fr) auto !important;
grid-template-areas: "title price" "desc desc" "opt opt" "vars vars" "qty qty" !important;
}

body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item-data__quantity{
justify-content: flex-start !important;
}

body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item{
padding: 14px !important;
}

body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item-data__title{
font-size: 15px !important;
}
}

@media (prefers-reduced-motion: reduce){
.lvx-bar,
.lvx-bump,
body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item.lvx-attention{
transition: none !important;
animation: none !important;
}
}


/* ============ v1.3 - VISTA COMPATTA: quasi tutto in una schermata ============ */

body.lvx-product-bundle .elementor-element-8260eec{
padding: 14px !important;
}

body.lvx-product-bundle .elementor-element-8260eec form.yith-wcpb-bundle-form{
padding: 12px !important;
gap: 10px !important;
}

body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-items{
gap: 8px !important;
}

/* Ogni voce e' una riga: titolo, prezzo e casella sulla stessa linea */
body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item,
body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item:not(.lv-collapsed){
padding: 10px 14px !important;
border-radius: 12px !important;
}

body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item .yith-wcpb-product-bundled-item-data{
grid-template-columns: minmax(0, 1fr) auto auto !important;
grid-template-areas: "title price opt" !important;
gap: 6px 14px !important;
align-items: center !important;
}

body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item:not(.lv-collapsed) .yith-wcpb-product-bundled-item-data{
grid-template-areas: "title price opt" "desc desc desc" "vars vars qty" !important;
}

body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item-data__title{
font-size: 14.5px !important;
font-weight: 600 !important;
line-height: 1.3 !important;
}

body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item-data__price,
body.lvx-product-bundle .elementor-element-8260eec .lv-collapsed .yith-wcpb-product-bundled-item-data__price{
align-self: center !important;
font-size: 14.5px !important;
}

body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item-data__price del{
display: inline !important;
margin-right: 6px !important;
font-size: 12px !important;
}

body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item-data__optional,
body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item:not(.lv-collapsed) .yith-wcpb-product-bundled-item-data__optional{
justify-self: end !important;
align-self: center !important;
}

body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-bundled-optional-wrapper{
min-height: 36px !important;
padding: 0 14px 0 10px !important;
gap: 8px !important;
}

body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-bundled-optional-wrapper label{
min-height: 36px !important;
}

body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-bundled-optional-wrapper label::after{
font-size: 13px !important;
}

body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-bundled-optional{
width: 18px !important;
height: 18px !important;
}

body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item-data__description{
font-size: 12.5px !important;
line-height: 1.45 !important;
}

/* Opzioni e quantita' sulla stessa riga */
body.lvx-product-bundle .elementor-element-8260eec .bundled_item_cart_content{
margin-top: 0 !important;
}

body.lvx-product-bundle .elementor-element-8260eec table.variations td.label,
body.lvx-product-bundle .elementor-element-8260eec table.variations th.label{
padding: 0 0 3px 0 !important;
}

body.lvx-product-bundle .elementor-element-8260eec table.variations .label label{
font-size: 10.5px !important;
}

body.lvx-product-bundle .elementor-element-8260eec select.yith-wcpb-select-for-variables,
body.lvx-product-bundle .elementor-element-8260eec table.variations select{
height: 42px !important;
min-height: 42px !important;
padding: 6px 12px !important;
font-size: 14px !important;
}

body.lvx-product-bundle .elementor-element-8260eec .reset_variations{
display: none !important;
}

body.lvx-product-bundle .elementor-element-8260eec .single_variation{
margin-top: 6px !important;
gap: 4px 10px !important;
}

body.lvx-product-bundle .elementor-element-8260eec .woocommerce-variation-price .price{
font-size: 14px !important;
}

body.lvx-product-bundle .elementor-element-8260eec .woocommerce-variation-description:empty,
body.lvx-product-bundle .elementor-element-8260eec .woocommerce-variation-availability:empty{
display: none !important;
}

body.lvx-product-bundle .elementor-element-8260eec .cart button.lv-yith-qty-btn{
width: 38px !important;
height: 38px !important;
font-size: 20px !important;
border-radius: 10px !important;
}

body.lvx-product-bundle .elementor-element-8260eec .lv-yith-qty-display{
min-width: 40px !important;
height: 38px !important;
font-size: 15px !important;
border-radius: 10px !important;
}

/* Riepilogo compatto */
body.lvx-product-bundle .elementor-element-8260eec .lv-bundle-summary{
padding: 12px 14px !important;
border-radius: 12px !important;
}

body.lvx-product-bundle .elementor-element-8260eec .lv-bundle-summary__title{
margin: 0 0 4px 0 !important;
font-size: 10.5px !important;
}

body.lvx-product-bundle .elementor-element-8260eec .lv-bundle-summary__row{
padding: 5px 0 !important;
font-size: 13px !important;
}

body.lvx-product-bundle .elementor-element-8260eec .lv-bundle-summary__total{
margin-top: 6px !important;
padding: 10px 14px !important;
border-radius: 10px !important;
font-size: 14px !important;
}

body.lvx-product-bundle .elementor-element-8260eec .lv-bundle-summary__totalval{
font-size: 20px !important;
}

body.lvx-product-bundle .elementor-element-8260eec .lv-bundle-summary__hint{
margin: 6px 0 0 0 !important;
font-size: 11.5px !important;
}

/* "Ordina per importanza" compatto */
body.lvx-product-bundle .elementor-element-8260eec #wcps-wrap{
margin: 0 0 10px 0 !important;
padding: 10px 12px !important;
border-radius: 12px !important;
background: #fff;
}

body.lvx-product-bundle .elementor-element-8260eec #wcps-wrap h4{
margin: 0 0 2px 0 !important;
font-size: 13px !important;
}

body.lvx-product-bundle .elementor-element-8260eec #wcps-wrap p{
margin: 0 0 6px 0 !important;
font-size: 12px !important;
}

body.lvx-product-bundle .elementor-element-8260eec #wcps-sortable{
gap: 6px !important;
max-width: none !important;
margin-top: 0 !important;
}

body.lvx-product-bundle .elementor-element-8260eec #wcps-sortable li{
padding: 7px 10px !important;
font-size: 13.5px !important;
}

body.lvx-product-bundle .elementor-element-8260eec .single_add_to_cart_button{
min-height: 50px !important;
}

@media (min-width: 1025px){
/* Schermi larghi: le tre voci da ordinare stanno su una riga */
body.lvx-onepage.lvx-product-bundle .elementor-element-8260eec #wcps-sortable{
flex-direction: row !important;
}

body.lvx-onepage.lvx-product-bundle .elementor-element-8260eec #wcps-sortable li{
flex: 1 1 0;
min-width: 0;
}
}

@media (max-width: 560px){
/* Telefono: casella a sinistra, titolo, prezzo. Tutta la riga si tocca per aggiungere. */
body.lvx-product-bundle .elementor-element-8260eec{
padding: 10px 10px 16px !important;
}

body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item,
body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item:not(.lv-collapsed){
padding: 10px 12px !important;
}

body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item .yith-wcpb-product-bundled-item-data{
grid-template-columns: auto minmax(0, 1fr) auto !important;
grid-template-areas: "opt title price" !important;
gap: 6px 10px !important;
}

body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item:not(.lv-collapsed) .yith-wcpb-product-bundled-item-data{
grid-template-columns: auto minmax(0, 1fr) auto !important;
grid-template-areas: "opt title price" "desc desc desc" "vars vars vars" "qty qty qty" !important;
}

body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item-data__optional,
body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item:not(.lv-collapsed) .yith-wcpb-product-bundled-item-data__optional{
justify-self: start !important;
}

body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-bundled-optional-wrapper,
body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-bundled-optional-wrapper:has(.yith-wcpb-bundled-optional:checked){
min-height: 0 !important;
padding: 0 !important;
border: 0 !important;
background: transparent !important;
}

body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-bundled-optional-wrapper label{
position: absolute !important;
width: 1px !important;
height: 1px !important;
min-height: 0 !important;
overflow: hidden !important;
clip: rect(0 0 0 0) !important;
}

body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-bundled-optional{
width: 24px !important;
height: 24px !important;
}

body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item-data__title{
font-size: 14px !important;
}

body.lvx-product-bundle .elementor-element-8260eec .yith-wcpb-product-bundled-item-data__price del{
display: block !important;
margin: 0 !important;
}
}

/* Prodotti non bundle: pulsante con piu' presenza */
body.lvx-product-standard .elementor-element-8260eec .single_add_to_cart_button{
box-shadow: 0 8px 22px rgba(246,203,0,.28);
transition: transform .12s ease, box-shadow .15s ease !important;
}

body.lvx-product-standard .elementor-element-8260eec .single_add_to_cart_button:hover{
transform: translateY(-1px);
box-shadow: 0 12px 28px rgba(246,203,0,.36);
}

body.lvx-product-standard .elementor-element-8260eec .single_add_to_cart_button:active{
transform: translateY(0) scale(.98);
}
