/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */


.form_dileo label {
    display: none;
}

.form_dileo .elementor-field-type-radio label {
    display: block;
}

.form_dileo .elementor-field-type-acceptance label {
	font-size: 12px;
}
/*
#logo-iniziale { opacity: 1; transition: opacity 0.5s ease; position: fixed; top: 0; width: 100%; z-index: 999; }
#header-scroll { opacity: 0; position: fixed; top: 0; width: 100%; transition: opacity 0.5s ease; z-index: 1000; }
.scrolled #header-scroll { opacity: 1 !important; }
.scrolled #logo-iniziale { opacity: 0 !important; }*/

/* --- COMPORTAMENTO PER LE PAGINE "NON HOME" --- */

/* Se il body NON ha la classe .home, mostra sempre l'header e nascondi il logo */
body:not(.home) #header-scroll {
    opacity: 1 !important;
    pointer-events: auto;
}

body:not(.home) #logo-iniziale {
    display: none; /* Lo rimuoviamo completamente nelle altre pagine */
}

/* --- COMPORTAMENTO PER LA "HOME" (IL TUO MECCANISMO ORIGINALE) --- */

/* Stato iniziale in Home */
body.home #header-scroll {
    opacity: 0;
}

body.home #logo-iniziale {
    opacity: 1;
}

/* Stato dopo lo scroll in Home */
body.home.scrolled #header-scroll {
    opacity: 1 !important;
}

body.home.scrolled #logo-iniziale {
    opacity: 0 !important;
}

#elementor-menu-cart__toggle_button {
	padding: 0px !important;
}

/* Desktop: 3 colonne (ok) */
.listing-grid .elementor-loop-container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

/* Tablet: 2 colonne di default */
@media (max-width: 1024px) and (min-width: 768px) {
  .listing-grid .elementor-loop-container {
    grid-template-columns: repeat(2, 1fr) !important;
  }
	
	.carousel-slide {
		font-size: 14px;
	}
}

/* Mobile: 1 colonna di default */
@media (max-width: 767px) {
  .listing-grid .elementor-loop-container {
    grid-template-columns: 1fr !important;
  }
	
	.carousel-slide {
		font-size: 13px !important;
		 padding: 0 12px !important;
	}
}
}

/* Switch → da tablet in su 1 colonna */
@media (min-width: 768px) {
  .listing-grid.list-view .elementor-loop-container {
    grid-template-columns: 1fr !important;
  }
}


/* Su mobile la colonna resta 1, lo switch non tocca le colonne */


/* stato attivo icone */
#grid-view-button.is-active,
#list-view-button.is-active {
  background: #f7f1e3; /* colore attivo */
}

.wpfFilterContent select {
	    background: #FCFBF9;
    border: 0px;
    padding: 0px;
    width: auto !important;
}

.ui-slider.ui-widget-content .ui-slider-handle {
	    background: #000000 !important;
	border: 0px !important;
    border-radius: 50% !important;
}

.ms-options ul{
	padding-left: 6px;
}

.list-view .card-prodotto .e-con-inner {
	display: grid;
	grid-template-columns: 160px 66%;
	justify-content: space-between;
	align-items: center;
	padding: 34px 0px 14px 0px;
}


.list-view .card-prodotto .grid-product-view {
	grid-template-columns: auto auto !important;
}

.list-view .card-prodotto h5 {
	text-align: left;
}

.list-view .card-prodotto .btn_add_grid_view {
	margin-bottom: 22px;
}

.list-view .card-prodotto .grid_prod_view {
	display: grid;
    grid-template-columns: auto auto;
    justify-content: space-between;
}

#bottom-nav {
    position: fixed;
	padding-bottom: 12px;
	padding-right: 4px;
	padding-left: 4px;
    bottom: 0;
    left: 0;
    width: 100%;
    background: #fff;
    /*display: flex;
    justify-content: space-around;*/
    border-top: 1px solid #ccc;
    z-index: 9999;
    box-shadow: 0 -1px 5px rgba(0,0,0,0.1);
}



