/* 
    ================================================
        !INIZIO! 

        PARTE FILO PER COLORI DINAMICI DI CARD 
        CATEGORIE E PRODOTTI CREA LA TUA BOX
    ================================================
*/

/* 
    ==========================================
        DEFINIZIONE COLORI
    ========================================== 
*/
:root 
{
    /* PALETTE COLORI (Base e Contrasto) */
    --clr-rosa: #F9BED9;
    --clr-rosa-contrasto: #9F315F;
    --clr-viola: #D3B8D6; 
    --clr-viola-contrasto: #6B3F78;
    --clr-blu: #ACCEEC; 
    --clr-blu-contrasto: #245A96;
    --clr-verde: #B9DAB3; 
    --clr-verde-contrasto: #2F6F2F;
    --clr-giallo: #FEE5A3; 
    --clr-giallo-contrasto: #B66B00;

    --clr-crea-box: #4d3a30;

    /* FONT */
    --title-prodotto-crea-box-font-size: 16px;
}

/* 
    ==========================================
        Definizione dei colori basandosi su quale frutto è, lo capisce cercando dei match nel nome dell'immagine:
        es.:
            .product-card-diag[data-frutto-immagine*="Albicocca"] -> Questo è per le pagine di categorie
            .woosb-product:has(img[src*="Albicocca"]) -> Questo è per la pagina prodotto delle box
    ========================================== 
*/

/* VIOLA */
.product-card-diag[data-frutto-immagine*="Albicocca"],
.woosb-product:has(img[src*="Albicocca"]),

.product-card-diag[data-frutto-immagine*="Prugna-2"],
.woosb-product:has(img[src*="Prugna-2"]),

.product-card-diag[data-frutto-immagine*="frutta-gelato-Fico-1"],
.woosb-product:has(img[src*="frutta-gelato-Fico-1"]),

.product-card-diag[data-frutto-immagine*="Lime-1"],
.woosb-product:has(img[src*="Lime-1"]),

.product-card-diag[data-frutto-immagine*="scheda-box-frutta-gelato-mista"],
.woosb-product:has(img[src*="scheda-box-frutta-gelato-mista"])
{
    --colore-main: var(--clr-viola);
    --colore-contrasto: var(--clr-viola-contrasto);
    --card-text-color: var(--clr-viola-contrasto);
}

/* BLU */
.product-card-diag[data-frutto-immagine*="frutta-gelato-Fico-dindia-2"],
.woosb-product:has(img[src*="frutta-gelato-Fico-dindia-2"]),

.product-card-diag[data-frutto-immagine*="pera--"],
.woosb-product:has(img[src*="pera--"]),

.product-card-diag[data-frutto-immagine*="Arancia--"],
.woosb-product:has(img[src*="Arancia--"]),

.product-card-diag[data-frutto-immagine*="Kiwi-2"],
.woosb-product:has(img[src*="Kiwi-2"]),

.product-card-diag[data-frutto-immagine*="Limone-1"],
.woosb-product:has(img[src*="Limone-1"]),

.product-card-diag[data-frutto-immagine*="Bananito-1"],
.woosb-product:has(img[src*="Bananito-1"]),

.product-card-diag[data-frutto-immagine*="Melograno"],
.woosb-product:has(img[src*="Melograno"]),

.product-card-diag[data-frutto-immagine*="pera-"],
.woosb-product:has(img[src*="pera-"]),

.product-card-diag[data-frutto-immagine*="Arancia-"],
.woosb-product:has(img[src*="Arancia-"]),

.product-card-diag[data-frutto-immagine*="Arachidi-1"],
.woosb-product:has(img[src*="Arachidi-1"])
{
    --colore-main: var(--clr-blu);
    --colore-contrasto: var(--clr-blu-contrasto);
    --card-text-color: var(--clr-blu-contrasto);
}

/* VERDE */
.product-card-diag[data-frutto-immagine*="Mandarino-1"],
.woosb-product:has(img[src*="Mandarino-1"]),

.product-card-diag[data-frutto-immagine*="Mela-1"],
.woosb-product:has(img[src*="Mela-1"]),

.product-card-diag[data-frutto-immagine*="Nespola-"],
.woosb-product:has(img[src*="Nespola-"]),

.product-card-diag[data-frutto-immagine*="Noce-1"],
.woosb-product:has(img[src*="Noce-1"])
{
    --colore-main: var(--clr-verde);
    --colore-contrasto: var(--clr-verde-contrasto);
    --card-text-color: var(--clr-verde-contrasto);
}

/* GIALLO */
.product-card-diag[data-frutto-immagine*="Pesca-2"],
.woosb-product:has(img[src*="Pesca-2"]), 

.product-card-diag[data-frutto-immagine*="Castagna-1"],
.woosb-product:has(img[src*="Castagna-1"]), 

.product-card-diag[data-frutto-immagine*="Mela-Verde"],
.woosb-product:has(img[src*="Mela-Verde"])
{
    --colore-main: var(--clr-giallo);
    --colore-contrasto: var(--clr-giallo-contrasto);
    --card-text-color: var(--clr-giallo-contrasto);
}

