/* ============================================================
   IL FORNAIO DI ALASSIO — CSS (SENZA colori)
   I colori li gestisci in Elementor. Qui restano solo
   struttura, tipografia di base, animazioni e stati.
   Classi da aggiungere in Elementor (Avanzate → Classi CSS):
   .fa-lift  ·  .fa-reveal  ·  .fa-link
   ============================================================ */

body{
-webkit-font-smoothing:antialiased;
text-rendering:optimizeLegibility;
}


/* ---- Badge "Aperto ora / Chiuso" (shortcode [fornaio_orari]) ----
   Colore e font si impostano in Elementor sul widget Shortcode.
   Il pallino eredita il colore del testo (currentColor).
   Lo stato aperto/chiuso resta leggibile dal testo che cambia
   ("Aperto ora" / "Chiuso ora"), gestito dal JS. */

.fa-open{
display:inline-flex;
align-items:center;
gap:8px;
font-weight:600;
font-size:.72rem;
letter-spacing:.03em;
}

.fa-open__dot{
width:8px;
height:8px;
border-radius:50%;
background:currentColor;
}


/* ---- Effetto sollevamento (classe .fa-lift sui contenitori card/foto) ---- */

.fa-lift{
transition:transform .4s cubic-bezier(.2,.7,.2,1);
}

.fa-lift:hover{
transform:translateY(-8px);
}


/* ---- Link con sottolineatura (classe .fa-link) — la linea prende il colore del testo ---- */

.fa-link{
border-bottom:1.5px solid;
padding-bottom:5px;
transition:.2s;
}

.fa-link:hover{
letter-spacing:.02em;
}


/* ---- Comparsa allo scroll (classe .fa-reveal sui contenitori) ---- */

.fa-reveal{
opacity:0;
transform:translateY(20px);
transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);
}

.fa-reveal.is-visible{
opacity:1;
transform:none;
}


/* ---- Accessibilità: rispetta chi disattiva le animazioni ---- */

@media(prefers-reduced-motion:reduce){

.fa-reveal{
opacity:1 !important;
transform:none !important;
}

}


/*pulsante shop menu*/

.jes-btn-shop{
border-radius:100px;
border-width:1px;
border-color:var(--risalto);
border-style:solid;
background-color:var(--risalto);
color:var(--principale);
line-height:1.2em;
text-align:center;
text-transform:uppercase;
width:7vw;
}


header .elementor-nav-menu--main .elementor-nav-menu > li.jes-btn-shop > a.elementor-item{
padding:0 !important;
}


li.jes-btn-shop.menu-item.menu-item-type-post_type.menu-item-object-page.menu-item-2451{
display:flex;
flex-direction:column;
justify-content:center;
align-items:center;
height:34px;
margin-left:10px;
margin-right:12px;
}


.jes-btn-shop > a.elementor-item::after{
display:none !important;
}


.jes-btn-shop:hover{
color:var(--principale);
text-align:center;
border-radius:100px;
border-width:1px;
border-color:var(--principale);
border-style:solid;
background-color:#375efa00;
}


@media only screen and (max-width:767px){

/* Pulsante SHOP nel menu mobile */
li.jes-btn-shop{
display:inline-flex !important;
align-items:center;
justify-content:center;
width:auto !important;         /* larghezza adattata al testo, niente 26vw */
height:auto !important;
margin-left:0 !important;      /* allineato alle altre voci del menu */
margin-right:0 !important;
margin-top:16px !important;    /* un po' di spazio da CONTATTI */
}

li.jes-btn-shop > a.elementor-item{
padding:12px 30px !important;  /* dà la forma a pillola */
}

}

@media only screen and (min-width:768px) and (max-width:1024px){

/* Pulsante SHOP nel menu tablet */
li.jes-btn-shop{
display:inline-flex !important;
align-items:center;
justify-content:center;
width:auto !important;         /* larghezza adattata al testo, niente 18vw */
height:auto !important;
margin-left:34px !important;      /* allineato alle altre voci del menu */
margin-right:0 !important;
margin-top:16px !important;    /* spazio da CONTATTI */
}

li.jes-btn-shop > a.elementor-item{
padding:12px 30px !important;  /* forma a pillola */
}

}

/*end pulsante shop menu*/



/*pulsante cart jes-btn-cart*/

button.jes-btn-cart.e-bce5182-cb3944c.e-button-base{
margin-left:16px;
margin-bottom:10px;
}

/* endpulsante cart jes-btn-cart*/


/*menu*/

/* Altezza dell'header su mobile — se serve regola SOLO questo numero */
:root{
--fa-header-h:90px;
}


.elementor-widget-nav-menu{
position:static !important;
}


.elementor-nav-menu--dropdown.elementor-nav-menu__container{
position:fixed !important;
top:var(--fa-header-h) !important;   /* parte sotto l'header */
left:0 !important;
right:0 !important;
bottom:0 !important;
width:100vw !important;
max-width:100vw !important;
height:auto !important;
z-index:999 !important;              /* sotto l'header */
overflow-y:auto !important;          /* scorre se le voci sono tante */
padding-top:30px;
padding-left:40px;
}


