/* LV Experience - Pagina prodotto: sezione principale (titolo, prezzo, informazioni, immagine).
   Solo stile: nessun testo viene cambiato. Vale per tutti i modelli prodotto, che condividono gli stessi blocchi. */

body.lvx-layout .elementor-location-single{
--lvx-accent: #f6cb00;
--lvx-accent-dark: #cea104;
--lvx-ink: #1d2422;
--lvx-line: rgba(255,255,255,.14);
--lvx-tile: rgba(255,255,255,.06);
}

/* Colonna sinistra: ritmo verticale piu' compatto */
body.lvx-layout .elementor-element-417036a3{
gap: 22px !important;
}

/* Etichetta sopra il titolo */
body.lvx-layout .elementor-element-47daa6d .elementor-heading-title{
display: inline-block;
padding: 6px 14px;
border: 1px solid rgba(246,203,0,.45);
border-radius: 999px;
background: rgba(246,203,0,.10);
font-size: 13px !important;
font-weight: 600 !important;
letter-spacing: .12em !important;
line-height: 1.2 !important;
text-transform: uppercase;
}

/* Titolo */
body.lvx-layout .elementor-element-59ea245 .elementor-heading-title{
font-size: clamp(30px, 3.4vw, 46px) !important;
line-height: 1.05 !important;
letter-spacing: -.01em;
text-wrap: balance;
}

/* Prezzo */
body.lvx-layout .elementor-location-single .elementor-widget-woocommerce-product-price .price{
display: flex;
flex-wrap: wrap;
align-items: baseline;
gap: 4px 12px;
margin: 0;
color: var(--lvx-accent) !important;
font-size: clamp(28px, 2.6vw, 36px) !important;
font-weight: 800 !important;
line-height: 1.1 !important;
font-variant-numeric: tabular-nums;
}

body.lvx-layout .elementor-location-single .elementor-widget-woocommerce-product-price .price ins{
background: transparent;
color: inherit;
text-decoration: none;
}

body.lvx-layout .elementor-location-single .elementor-widget-woocommerce-product-price .price del{
color: rgba(255,255,255,.55) !important;
font-size: .55em;
font-weight: 500;
}

/* Informazioni (date, annate, luogo...): riquadri al posto dell'elenco */
body.lvx-layout .elementor-element-ef4f947 .elementor-icon-list-items{
display: grid !important;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 10px;
margin: 0 !important;
padding: 0 !important;
}

body.lvx-layout .elementor-element-ef4f947 .elementor-icon-list-item{
display: flex !important;
align-items: center !important;
gap: 12px;
margin: 0 !important;
padding: 14px 16px !important;
border: 1px solid var(--lvx-line);
border-radius: 14px;
background: var(--lvx-tile);
}

body.lvx-layout .elementor-element-ef4f947 .elementor-icon-list-item::after{
display: none !important;
}

/* Un numero dispari di voci: l'ultima occupa tutta la riga */
body.lvx-layout .elementor-element-ef4f947 .elementor-icon-list-item:last-child:nth-child(odd){
grid-column: 1 / -1;
}

body.lvx-layout .elementor-element-ef4f947 .elementor-icon-list-icon{
flex: 0 0 auto;
display: inline-flex !important;
align-items: center;
justify-content: center;
width: 38px;
height: 38px;
border-radius: 10px;
background: rgba(246,203,0,.14);
padding: 0 !important;
}

body.lvx-layout .elementor-element-ef4f947 .elementor-icon-list-icon svg,
body.lvx-layout .elementor-element-ef4f947 .elementor-icon-list-icon i{
width: 18px !important;
height: 18px !important;
font-size: 18px !important;
}

body.lvx-layout .elementor-element-ef4f947 .elementor-icon-list-text{
padding: 0 !important;
font-size: 14px !important;
font-weight: 600 !important;
line-height: 1.35 !important;
letter-spacing: .02em;
}

/* Immagine */
body.lvx-layout .elementor-element-2ce6d93 img{
display: block;
width: 100%;
border-radius: 22px !important;
object-fit: cover;
box-shadow: 0 24px 60px rgba(0,0,0,.5);
}

@media (min-width: 1025px){
/* Struttura a due colonne, sistemata da layout.js (classe lvx-onepage):
   bundle  -> a sinistra titolo, prezzo, informazioni e immagine; a destra il modulo di acquisto
   singolo -> a sinistra titolo, prezzo, informazioni e pulsante; a destra l'immagine */
body.lvx-onepage .elementor-element-4fd8abb3,
body.lvx-onepage .elementor-element-4fd8abb3 > .e-con-inner{
align-items: flex-start !important;
gap: 56px !important;
}

body.lvx-onepage .elementor-element-417036a3{
flex: 0 0 42% !important;
width: 42% !important;
max-width: 42% !important;
padding-right: 0 !important;
padding-bottom: 32px !important;
gap: 16px !important;
}

body.lvx-onepage .elementor-element-415fe6f0{
flex: 1 1 0 !important;
width: auto !important;
max-width: none !important;
min-width: 0 !important;
padding: 0 !important;
margin-top: 26px !important;
}

body.lvx-onepage .elementor-element-59ea245 .elementor-heading-title{
font-size: clamp(28px, 2.7vw, 40px) !important;
}

/* Bundle: la colonna informativa resta ferma mentre si scorre il modulo */
body.lvx-onepage.lvx-product-bundle .elementor-element-417036a3{
position: sticky !important;
top: var(--lvx-sticky-top, 150px);
align-self: flex-start !important;
}

body.lvx-onepage.lvx-product-bundle .elementor-element-2ce6d93{
width: 100% !important;
max-width: 100% !important;
}

body.lvx-onepage.lvx-product-bundle .elementor-element-2ce6d93 img{
height: clamp(150px, calc(100vh - 650px), 360px) !important;
box-shadow: none;
}

body.lvx-onepage .elementor-element-415fe6f0,
body.lvx-onepage .elementor-element-415fe6f0 > .e-con-inner{
gap: 12px !important;
}

body.lvx-onepage.lvx-product-bundle .elementor-element-8260eec{
width: 100% !important;
max-width: 100% !important;
}

/* Prodotto singolo: immagine grande a destra, ferma */
body.lvx-onepage.lvx-product-standard .elementor-element-415fe6f0{
position: sticky !important;
top: var(--lvx-sticky-top, 150px);
align-self: flex-start !important;
margin-top: 64px !important;
}

body.lvx-onepage.lvx-product-standard .elementor-element-2ce6d93 img{
height: min(56vh, 560px) !important;
min-height: 280px;
}
}

@media (max-width: 560px){
/* Telefono: informazioni in un unico riquadro a righe */
body.lvx-layout .elementor-element-ef4f947 .elementor-icon-list-items{
grid-template-columns: 1fr;
gap: 0;
border: 1px solid var(--lvx-line);
border-radius: 16px;
background: var(--lvx-tile);
overflow: hidden;
}

body.lvx-layout .elementor-element-ef4f947 .elementor-icon-list-item{
border: 0;
border-bottom: 1px solid var(--lvx-line);
border-radius: 0;
background: transparent;
padding: 12px 14px !important;
}

body.lvx-layout .elementor-element-ef4f947 .elementor-icon-list-item:last-child{
border-bottom: 0;
}

body.lvx-layout .elementor-element-ef4f947 .elementor-icon-list-icon{
width: 34px;
height: 34px;
}

body.lvx-layout .elementor-element-ef4f947 .elementor-icon-list-text{
font-size: 13.5px !important;
}
}