/* ROSA */
.product-card-diag[data-frutto-immagine*="passione-1"],
.woosb-product:has(img[src*="passione-1"]), 

.product-card-diag[data-frutto-immagine*="fragola-"],
.woosb-product:has(img[src*="fragola-"]), 

.product-card-diag[data-frutto-immagine*="Dattero-1"],
.woosb-product:has(img[src*="Dattero-1"]),

.product-card-diag[data-frutto-immagine*="crea-tua-box"],
.woosb-product:has(img[src*="crea-tua-box"])
{
    --colore-main: var(--clr-rosa);
    --colore-contrasto: var(--clr-rosa-contrasto);
    --card-text-color: var(--clr-rosa-contrasto);
}

/* APPLICAZIONE CSS DINAMICO E STATICO */

/* DEFINIZIONE COLORE GENERICO BASATO SUL FRUTTO nella card prodotto pagine categorie */
.elementor-element.product-card-diag p.price {
    color: var(--card-text-color, white) !important;
}

/* Pagina box prodotto */

.woosb-product {
    border-radius: 30px !important;
    background: var(--colore-main, transparent) !important;
    border-color: transparent !important;
}
.woosb-product:hover {
    border-color: transparent !important;
}

/* IMMAGINE SFUMATA AI BORDI (MASCHERA) */

.woosb-product .woosb-thumb-ori {
    display: block;
    border-radius: 30px !important;
    overflow: hidden;
}

.woosb-product .woosb-thumb-ori img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 30px !important;
    
    /* Applica la maschera: nera (100% visibile) al centro, trasparente ai bordi */
    -webkit-mask-image: radial-gradient(circle, rgba(0,0,0,1) 30%, rgba(0,0,0,0) 100%);
    mask-image: radial-gradient(circle, rgba(0,0,0,1) 30%, rgba(0,0,0,0) 100%);
}

/* Immagini */
.woosb-product img {
    border-radius: 30px !important;
}

/* Titoli dei Prodotti */
.woosb-product .woosb-title .woosb-name a {
    color: var(--colore-contrasto, inherit) !important;
    font-size: var(--title-prodotto-crea-box-font-size) !important;
}

/* Pulsanti Più e Meno */
.woosb-product .woosb-quantity-input-plus, 
.woosb-product .woosb-quantity-input-minus {
    border-radius: 30px !important;
    border: 1px solid transparent !important;
    background-color: var(--colore-contrasto, transparent) !important;
    color: white !important;
}
.woosb-product .woosb-quantity-input-plus:hover, 
.woosb-product .woosb-quantity-input-minus:hover {
    border-color: var(--colore-main) !important;
}

/* Altri dettagli di formattazione */
.quantity .qty {
    width: fit-content !important;
    padding: 0 !important; 
}
.woosb-products .woosb-product .woosb-price * {
    display: none !important;
}
.woosb-alert {
    padding: 6px 10px 6px 14px;
    border-left: 4px solid #4d3a30;
    background-color: var(--e-global-color-secondary) !important;
    color: #4d3a30 !important;
    font-weight: bold;
    font-size: 16px;
}

/* 
    ================================================
        !FINE! 

        PARTE FILO PER COLORI DINAMICI DI CARD 
        CATEGORIE E PRODOTTI CREA LA TUA BOX
    ================================================
*/

/*testi hero*/

/* stato iniziale */
.hero-text-slide .elementor-heading-title{
  opacity: 0;
  transform: translateY(40px);
  animation: heroTextSoftUp 1.6s cubic-bezier(0.25, 0.8, 0.25, 1) forwards;
  will-change: transform, opacity;
}

/* piccolo sfalsamento naturale */
.hero-text-slide:nth-of-type(1) .elementor-heading-title{ animation-delay: .2s; }
.hero-text-slide:nth-of-type(2) .elementor-heading-title{ animation-delay: .35s; }
.hero-text-slide:nth-of-type(3) .elementor-heading-title{ animation-delay: .5s; }