@media only screen and (max-width:767px){

.elementor-nav-menu--dropdown.elementor-nav-menu__container{
padding-top:20px;
}

}


@media only screen and (min-width:768px) and (max-width:1024px){

:root{
--fa-header-h:120px;   /* header più alto su tablet — regola se serve */
}

.elementor-nav-menu--dropdown.elementor-nav-menu__container{
padding-left:20px;
}

}

/*menu*/


/* ============================================================
   WooCommerce variation cards
   ============================================================ */

.woocommerce div.product form.cart .variations{
margin-bottom:0 !important;
}


/* Nasconde select WooCommerce */

.variations_form .variations select{
display:none !important;
}


/* Nasconde label WooCommerce */

.variations_form .variations .label{
display:none !important;
}


/* Nasconde Svuota */

.variations_form .reset_variations{
display:none !important;
}


.custom-variation-swatches{
display:flex;
flex-wrap:wrap;
gap:16px;
}


.custom-swatch-item{
cursor:pointer;
border:1px solid #ffcf0f;
border-radius:6px;
transition:border-color .25s ease,background-color .25s ease;
}


/* Radio nascosto */

.custom-swatch-item input{
position:absolute;
opacity:0;
}


.swatch-content{
display:flex;
flex-direction:column;
gap:2px;
padding:20px;
width:10vw;
}



/* Termine:
   300 gr
   500 gr
   1 kg
*/

.swatch-label{
font-family:var(--e-global-typography-ecb7e2b-font-family),Sans-serif;
font-size:1.2vw;
font-weight:800;
text-transform:var(--e-global-typography-ecb7e2b-text-transform);
line-height:var(--e-global-typography-ecb7e2b-line-height);
letter-spacing:var(--e-global-typography-ecb7e2b-letter-spacing);
color:var(--e-global-color-primary);
}


/* Prezzo */

.custom-variation-swatches .swatch-price .price{
font-family:var(--e-global-typography-9488958-font-family),Sans-serif !important;
font-size:var(--e-global-typography-9488958-font-size) !important;
font-weight:var(--e-global-typography-9488958-font-weight) !important;
line-height:var(--e-global-typography-9488958-line-height) !important;
color:var(--e-global-color-text) !important;
}


.woocommerce div.product .custom-variation-swatches .swatch-price,
.woocommerce div.product .custom-variation-swatches .swatch-price .price,
.woocommerce div.product .custom-variation-swatches .swatch-price .woocommerce-Price-amount,
.woocommerce div.product .custom-variation-swatches .swatch-price .woocommerce-Price-amount bdi,
.woocommerce div.product .custom-variation-swatches .swatch-price .woocommerce-Price-currencySymbol{
color:var(--e-global-color-text) !important;
}


/* Stato selezionato */

.custom-swatch-item.is-selected{
border-color:var(--e-global-color-primary);
background-color:rgba(0,0,0,0.03);
}


/* sfondo generico che include le box */

table.variations tbody>tr>td,
table.variations tbody>tr>th{
background:transparent !important;
}


/* prezzo select scheda prodotto */

.woocommerce div.product .woocommerce-variation-price{
font-family:'DM Sans',Sans-serif;
font-size:2vw;
font-weight:var(--e-global-typography-1e66423-font-weight);
line-height:var(--e-global-typography-1e66423-line-height);
letter-spacing:var(--e-global-typography-1e66423-letter-spacing);
color:var(--e-global-color-primary);
}


.woocommerce div.product .woocommerce-variation-price .price{
font-size:inherit !important;
}


.woocommerce div.product .woocommerce-variation-price .price,
.woocommerce div.product .woocommerce-variation-price .woocommerce-Price-amount,
.woocommerce div.product .woocommerce-variation-price bdi,
.woocommerce div.product .woocommerce-variation-price .woocommerce-Price-currencySymbol{
font-family:inherit;
font-weight:inherit;
line-height:inherit;
letter-spacing:inherit;
color:inherit;
}


.woocommerce-variation.single_variation{
margin-bottom:30px;
}



/*responsive*/

@media only screen and (max-width:767px){

.swatch-content{
padding:10px;
width:24vw;
}

.swatch-label{
font-size:4.2vw;
}

.woocommerce div.product .woocommerce-variation-price{
font-size:7vw;
}

.custom-variation-swatches{
gap:6px;
}

}


@media only screen and (min-width:768px) and (max-width:1024px){

.woocommerce div.product .woocommerce-variation-price{
font-size:3.5vw;
}

}


/*pulsante plugin sticky acquista*/

button.single_add_to_cart_button.button.alt{
	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;
    border-style: solid !important;
    border-width: 1px 1px 1px 1px !important;
    border-radius: 100px 100px 100px 100px !important;
    padding: 12px 28px 12px 28px !important;
    color: var(--e-global-color-v4-principale) !important;
    background-color: var(--e-global-color-v4-risalto) !important;
    border-color: var(--e-global-color-v4-risalto) !important;
    transition: all 0.2s !important;
}