@media (max-width: 767px) {
		.list-view .card-prodotto .grid_prod_view {
			grid-template-columns: 1fr !important;
			align-items: center !important; 
		}
	
	.list-view .card-prodotto .e-con-inner { 
		grid-template-columns: 125px 1fr !important;
		padding-bottom: 0px !important; 
		}
	
	.list-view .card-prodotto .btn_add_grid_view {
	    align-content: flex-start;
    align-items: flex-start;
}

}


.added_to_cart.wc-forward {
	display: none !important;
}

.wfpDescription {
	margin-bottom: 4px;
	font-weight:800;
	font-size:18px;
	color: #000;
}

.wpfFilterButton.wpfButton, .wpfClearButton.wpfButton {
	width: 100% !important;
	
}

.wpfFilterButtons.wpfFilterButtonsBottom {
	display: flex;
	flex-direction: column !important;
    background: #fcfbf9;
    padding: 15px 10px;
}

.wpfFilterButtons .wpfButton {
	margin-left: 0px !important;
	background-color: #55121B;
	color: #fff ;
	border: 0px !important;
}

.wpfClearButton.wpfButton {
	background-color: transparent !important;
	color: #1E1E1E !important;
	text-decoration: underline;
}

.elementor-widget-n-menu .e-n-menu-title.e-current,.elementor-widget-n-menu .e-n-menu-title.e-current a {
    font-weight: 800 !important;
}

.ms-options-wrap > .ms-options > ul label {
	padding-top: 7px !important;
}

.prod-badges-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.prod-badge {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 999px;
    border: 1px solid #e0d8c8; /* adatta al tuo design */
    font-size: 16px;
    line-height: 1.4;
    color: #4a3a2a;
}


.read-more {
    color: #00582B;
    text-decoration: none;
	font-size: 16px;
    font-weight: 800;
}
.read-more:hover {
    text-decoration: underline;
}


/* wrapper quantità in stile “pill” */
.woocommerce div.product form.cart .quantity {
    display: inline-flex;
    align-items: center;
    gap: 12px;              /* spazio fra +, numero, - */
    background: #f8f4ee;    /* beige chiaro tipo screenshot */
    padding: 8px;
}

/* bottone + e - */
.woocommerce div.product form.cart .qty_button {
    border: none;
    background: transparent;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
    color: #333333;
    padding: 0;
}

/* campo numero “nudo” */
.woocommerce div.product form.cart .qty {
    border: none;
    background: transparent;
    width: 32px;
    text-align: center;
    font-size: 18px;
    color: #333333;
    -moz-appearance: textfield;
}

.woocommerce div.product form.cart .qty::-webkit-outer-spin-button,
.woocommerce div.product form.cart .qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}


.e-atc-qty-button-holder {
	    align-content: flex-start !important;
    flex-direction: column !important;
}

.single_add_to_cart_button {
	width: 100%;
}

.qty_button.qty_minus {
	margin-block-start: 0px !important;
}

/* wrapper prezzo + nota */
.my-price-block {
    display: inline-block;
}

/* PREZZO ATTIVO (normale o scontato) dentro lo shortcode */
.my-price-block .amount,
.my-price-block .amount ins {
    font-size: 28px;
    color: #1E1E1E;
    font-weight: 400;
}

/* PREZZO DI CONFRONTO (barrato / base) dentro lo shortcode */
.my-price-block .price del {
    font-size: 18px;
    color: #8E8E8E;
}

/* nota "IVA esclusa" */
.my-price-block .my-price-note {
    margin-top: 4px;
    font-size: 12px;
    color: #777777;
}

/* MOBILE */
@media (max-width: 767px) {

    .my-price-block .price,
    .my-price-block .price ins {
        font-size: 24px;
    }

    .my-price-block .price del {
        font-size: 16px;
    }
}
/*
.prod_info .price {
	    display: flex !important;
    flex-direction: row-reverse !important;
    justify-content: flex-end !important;
	    align-items: center !important;
	gap: 12px;
}*/

.descrizione_produttore {
	color: #1E1E1E;
}

ins {
	text-decoration: none !important;
}

.woocommerce-cart-form .quantity button {
	display: none !important;
}

.e-current .e-n-menu-title-text {
	font-weight: bolder !important;
}

#area-horeca {
    scroll-margin-top: 0 !important;
}