@keyframes heroTextSoftUp{
  to{
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce){
  .hero-text-slide .elementor-heading-title{
    animation: none;
    opacity: 1;
    transform: none;
  }
}


/*ninja form*/

.nf-form-fields-required {
    display: none;
}

/* accordion */

.e-n-accordion-item[open] > summary{
    border-radius: 30px 30px 0px 0px !important;
}



/*pulsante wave*/

.wave-btn,
.wave-btn-hero {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: none !important;
    border-radius: 999px !important;
    padding: 10px 32px !important;
    cursor: pointer !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    background-color: var(--e-global-color-primary);
    overflow: visible !important;
}

.wave-btn-hero {
    background-color: var(--e-global-color-0129c2c) !important;
}

.wave-btn .elementor-button-text,
.wave-btn-hero .elementor-button-text {
    display: inline-flex !important;
    align-items: center !important;
    overflow: visible !important;
    height: calc(var(--e-global-typography-accent-line-height) * 1.4) !important;
    padding: 4px 0 !important;
}

.wave-btn span,
.wave-btn-hero span {
    display: inline-block !important;
    font-family: var(--e-global-typography-accent-font-family), Sans-serif !important;
    font-size: var(--e-global-typography-accent-font-size) !important;
    font-weight: var(--e-global-typography-accent-font-weight) !important;
    text-transform: var(--e-global-typography-accent-text-transform) !important;
    line-height: var(--e-global-typography-accent-line-height) !important;
    color: #fdfdfd !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    transform-style: preserve-3d !important;
    backface-visibility: hidden !important;
    -webkit-backface-visibility: hidden !important;
}

.xoo-wsc-ft-buttons-cont a.xoo-wsc-ft-btn,
.xoo-wsc-container .xoo-wsc-btn,
.xoo-wsc-ft-buttons-cont a.xoo-wsc-ft-btn .elementor-button-text,
.xoo-wsc-container .xoo-wsc-btn .elementor-button-text{
    overflow: visible !important;
}

.xoo-wsc-ft-buttons-cont a.xoo-wsc-ft-btn .elementor-button-text span,
.xoo-wsc-container .xoo-wsc-btn .elementor-button-text span{
    display: inline-block !important;
}

/*end pulsante wave*/




/*personalizzazione scheda prodotto*/

/*label scegli opzione kg*/

table tbody>tr:nth-child(odd)>td, table tbody>tr:nth-child(odd)>th {
    background-color: #fdfdfd !important;
}

@media only screen and (max-width: 767px) {
	table.variations tbody tr {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
}	
}
																																																							a.reset_variations {
	margin-top:10px !important;
	color:var(--e-global-color-6dd7c49) !important;
	font-family: var(--e-global-typography-text-font-family), Sans-serif !important;
    font-size: var(--e-global-typography-text-font-size) !important;
    font-weight: 600 !important;
    line-height: var(--e-global-typography-text-line-height) !important;
	text-transform:uppercase !important;
}

table td, table th {
    padding: 0px 15px 0px 0px !important;
}

select#pa_confezione {
    outline-color: transparent !important;
	width:32vw;
}

@media only screen and (max-width: 767px) {
	select#pa_confezione {
	width:84vw;
}
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
	select#pa_confezione {
	width:68vw;
 }
}

/*end label scegli opzione kg*/

/*spazio pulsante*/
.woocommerce-variation-add-to-cart.variations_button.woocommerce-variation-add-to-cart-disabled {
    margin-bottom: 30px !important;
}

button.single_add_to_cart_button.button.alt.wave-btn{
	width: 37vw;
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
	button.single_add_to_cart_button.button.alt {
    width: 74vw !important;
}
}
/*end spazio pulsante*/

/*prezzo confezione selezionata*/

.woocommerce-variation-price {
    margin-bottom: 20px !important;
}

.woocommerce .elementor-233450 .elementor-element.elementor-element-31e22d9c form.cart .variations {

    margin-bottom: -12px !important;
}

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product span.price {
color:var(--e-global-color-primary) !important;
    font-family: var(--e-global-typography-9e9bd75-font-family), Sans-serif !important;
    font-size: var(--e-global-typography-9e9bd75-font-size) !important;
    font-weight: var(--e-global-typography-9e9bd75-font-weight) !important;
    line-height: var(--e-global-typography-9e9bd75-line-height) !important;
}

/*end prezzo confezione selezionata*/

/*end personalizzazione scheda prodotto*/




/*cart laterale*/

.xoo-wsc-ft-buttons-cont a.xoo-wsc-ft-btn,
.xoo-wsc-container .xoo-wsc-btn{
	border-radius: 100px !important;
	border: none !important;
	text-decoration: none !important;
	font-family: var(--e-global-typography-accent-font-family), Sans-serif !important;
    font-size: var(--e-global-typography-accent-font-size) !important;
    font-weight: var(--e-global-typography-accent-font-weight) !important;
    text-transform: var(--e-global-typography-accent-text-transform) !important;
    line-height: var(--e-global-typography-accent-line-height) !important;
}

.xoo-wsc-ft-buttons-cont a.xoo-wsc-ft-btn.wave-btn-hero,
.xoo-wsc-container .xoo-wsc-btn.wave-btn-hero{
	width: 100% !important;
	min-height: 56px !important;
	padding: 10px 32px !important;
	background-color: var(--e-global-color-0129c2c) !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	overflow: visible !important;
}