button.single_add_to_cart_button.button.alt:hover{
	color: var(--e-global-color-v4-principale) !important;
		background-color: #094A2200 !important;
		border-color: var(--e-global-color-v4-principale) !important;
}

.wpcsb-wrapper .wpcsb-container .wpcsb-product .wpcsb-product-action .variations_form .variations td {
    padding: 0px !important;
}

.wpcsb-wrapper .wpcsb-container .wpcsb-product .wpcsb-product-action .variations_form .single_variation_wrap .woocommerce-variation-add-to-cart > * {
    margin-left: 0px !important;
}

.wpcsb-wrapper .wpcsb-container .wpcsb-product {
    max-width: 90vw !important;
}

.wpcsb-wrapper .wpcsb-container .wpcsb-product-image img {
	border-radius: 14px;
    width: 118px !important;
}

.wpcsb-wrapper .wpcsb-container .wpcsb-product-image {
    flex: 0 0 120px !important;
}



.woocommerce-variation-add-to-cart.variations_button.woocommerce-variation-add-to-cart-disabled{
	gap:14px;
}

.wpcsb-container .quantity input[type=number]{
    border-color: var(--e-global-color-v4-risalto) !important;
}

@media only screen and (max-width: 767px) {
	form.variations_form.cart{
		display:flex !important;
		flex-direction:column !important;
		align-items: flex-start !important;
		gap:14px;
	}
	    .wpcsb-wrapper .wpcsb-container .wpcsb-product
 {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
    }
	.wpcsb-wrapper .wpcsb-container{
		padding:20px 30px;
	}
}
	
	

/*plugin sticky add to cart — solo spostamento Call Now + Side Cart*/

:root{
    --wpc-sticky-cart-height:0px;
    --floating-buttons-gap:16px;
}

/* Animazione fluida dello spostamento */
#callnowbutton,
.xoo-wsc-basket{
    transition:bottom .3s ease, transform .3s ease !important;
}

/* Quando la sticky add to cart è visibile: alza i due pulsanti sopra la barra */
body.wpc-sticky-cart-visible #callnowbutton,
body.wpc-sticky-cart-visible .xoo-wsc-basket{
    bottom:calc(var(--wpc-sticky-cart-height) + var(--floating-buttons-gap)) !important;
    z-index:999999 !important;
}

/*end plugin sticky add to cart*/




/*ninja*/

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

.nf-form-content input[type="submit"].ninja-forms-field{
    width:auto !important;
    height:auto !important;
    min-height:0 !important;
    padding:15px 60px !important;
    margin:0;
    box-sizing:border-box;
    border:1px solid #094a22;
    border-radius:100px;
    background-color:#094a22;
    color:#ffcf0f;
    font-weight:800;
    line-height:1 !important;
    text-align:center;
    text-transform:uppercase;
    vertical-align:middle;
    cursor:pointer;
    appearance:none;
    -webkit-appearance:none;
}

.nf-form-content input[type="submit"].ninja-forms-field:hover{
    background-color:transparent;
    border-color:#094a22;
    border-style:solid;
    color:#094a22;
}
/* ------------------------------------------------------------
   BADGE PRODOTTO STAGIONALE
   Stile base / pagina prodotto singola
   ------------------------------------------------------------ */

.seppia-badge-stagionale {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: auto;
    max-width: 100%;

    padding: 8px 28px;

    background: #00572f;
    color: #f5bd00;
    border-radius: 100px;

    font-family: "DM Sans", sans-serif;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.2;

    letter-spacing: 3px;
    text-transform: uppercase;
    text-align: center;

    white-space: nowrap;
}


/* ------------------------------------------------------------
   CARD PRODOTTO / LOOP ITEM ELEMENTOR
   Badge stagionale a fascia piena
   ------------------------------------------------------------ */

/*
   Assegna al contenitore principale della card Elementor
   la classe CSS:

   card-prodotto
*/

.card-prodotto .elementor-widget-shortcode {
    width: 100%;
}

.card-prodotto .seppia-badge-stagionale {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: none;
    box-sizing: border-box;
    padding: 14px 20px;
    margin: 0;
    background: #00572f;
    color: #f5bd00;
    border: 0;
    border-radius: 0;
    font-family: "DM Sans", sans-serif;
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 3px;
    text-transform: uppercase;
    text-align: center;
    white-space: nowrap;
}


/* ------------------------------------------------------------
   Responsive card
   ------------------------------------------------------------ */

@media (max-width: 1024px) {

    .card-prodotto .seppia-badge-stagionale {
        padding: 12px 16px;

        font-size: 11px;
        letter-spacing: 5px;
    }

}


@media (max-width: 767px) {

    .card-prodotto .seppia-badge-stagionale {
        padding:12px;

        font-size: 10px;
        letter-spacing: 3px;

        white-space: normal;
    }

}


/*pagina order-received*/
body.woocommerce-order-received main#content {
    padding: 15vh 10vw;
}