.toggle-link {
    color: #00582B;
    text-decoration: underline;
    font-weight: bold;
}
.more-text {
    display: none;
}
.dots {
    opacity: 0.7;
}

.stock-info {
    display: block;
	font-size: 15px; color: #626262; padding-left: 10px;
}

:is(.elementor-widget-woocommerce-product-add-to-cart,.woocommerce div.product .elementor-widget-woocommerce-product-add-to-cart,.elementor-widget-wc-add-to-cart,.woocommerce div.produ padding: 0 24px;ct .elementor-widget-wc-add-to-cart).elementor-add-to-cart--layout-auto .e-atc-qty-button-holder, :is(.elementor-widget-woocommerce-product-add-to-cart,.woocommerce div.product .elementor-widget-woocommerce-product-add-to-cart,.elementor-widget-wc-add-to-cart,.woocommerce div.product .elementor-widget-wc-add-to-cart).elementor-add-to-cart--layout-stacked .e-atc-qty-button-holder {
	grid-template-columns: 142px auto;
    display: grid;
	    align-items: center;
}


.single_add_to_cart_button.elementor-button.button {
	grid-column: 1 / -1;
	
}

.stock-dot {
    width: 8px;
    height: 8px;
    background: #00582B; /* Verde */
    border-radius: 50%;
    display: inline-block;
    flex-shrink: 0;
	margin-right: 6px;
}


.sidebar_menu_sx::before {
  content: '';
  position: absolute;
  top: 0;
  left: -50vw;
  width: 50vw;
  background: #EFE9E1;
}


/* Flip Laterale (asse Y) - Desktop e Mobile */
.flip-card {
    perspective: 1000px;
    position: relative;
}

.flip-card-front,
.flip-card-back {
    width: 100%;
    backface-visibility: hidden;
    transition: transform 0.6s;
    transform-style: preserve-3d;
}

.flip-card-back {
    position: absolute;
    top: 0;
    left: 0;
    transform: rotateY(180deg);
}

/* Desktop - Hover */
@media (min-width: 1025px) {
    .flip-card:hover .flip-card-front {
        transform: rotateY(-180deg);
    }

    .flip-card:hover .flip-card-back {
        transform: rotateY(0deg);
    }
}

/* Mobile - Touch/Tap con classe toggle */
.flip-card.flipped .flip-card-front {
    transform: rotateY(-180deg);
}

.flip-card.flipped .flip-card-back {
    transform: rotateY(0deg);
}

.elementor-field-subgroup {
    justify-content: space-between;
    align-items: center;
}

.css-carousel {
  width: 100%;
  overflow: hidden;
}

.carousel-track {
  display: flex;
  animation: scroll 30s linear infinite;
}

.carousel-slide {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
	color: #EFE9E1;
  padding: 0 24px; /* Metà di 48px da ogni lato per distanza */
  box-sizing: border-box;
}

@keyframes scroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.wpml-ls-legacy-list-horizontal {
	padding: 0px;
}

.wpml-ls-legacy-list-horizontal a {
	padding: 0px 6px;
}

.elementor-add-to-cart.elementor-product-simple form{
	display: grid !important;
	grid-template-columns: 106px 1fr;
	align-items: center;
    column-gap: 56px;
    row-gap: 32px;
}

.elementor-add-to-cart.elementor-product-simple form button {
	    grid-column: 1 / span 2;
	    margin-inline-start: 0px !important;
}

.woocommerce div.product form.cart::before {
	display: none !important;
}

.stock.in-stock {
display: none !important;	
}

.listing-grid.list-view .elementor-loop-container {
	grid-template-columns: 1fr;
}
.alchemica-form [type=button]:focus,[type=button]:hover,[type=submit]:focus,[type=submit]:hover,button:focus,button:hover {
	background-color: none !important;
}

.alchemica-form .dashicons.dashicons-hidden {
	    color: #BE9D5F !important;
}

.alchemica-form [type=button], [type=submit], button {
	border: 0px !important;
}

.alchemica-form .dashicons.dashicons-visibility {
	color: #BE9D5F !important;
}

.alchemica-form button.alchemica-toggle-password {
	padding: 0px !important;
}

.elementor-menu-cart__footer-buttons {
	grid-template-columns: 1fr;
}