.xoo-wsc-ft-buttons-cont a.xoo-wsc-ft-btn.wave-btn-hero .elementor-button-text,
.xoo-wsc-container .xoo-wsc-btn.wave-btn-hero .elementor-button-text{
	color: #fdfdfd !important;
	display: inline-flex !important;
	align-items: center !important;
	overflow: visible !important;
	height: calc(var(--e-global-typography-accent-line-height) * 1.4) !important;
	padding: 4px 0 !important;
	font-family: var(--e-global-typography-accent-font-family), Sans-serif !important;
	font-size: var(--e-global-typography-accent-font-size) !important;
	font-weight: var(--e-global-typography-accent-font-weight) !important;
	text-transform: var(--e-global-typography-accent-text-transform) !important;
	line-height: var(--e-global-typography-accent-line-height) !important;
	-webkit-font-smoothing: antialiased !important;
	-moz-osx-font-smoothing: grayscale !important;
	transform-style: preserve-3d !important;
	backface-visibility: hidden !important;
	-webkit-backface-visibility: hidden !important;
}

.xoo-wsc-icon-del1:before {
    content: "\e915";
    color: #d9534f;
}

/* Contenitore principale del side cart */
.xoo-wsc-container {
  border-radius: 30px 0 0 30px !important;
  overflow: hidden !important;
 
}



/*end cart laterale*/




/* 
=========================================================
  CARD FRUTTA GELATO LOOP 
========================================================= 
*/

.card-wave-btn {
  position: absolute;
  top: -3em;
  right: 0;
  z-index: 1;
}

/* Wrapper che contiene icone + pulsante — stesso posizionamento absolute del pulsante */
.card-btn-tag-wrap {
    position: absolute !important;
    top: -3em !important;
    right: 0 !important;
    z-index: 1 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 8px !important;
}

/* Dentro il wrapper il pulsante non ha più bisogno di position absolute */
.card-btn-tag-wrap .card-wave-btn {
    position: static !important;
}



/* TESTO CERCHIO CHE RUOTA */

.container-img-gelato {
	position: relative;	
}

.text-circle {
  color: #4D3A30;
  font-size: 36px;
  font-weight: 700;
  text-transform: uppercase;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
	.text-circle{
		font-size: 24px;
	}
}

@media only screen and (max-width: 767px){
	.text-circle{
		font-size: 20px;
	}
}

.circle {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.container-img-gelato{
  position:relative;
  min-height:520px;
  overflow:hidden;
}

/* testo circolare al centro */
.container-img-gelato .circle {
  position:absolute;
  top:50%;
  left:50%;
  z-index:2;
}

.circle { transform: translate(-50%, -50%); }
.circle.circle-home { transform: translate(-50%, 40%); }
.circle.circle-granite { transform: translate(-50%, 30%); }
.circle.circle-gelato-da-passeggio { transform: translate(-50%, 18%); }
.circle.circle-frutta-gelato { transform: translate(-50%, 24%); }
.circle.circle-torte-gelato { transform: translate(-50%, 6%); }

@media only screen and (min-width: 768px) and (max-width: 1024px){
	.container-img-gelato .circle,
	.container-img-gelato .circle.circle-home,
	.container-img-gelato .circle.circle-granite,
	.circle.circle-frutta-gelato
	{ transform:translate(-50%, 49%); }
	.circle.circle-gelato-da-passeggio { transform: translate(-50%, 24%); }
	.circle.circle-torte-gelato { transform: translate(-50%, 20%); }
}


@media only screen and (max-width: 767px){
	.container-img-gelato .circle,
	.container-img-gelato .circle.circle-home,
	.container-img-gelato .circle.circle-granite,
	.circle.circle-frutta-gelato
	{ transform:translate(-50%, 17%);}
	.circle.circle-gelato-da-passeggio { transform:translate(-50%, 26%); }
	.circle.circle-torte-gelato { transform: translate(-50%, 6%); }
}

/* overlay gelato sopra al testo */
.container-img-gelato .gelato-overlay{
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
}

.container-img-gelato .gelato-overlay img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/*codice container sfondo blu home per nascondere testi fuori dal div*/
.jes-clip-container {
  overflow: hidden !important;
  position: relative !important;
  isolation: isolate !important;
}


/* =========================================================
   NINJA FORM — pulsante submit con stile wave-btn
   ========================================================= */

.nf-field-container.submit-container input[type="submit"].wave-btn,
input.ninja-forms-field[type="submit"].wave-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: none !important;
    border-radius: 999px !important;
    padding: 10px 32px !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    background-color: var(--e-global-color-primary) !important;
    overflow: visible !important;
    font-family: var(--e-global-typography-accent-font-family), Sans-serif !important;
    font-size: var(--e-global-typography-accent-font-size) !important;
    font-weight: var(--e-global-typography-accent-font-weight) !important;
    text-transform: var(--e-global-typography-accent-text-transform) !important;
    line-height: var(--e-global-typography-accent-line-height) !important;
    color: #fdfdfd !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}


/* =========================================================
   NINJA FORMS — submit button sostituito via JS con <button>
   ========================================================= */

.nf-field-element button[type="submit"].wave-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: none !important;
    border-radius: 999px !important;
    padding: 10px 32px !important;
    min-height: 48px !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    text-decoration: none !important;
    background-color: var(--e-global-color-primary) !important;
    overflow: visible !important;
    width: 100% !important;

    /* font identico agli altri wave-btn */
    font-family: var(--e-global-typography-accent-font-family), Sans-serif !important;
    font-size: var(--e-global-typography-accent-font-size) !important;
    font-weight: var(--e-global-typography-accent-font-weight) !important;
    text-transform: var(--e-global-typography-accent-text-transform) !important;
    line-height: var(--e-global-typography-accent-line-height) !important;
    color: #fdfdfd !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}

.nf-field-element button[type="submit"].wave-btn .elementor-button-text {
    display: inline-flex !important;
    align-items: center !important;
    overflow: visible !important;
    height: calc(var(--e-global-typography-accent-line-height) * 1.4) !important;
    padding: 4px 0 !important;
}

.nf-field-element button[type="submit"].wave-btn .elementor-button-text span {
    display: inline-block !important;
    font-family: var(--e-global-typography-accent-font-family), Sans-serif !important;
    font-size: var(--e-global-typography-accent-font-size) !important;
    font-weight: var(--e-global-typography-accent-font-weight) !important;
    text-transform: var(--e-global-typography-accent-text-transform) !important;
    line-height: var(--e-global-typography-accent-line-height) !important;
    color: #fdfdfd !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    transform-style: preserve-3d !important;
    backface-visibility: hidden !important;
    -webkit-backface-visibility: hidden !important;
}


/* =========================================================
   PRODUCT TAG ICONS — card loop (solo icone)
   Il widget shortcode Elementor prende larghezza 100% di default:
   .elementor-widget:has(.seppia-tag-icons) lo forza a width:auto
   così rimane compatto affiancato al pulsante Scopri.
   Il contenitore padre "pulsante" in Elementor: flex-row, align:center.
   ========================================================= */

.elementor-widget:has(.seppia-tag-icons) {
    width: auto !important;
    flex-shrink: 0 !important;
}

.seppia-tag-icons {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 6px !important;
}

.seppia-tag-icon-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,0.85) !important;
    backdrop-filter: blur(4px) !important;
    -webkit-backdrop-filter: blur(4px) !important;
    text-decoration: none !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease !important;
    flex-shrink: 0 !important;
}

.seppia-tag-icon-link:hover {
    transform: scale(1.12) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important;
}

.seppia-tag-icon-img {
    width: 32px !important;
    height: 32px !important;
    object-fit: contain !important;
    display: block !important;
}


/* =========================================================
   PRODUCT TAG PILLS — scheda prodotto (icona + testo)
   ========================================================= */

.seppia-tag-pills {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
}


.seppia-tag-pill.wave-btn {
    background-color: var(--e-global-color-primary) !important;
    text-decoration: none !important;
    padding: 4px 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important; /* gap tra img e span testo — ok perché img non è dentro il flex delle lettere */
}

.seppia-tag-pill.wave-btn .elementor-button-text {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0 !important; /* ZERO: il gap si applicherebbe a ogni span-lettera */
    height: calc(var(--e-global-typography-accent-line-height) * 1.4) !important;
    overflow: visible !important;
}

/* Span lettere del wave: colore secondary, no letter-spacing aggiuntivo */
.seppia-tag-pill.wave-btn .elementor-button-text span {
    color: #fdfdfd !important;
   /* font-family: var(--e-global-typography-accent-font-family), Sans-serif !important;
    font-size: var(--e-global-typography-accent-font-size) !important;
    font-weight: var(--e-global-typography-accent-font-weight) !important;
    text-transform: var(--e-global-typography-accent-text-transform) !important;
    line-height: var(--e-global-typography-accent-line-height) !important;*/
    letter-spacing: 0 !important;
        font-family: var(--e-global-typography-61c51fc-font-family), Sans-serif !important;
    font-size: var(--e-global-typography-61c51fc-font-size) !important;
    font-weight: var(--e-global-typography-61c51fc-font-weight) !important;
    text-transform: var(--e-global-typography-61c51fc-text-transform) !important;
    line-height: var(--e-global-typography-61c51fc-line-height) !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    transform-style: preserve-3d !important;
    backface-visibility: hidden !important;
    -webkit-backface-visibility: hidden !important;
}

.seppia-tag-pill-icon {
    width: 26px !important;
    height: 26px !important;
    object-fit: contain !important;
    display: inline-block !important;
    flex-shrink: 0 !important;
    /* margin-right gestito dal gap del flex parent */
}

@media only screen and (max-width: 767px) {
	.seppia-tag-pills {
    display: flex !important;
	flex-direction:column !important;
	gap: 14px !important;
	width:40vw !important;
}
}



/*search and filter*/
/* ========== SEARCH & FILTER — CHECKBOX + RADIO ========== */

/* Layout in row */
div[id^="search-filter-input-checkbox-"],
div[id^="search-filter-input-radio-"] {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 20px !important;
    align-items: center !important;
}

@media only screen and (max-width: 767px){
	div[id^="search-filter-input-checkbox-"],
div[id^="search-filter-input-radio-"] {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: wrap !important;
    gap: 5px !important;
    align-items: start !important;
	}
}