.info_prod {
	background: #F7F4F0;
    border-radius: 13px;
    padding: 16px
}

.img_prod img {
	aspect-ratio: 1 / 1;
	width: 100%;
	object-fit: contain;
	object-position: center;
	padding: 10px 0px;

}

.elementor-menu-cart__product-image.product-thumbnail img{
	aspect-ratio: 1 / 1;
    background: #fff;
    object-fit: contain;
}

button.wc-block-components-checkout-place-order-button {
	background: #BE9D5F;
	border: 1px solid #BE9D5F !important;
    color: white;
	
}

button.wc-block-components-checkout-place-order-button:hover {
	background: #fff;
	border: 1px solid #BE9D5F !important;
    color: #BE9D5F;
	
}

.wc-block-components-order-summary .wc-block-components-order-summary-item__image>img, .woocommerce #content table.cart img, .woocommerce table.cart img, .woocommerce-page #content table.cart img, .woocommerce-page table.cart img {
	aspect-ratio: 1 / 1;
    object-fit: contain;
}

.woocommerce-form.woocommerce-verify-email {
	margin-top: 64px;
}

#order_review, .post-11857 {
	margin-top: 64px;
}

.btn_footer .elementor-button {
	border-style: solid !important;
    border-width: 1px 1px 1px 1px !important;
}

#add_payment_method #payment, .woocommerce-cart #payment, .woocommerce-checkout #payment {
	background: #EFE9E1 !important;
}

#add_payment_method #payment div.payment_box,.woocommerce-cart #payment div.payment_box,.woocommerce-checkout #payment div.payment_box {
	background: #ded8d0 !important;
}

#add_payment_method #payment div.payment_box::before,.woocommerce-cart #payment div.payment_box::before,.woocommerce-checkout #payment div.payment_box::before {

    border: 1em solid #ded8d0 !important;
    border-right-color: transparent !important;
    border-left-color: transparent !important;
    border-top-color: transparent !important;

}

.wc-block-components-totals-footer-item-tax {
	font-weight: 700 !important;
	font-size: 13px !important;
}

.woocommerce #payment #place_order, .woocommerce-page #payment #place_order {
	background: #00582B;
    border-radius: 0px;
    font-size: 18px;
    font-weight: 500;
}

.wc-block-components-checkbox__label a, .woocommerce-privacy-policy-text a{
	color: #55121B !important;
}

.wc-block-components-order-summary-item__description .wc-block-components-product-metadata__description {
	display: none !important;
}

.alchemica-register-private-container .alchemica-checkbox label {
	color: #333 !important;
}

.alchemica-form-footer p {
	color: #333;
}

.alchemica-register-business-container .alchemica-form-footer p {
	color: #e7e7e7 !important;
}

.alchemica-register-business-container .alchemica-form-footer a{
	color: #BE9D5F !important;
}

.wpfPriceRangeField#wpfMinPrice, .wpfPriceRangeField#wpfMaxPrice {
	min-width: 52px;
}

.filtri-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.5);
  z-index: 9998;
}

.filtri-overlay.open {
  display: block;
}

.filtri_mobile {
  position: fixed;
  top: 0;
  left: 0;
  width: 95%;
  height: 100%;
  background: #fff;
  z-index: 9999;
  transform: translateX(-100%);
  transition: transform 0.3s ease;
  overflow-y: auto;
}

.filtri_mobile.open {
  transform: translateX(0);
}

body.filtri-lock {
  overflow: hidden;
}

.wpfMainWrapper {
  position: relative;
}

.wpfFilterButtons.wpfFilterButtonsBottom {
  position: sticky;
  bottom: 0;
  left: 0;
  z-index: 10;
}

.card-prodotto .woocommerce-Price-amount.amount, .card-prodotto .price del{
	color: #00582B !important;
}

.wc-stock-indicator {
  background: rgba(255, 255, 255, 0.85);
  padding: 4px 8px;
  border-radius: 4px;
}

.wc-stock-label {
	color: #1d1d1d !important;
}

.card-prodotto .elementor-page-title {
	display: block !important;
}

.woocommerce ul.order_details {
    padding: 0px;
}

.woocommerce ul.order_details li {
	margin-top: 28px;
}

.alchemica-tax-label {
	color: #1d1d1d;
}