/* Tipografia su tutto */
.search-filter-input-checkbox *,
.search-filter-input-radio * {
    font-family: var(--e-global-typography-0dfff15-font-family), Sans-serif !important;
    font-size: var(--e-global-typography-0dfff15-font-size) !important;
    font-weight: var(--e-global-typography-0dfff15-font-weight) !important;
    text-transform: var(--e-global-typography-0dfff15-text-transform) !important;
    line-height: var(--e-global-typography-0dfff15-line-height) !important;
}

/* Nasconde SVG originale checkbox */
.search-filter-input-checkbox__control {
    display: none !important;
}

/* Crea cerchio tramite span control — stesso stile radio */
.search-filter-input-checkbox__container {
    display: flex !important;
    align-items: center !important;
    gap: 0 !important;
}

/* Cerchio vuoto — usiamo l'SVG del radio via background */
.search-filter-input-checkbox .search-filter-input-checkbox__container::before {
    content: '' !important;
    display: inline-block !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    border-radius: 50% !important;
    border: 2px solid var(--e-global-color-0129c2c) !important;
    background: transparent !important;
    margin-right: 10px !important;
    transition: background 0.2s !important;
}

/* Cerchio pieno quando attivo */
.search-filter-input-checkbox--is-active .search-filter-input-checkbox__container::before {
    background: var(--e-global-color-0129c2c) !important;
}

/* Radio attivo */
.search-filter-input-radio--is-active
  > .search-filter-input-radio__container
  > .search-filter-input-radio__control
  > svg {
    fill: var(--e-global-color-0129c2c) !important;
    color: var(--e-global-color-0129c2c) !important;
}

/* Label underline */
span.search-filter-input-checkbox__label,
span.search-filter-input-radio__label {
    padding-bottom: 4px !important;
    padding-left: 0px !important;
    border-bottom: 2px solid var(--e-global-color-0129c2c) !important;
}

/* Dimensione control radio */
span.search-filter-input-radio__control {
    padding-right: 10px !important;
    width: 38px !important;
    height: 28px !important;
}

/* Reset pulsante filled */
button.search-filter-input-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    padding: 10px 32px !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    background-color: var(--e-global-color-0129c2c) !important;
    border: 2px solid var(--e-global-color-0129c2c) !important;
    box-shadow: none !important;
    width: auto !important;
    transition: all .3s !important;
    font-family: var(--e-global-typography-accent-font-family), Sans-serif !important;
    font-size: var(--e-global-typography-accent-font-size) !important;
    font-weight: var(--e-global-typography-accent-font-weight) !important;
    text-transform: var(--e-global-typography-accent-text-transform) !important;
    color: #fdfdfd !important;
    text-decoration: none !important;
}

button.search-filter-input-button:hover,
button.search-filter-input-button:focus {
    background-color: transparent !important;
    color: var(--e-global-color-0129c2c) !important;
    outline: none !important;
    text-decoration: none !important;
}

.search-filter-field--type-control.search-filter-style--control-reset {
    display: inline-flex !important;
    align-items: center !important;
}

span.search-filter-input-checkbox__label {
    color: var(--e-global-color-0129c2c) !important;
}

/* ========== END SEARCH & FILTER ========== */
/*end search and filter*/

/*carrello pagina*/

@media only screen and (max-width: 767px) {
	td.product-name, td.product-quantity {
    padding-bottom: 20px !important;
    padding-top: 20px !important;
 }
	 .elementor-widget-woocommerce-cart .woocommerce table.cart tr {
        padding: 16px 0px !important;
    }
	.cart_totals {
    margin-top: 78px;
	}
	
	tr.order-total {
    margin-top: 70px;
	}
		a.checkout-button.button.alt.wc-forward {
		width: 100%;
	}
	
	.woocommerce a.remove{
		font-size:2.5em !important;
	}
	.elementor-widget-woocommerce-cart .woocommerce table.cart img {
		width:90px !important;
	}
}

a.shipping-calculator-button {
    margin-bottom: 52px;
}

/* Mostra comunque le thumbnail da mobile nel carrello */

@media only screen and (max-width: 1024px){
	    .woocommerce #content table.cart .product-thumbnail, .woocommerce table.cart .product-thumbnail, .woocommerce-page #content table.cart .product-thumbnail, .woocommerce-page table.cart .product-thumbnail {
		display: block !important;
	}
}

.woocommerce-page table.shop_table_responsive tr .product-thumbnail::before {
	display: none !important;
}

/*end Mostra comunque le thumbnail da mobile nel carrello */

/*end carrello pagina*/

/*pagina account*/

a.woocommerce-button.button.view {
	margin-bottom:20px;
}

th.woocommerce-orders-table__header.woocommerce-orders-table__header-order-actions, .woocommerce-orders-table__header-order-total, .woocommerce-orders-table__header-order-status, .woocommerce-orders-table__header-order-date, .woocommerce-orders-table__header-order-number {
    padding-bottom: 20px !important;
}

/*messaggi info*/
.woocommerce-info {
    border-top-color: #4D3A30 !important;
}

.woocommerce-error, .woocommerce-info, .woocommerce-message {
    border-top: 3px solid #4D3A30 !important;
}

.woocommerce-info::before{
	color:#4D3A30 !important;
}

.woocommerce-info a{
    background-color: #4D3A30 !important;
    color: #fdfdfd !important;
    border-radius: 100px !important;
    padding: 14px 32px !important;
	    font-family: var(--e-global-typography-accent-font-family), Sans-serif !important;
    font-size: var(--e-global-typography-accent-font-size) !important;
    font-weight: var(--e-global-typography-accent-font-weight) !important;
    text-transform: var(--e-global-typography-accent-text-transform) !important;
    line-height: var(--e-global-typography-accent-line-height) !important;
 
}


/* =========================================================
   WOOCOMMERCE BUTTONS — stile wave-btn
   ========================================================= */

a.checkout-button,
button#place_order,
button[name="save_account_details"],
button.woocommerce-Button,
a.woocommerce-button.button,
a.button.wc-forward,
.woocommerce-MyAccount-content a.button,
button.e-apply-coupon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    padding: 10px 32px !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    text-decoration: none !important;
    background-color: var(--e-global-color-primary) !important;
    border: none !important;
    box-shadow: none !important;
    font-family: var(--e-global-typography-accent-font-family), Sans-serif !important;
    font-size: var(--e-global-typography-accent-font-size) !important;
    font-weight: var(--e-global-typography-accent-font-weight) !important;
    text-transform: var(--e-global-typography-accent-text-transform) !important;
    line-height: var(--e-global-typography-accent-line-height) !important;
    color: #fdfdfd !important;
    -webkit-font-smoothing: antialiased !important;
    overflow: visible !important;
}

a.checkout-button span,
button#place_order span,
button[name="save_account_details"] span,
button.woocommerce-Button span,
a.woocommerce-button.button span,
a.button.wc-forward span,
.woocommerce-MyAccount-content a.button span,
button.e-apply-coupon span {
    display: inline-block !important;
    color: #fdfdfd !important;
    font-family: var(--e-global-typography-accent-font-family), Sans-serif !important;
    font-size: var(--e-global-typography-accent-font-size) !important;
    font-weight: var(--e-global-typography-accent-font-weight) !important;
    text-transform: var(--e-global-typography-accent-text-transform) !important;
    line-height: var(--e-global-typography-accent-line-height) !important;
    -webkit-font-smoothing: antialiased !important;
    transform-style: preserve-3d !important;
    backface-visibility: hidden !important;
    -webkit-backface-visibility: hidden !important;
}

/* =========================================================
   END WOOCOMMERCE BUTTONS
   ========================================================= */

/* =========================================================
   WOOCOMMERCE BUTTONS — stile wave-btn
   ========================================================= */

a.checkout-button,
button#place_order,
button[name="save_account_details"],
button.woocommerce-Button,
a.woocommerce-button.button,
a.button.wc-forward,
.woocommerce-MyAccount-content a.button,
button.e-apply-coupon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    padding: 10px 32px !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    text-decoration: none !important;
    background-color: var(--e-global-color-primary) !important;
    border: none !important;
    box-shadow: none !important;
    font-family: var(--e-global-typography-accent-font-family), Sans-serif !important;
    font-size: var(--e-global-typography-accent-font-size) !important;
    font-weight: var(--e-global-typography-accent-font-weight) !important;
    text-transform: var(--e-global-typography-accent-text-transform) !important;
    line-height: var(--e-global-typography-accent-line-height) !important;
    color: #fdfdfd !important;
    -webkit-font-smoothing: antialiased !important;
    overflow: visible !important;
}

a.checkout-button span,
button#place_order span,
button[name="save_account_details"] span,
button.woocommerce-Button span,
a.woocommerce-button.button span,
a.button.wc-forward span,
.woocommerce-MyAccount-content a.button span,
button.e-apply-coupon span {
    display: inline-block !important;
    color: #fdfdfd !important;
    font-family: var(--e-global-typography-accent-font-family), Sans-serif !important;
    font-size: var(--e-global-typography-accent-font-size) !important;
    font-weight: var(--e-global-typography-accent-font-weight) !important;
    text-transform: var(--e-global-typography-accent-text-transform) !important;
    line-height: var(--e-global-typography-accent-line-height) !important;
    -webkit-font-smoothing: antialiased !important;
    transform-style: preserve-3d !important;
    backface-visibility: hidden !important;
    -webkit-backface-visibility: hidden !important;
}

/* =========================================================
   CARD BOX FRUTTA GELATO MISTA — overrides specifici
   ========================================================= */

/* Centra immagine di sfondo */
.e-loop-item.product_cat-box-frutta-gelato-mista .elementor-element-193ef6b {
    background-position: center center !important;
}

/* =========================================================
   END WOOCOMMERCE BUTTONS + BOX MISTA
   ========================================================= */


/* =========================================================
   SIDE CART — larghezza popup allargata
   ========================================================= */

.xoo-wsc-container,
.xoo-wsc-slider {
    width: 420px !important;
    max-width: 90vw !important;
}

/* Quando chiuso — sposta fuori schermo della nuova larghezza */
.xoo-wsc-container {
    right: -420px !important;
}

/* Quando aperto — torna a 0 */
.xoo-wsc-cart-active .xoo-wsc-container {
    right: 0 !important;
}

@media only screen and (max-width: 767px) {
    .xoo-wsc-container,
    .xoo-wsc-slider {
        width: 100% !important;
        max-width: 100vw !important;
    }
    .xoo-wsc-container {
        right: -100vw !important;
    }
}

/* Sposta il basket button quando carrello aperto */
.xoo-wsc-cart-active .xoo-wsc-basket {
    right: 420px !important;
}

@media only screen and (max-width: 767px) {
    .xoo-wsc-cart-active .xoo-wsc-basket {
        right: 100vw !important;
    }
}
/* =========================================================
   END SIDE CART
   ========================================================= */

/* La Favola — toggle filtri mobile */
.favola-filtri-toggle{ display:none !important; }
@media (max-width:1024px){
  .favola-filtri-toggle{ display:inline-flex !important; width:100%; }
  .favola-filtri-fields{ display:none; }
  .favola-filtri-fields.aperto{ display:block; }
}


/* ===== LA FAVOLA — filtri mobile/tablet ===== */

/* Heading "Preferenze" tra categorie e tag */
.favola-filtri-heading{
    margin: 22px 0 10px;
    color: var(--e-global-color-primary);
    font-family: var(--e-global-typography-accent-font-family), Sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .5px;
}

/* Pulsante toggle: nascosto su desktop */
.favola-filtri-wrap .favola-filtri-toggle{ display:none !important; }

@media (max-width:1024px){
  /* Pulsante toggle visibile su tablet/mobile */
  .favola-filtri-wrap .favola-filtri-toggle{
    display:flex !important;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    width:100%;
    padding:18px 24px;
    border:none;
    cursor:pointer;
    border-radius:30px;
    background:#f2f0ee;
    color:var(--e-global-color-primary);
    text-align:left;
    font-family:var(--e-global-typography-accent-font-family), Sans-serif;
    font-size:var(--e-global-typography-accent-font-size);
    font-weight:var(--e-global-typography-accent-font-weight);
    text-transform:uppercase;
    line-height:1.3;
  }
  /* freccia a destra */
  .favola-filtri-wrap .favola-filtri-toggle::after{
    content:"";
    width:22px; height:22px; flex-shrink:0;
    background:url("data:image/svg+xml;charset=utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%234D3A30' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><line x1='5' y1='12' x2='19' y2='12'/><polyline points='12 5 19 12 12 19'/></svg>") no-repeat center / contain;
    transition:transform .3s ease;
  }
  .favola-filtri-wrap.aperto .favola-filtri-toggle::after{ transform:rotate(90deg); }

  /* Campi chiusi finché non si apre */
  .favola-filtri-fields{ display:none; }
  .favola-filtri-wrap.aperto .favola-filtri-fields{ display:block; }
}

/* "TUTTI I GUSTI" (reset): in hover resta pieno, solo l'effetto wave */
.favola-filtri-fields button.search-filter-input-button:hover,
.favola-filtri-fields button.search-filter-input-button:focus{
    background-color: var(--e-global-color-0129c2c) !important;
    color: #fdfdfd !important;
    border-color: var(--e-global-color-0129c2c) !important;
}

.search-filter-base.search-filter-field.search-filter-field--id-7.search-filter-field--type-control.search-filter-field--control-type-reset.search-filter-style--id-1.search-filter-style--control-reset {
    margin-bottom: 22px;
}
/* ===== END LA FAVOLA ===== */

/*joinchat*/
.cnb-zindex-10 {
    z-index: 99999;
}
/*end joinchat*/

.woosb-wrap {
    position: relative;
}

/* Rendiamo l'alert sticky CREA LA TUA BOX */
.woosb-wrap .woosb-alert {
    position: -webkit-sticky;
    position: sticky;
    top: calc(var(--combined-header-height, 0px) + 30px); /* La variabile viene calcolata nel js */
    z-index: 99;
    /* Stili opzionali per renderlo più visibile quando diventa sticky */
    background-color: #D9534F !important;
    color: white !important;
    font-weight: bold !important;
    padding: 12px 15px;
    border: 1px solid #D9534F;
    border-radius: 10px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
.woosb-wrap .woosb-alert::before {
    /* Impostiamo il font di WordPress */
    font-family: 'dashicons'; 
    
    /* Il codice Unicode per l'icona "dashicons-warning" (triangolo d'avviso) */
    content: "\f534"; 
    
    /* Stili dell'icona */
    font-size: 20px;
    margin-right: 8px;
    vertical-align: middle;
    
    /* Assicura che l'icona venga renderizzata nitida */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.ppc-button-wrapper {
    margin-top: 20px !important;
}