html[lang="it-IT"],
	html[lang="auto"]{
		.form-eng{
			display:none;
		}
		
		.form-ita{
			display: inline-block;
		}
			
			.privacy-eng{display: none}
			.privacy-ita{display: inline-block}
	}
	
		html[lang="en"],
	html[lang="en-GB"]{
		.form-eng{
			display:inline-block;
		}
		
		.form-ita{
			display: none;
		}
			
			.privacy-eng{display: inline-block}
			.privacy-ita{display: none}
	}

body{
overflow-x: hidden !important;
box-sizing: border-box;
font-family: "Instrument Sans";
}

button{
all: unset;}

.alignwide{
margin-inline: 0px !important;
}

/* Contenitore con classe ob-hover */
.ob-hover { transition: transform .3s ease; will-change: transform; }
.ob-hover:hover { transform: scale(1.05); }

/* Icona interna all’hover del contenitore */
.ob-hover .elementor-icon { transition: transform .3s ease; }
.ob-hover:hover .elementor-icon { transform: rotate(8deg) scale(1.1); }

.overflow-hidden{
overflow: hidden;}

p{
	margin-block-start: 0.9rem;
}

/* HEADER */
#header-back {
  opacity: 0;
	pointer-events: none;
	box-shadow: none;
	transform: translateY(-24px);
  min-height: 0;
  transition:
    opacity 500ms ease,
    min-height 450ms ease,   /* entrambe le proprietà transitano */
		transform 500ms ease-in,
		border-radius 500ms ease,
		box-shadow 500ms ease,
		padding 600ms ease;
}

/* Stato visibile dopo 80vh di scroll */
#header-back.is-visible {
  opacity: 1;
	border-radius: 0px;
	pointer-events: auto;
  min-height: unset;
	transform: translateY(0px);
}

#header-back.is-visible:hover{
	border-radius: 50px 5px 50px 5px;
	box-shadow: 0px 0px 26px -3px rgba(0,0,0,0.30);
	padding: 20px 50px;
}

#back-top{
	opacity: 0;
	pointer-events: none;
	transform: translateY(24px);
  min-height: 0;
	transition: all 0.45s ease;
}

#back-top.is-visible{
	opacity: 1;
	pointer-events: auto;
  min-height: unset;
	transform: translateY(0px);
}


/************/

/* BODY */

.attivo{
	background-color: #df6630 !important;
	color: #fff !important;
}

a{
	text-align: left !important;
}


/* PULSANTI GENERALI*/

.elementor-button .elementor-button-content-wrapper{
	gap: 0 !important;
		transition: all 0.5s ease-out;
}

#no-ticket-contatti .elementor-button-content-wrapper,
.elementor-button:hover .elementor-button-content-wrapper{
gap: 16px !important;
}

.elementor-button .elementor-button-content-wrapper .elementor-button-icon{
	  width: 0px;
    visibility: hidden;
    transition: all 0.4s ease;
		opacity: 0;
}

.elementor-button:hover .elementor-button-content-wrapper .elementor-button-icon{
	width: 24px;
   visibility: visible;
		opacity: 1;
}


@media(max-width: 1024px){
		
		.elementor-button .elementor-button-content-wrapper{
			gap: 16px !important;
				transition: all 0.5s ease-out;
		}

		.elementor-button:hover .elementor-button-content-wrapper{
		gap: 16px !important;
		}

		.elementor-button .elementor-button-content-wrapper .elementor-button-icon{
				width: unset;
				visibility: visible;
				transition: all 0.4s ease;
				opacity: 1;
		}

		.elementor-button:hover .elementor-button-content-wrapper .elementor-button-icon{
			 width: unset;
				visibility: visible;
				opacity: 1;
		}
		
}
/***********/

/*** FORM STYLE ***/
@media screen and (max-width: 1000px){
.cart-step{
margin-top: 12px}
}

#no-ticket-contatti{
	background-color: var(--e-global-color-primary);
	font-family: var(--e-global-typography-a9180e1-font-family), Sans-serif;
    font-size: var(--e-global-typography-a9180e1-font-size);
    font-weight: var(--e-global-typography-a9180e1-font-weight);
    text-transform: var(--e-global-typography-a9180e1-text-transform);
    fill: var(--e-global-color-secondary);
    color: var(--e-global-color-secondary);
    border-radius: 0px 0px 0px 0px;
    padding: 24px 24px 24px 24px;
		display: block;
    margin: 0 auto;
    width: fit-content;
		transition: all 0.45s ease;
}

#no-ticket-contatti:hover{
		background-color: var(--e-global-color-secondary);
		color: var(--e-global-color-primary);
		fill: var(--e-global-color-primary);
}

label{
 width: 100%;
}

.wpcf7 input, .wpcf7 select, .wpcf7 textarea{
	margin-top: 8px;
}

.wpcf7-submit {
    width: 100%;
    color: #E0693A;
    border: 1px solid #E0693A;
    background-color: #fff;
    border-radius: 0;
}

.wpcf7-submit:hover {
    color: #fff;
    background-color: #E0693A;
}

/*******************/

/*SEZIONE ACQUISTA BIGLIETTI****/

#step-partecipanti{
		font-family: 'Instrument Sans', sans-serif;
}

[type=button], button{
		border:1px solid #ddd;
		color: #000;
		transition: all 0.4s ease;
}



[type=button]:hover, button:hover{
		border: 1px solid transparent;
		background-color: #df6630;
		color: #fff;

}

[type=button]:focus, button:focus{
		border: 1px solid transparent;
		background-color: #df6630;
		color: #000;

}


.step { margin-bottom:40px; }

.step-next[disabled],
.step-prev[disabled],
#aggiungi-al-carrello[disabled] {
		cursor:not-allowed;
		opacity:0.6;
}
.partecipante-row {
		display: flex;
		flex-wrap: wrap;
		gap: 4px;
		margin-bottom: 16px;
}


.partecipante-row input,
.partecipante-row select {
		flex: 1 1 200px; 
}

.partecipante-row input,
.partecipante-row select {
		width: 100%;
}
.calendar-layout {
		display:flex;
		flex-direction: column;
		gap:20px;
		margin-bottom: 24px;
}
#calendario {
		background:#fff;
		border-radius:12px;
		box-shadow:0 4px 16px rgba(0,0,0,0.08);
		padding:10px;
}

.fc-day-available {
		background-color: #d1fae5 !important; 
}


.fc .fc-daygrid-day.fc-day-available {
		background-color: #d1fae5 !important;
}

.fc .fc-daygrid-day-frame.fc-day-available {
		background-color: #d1fae5 !important;
}

.fc .fc-highlight{
	border: 2px solid #4f4f4f;
}

.fc .fc-toolbar-title{
    text-transform: capitalize !important;
    font-size: 1.5em !important;
    margin: 0px;
}

#slot-list{
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		gap: 8px;  
}

#slot-orari {
		flex:1;
		display:flex;
		flex-direction:column;
		gap:8px;
}
#slot-list button {
		display:block;
		padding:8px 12px;
		color: #000;
		border-radius:8px;
		border:1px solid #ddd;
		background:#fff;
		text-align:left;
		cursor:pointer;
}

#slot-list button:hover{
	border: 1px solid #df6630;
}

#slot-list button.selected {
		background:#df6630;
		color:#fff;
		border-color:#df6630;
}

#recap{
		border: 1px solid #ddd;
		padding: 12px;
		padding-bottom: 20px;
		margin-bottom: 24px;
		background: #fff;
		min-height: 45vh;
		justify-content: space-between;
}

.recap-header,
.recap-row {
		display: grid;
		grid-template-columns: 1fr .2fr;
		gap: 8px;
		align-items: center;
}

.recap-header {
		font-weight: 600;
		font-size: 14px;
		margin-bottom: 6px;
}

.recap-row {
		position: relative;
		border: 1px solid #000;
		padding: 10px;
		margin-bottom: 8px;
		background: #fff;
}

.recap-edit-icon {
		position: absolute;
		top: 6px;
		right: 6px;
		width: 18px;
		height: 18px;
		border-radius: 4px;
		background: #e5e7eb;
		cursor: pointer;
		opacity: 0;
		transition: opacity 0.15s ease;
}
.recap-edit-icon::before {
		content: '';
		display: block;
		width: 10px;
		height: 10px;
		margin: 4px;
		background: url('data:image/svg+xml;utf8,') center/contain no-repeat;
}
.recap-row:hover .recap-edit-icon {
		opacity: 1;
}

.recap-subtotale {
		margin-top: 10px;
		display: flex;
		align-items: center;
		justify-content: space-between;
		font-weight: 300;
		font-size: 19px;
}

.recap-dataOra {
		margin-top: 10px;
		display: flex;
		align-items: end;
		justify-content: space-between;
		font-weight: 300;
		font-size: 19px;
		border-bottom: 1px solid #000;
}

#recap-subtotale-valore{
    font-size: 19px;
    color: #fff;
    padding: 8px;
    background-color: #DF6630;
    margin-bottom: 2px;
}

.counter-decrement, .counter-increment {
		background: #d6d6d6;
		color: black;
		border: none;
		border-radius: 0px;
		padding: 8px;
		cursor: pointer;
		min-width: 30px;
		font-weight: bold;
		font-family: fangsong;
}

.counter-decrement:hover, .counter-increment:hover {
		background: #DF6630;
		color: #fff;
}

.counter-decrement:focus, .counter-increment:focus {
		background: #DF6630;
		color: #fff;
}

.counter-decrement:disabled, .counter-increment:disabled {
		background: #ccc;
		cursor: not-allowed;
}

.counter-row, .ticket-row {
		padding: 8px 0;
}

.counter-row label, .ticket-row label {
		font-size: 0.95em;
}


.fc-day-available {
		background-color: #e8f5e8 !important;
		cursor: pointer;
}

.recap-header {
		display: grid;
		grid-template-columns: 2fr 1fr 1fr;
		gap: 10px;
		font-weight: bold;
		padding: 8px 0;
		border-bottom: 2px solid #333;
		margin-bottom: 10px;
}

#max-partecipanti-info-eventi{
	font-size: 1.2rem !important;
	color: #fff !important;
	display: inline-block !important;
	padding: 12px;
	background-color: #df6630;
	margin-bottom: 24px !important;
}

@media(max-width: 800px){
		.recap-header{display: none;}
		.recap-row{grid-template-columns: none;}
		.partecipante-row input,
		.partecipante-row select {
				flex: 1 1 calc(50% - 4px); 
		}
}




/**/
/** MINI CART **/
.elementor-menu-cart__main{
width: 450px;}

.elementor-menu-cart__close-button{
margin: 0 !important;
}

.elementor-menu-cart__footer-buttons{
margin-top: 0 !important;}

.elementor-menu-cart__subtotal{
margin-top: auto !important;
    display: flex;
    justify-content: space-between;
		border-width: 1px;
    padding: 8px;}

.elementor-menu-cart__product:last-child {
    border: 0px !important;
}

.elementor-menu-cart__product{
    border-bottom: 1px solid #000 !important;
		display: flex;
    flex-direction: column;
}

.elementor-menu-cart__product-name, .elementor-menu-cart__product-price{
	padding-inline-start: 0px !important;
}

.elementor-menu-cart__product-price{
	align-self: start;
}
/***********************/

/** CARRELLO **/
.woocommerce-mini-cart__empty-message{
font-size: 0px !important;
    align-self: center;
    display: flex;
    height: 100%;
    align-items: center;}

.woocommerce-mini-cart__empty-message:before{
    line-height: 100%;
    font-size: 16px;
    text-align: center;
    display: block;
    content: "Nessun prodotto nel carrello\A - \A Your cart is empty";
    white-space: break-spaces;}

div.elementor-menu-cart__container.elementor-lightbox > div > div.widget_shopping_cart_content > div.elementor-menu-cart__products.woocommerce-mini-cart.cart.woocommerce-cart-form__contents > div > div.elementor-menu-cart__product-name.product-name > dl{display: none}

.elementor-menu-cart__product-image a, .elementor-menu-cart__product-image img {
    height: 100%;
    display: block;
    align-self: stretch;
    justify-self: stretch;
    object-fit: cover;
		object-position: top;
}

.elementor-menu-cart__product-image{
height: 120px;
width: 120px}

.elementor-widget-woocommerce-cart .woocommerce a:not(.add_to_cart_button):not(.restore-item):not(.wc-backward):not(.wc-forward):hover{
color:#DF6630}

@media(max-widht: 768px){
.woocommerce table.shop_table_responsive tr{
        display: flex;
        justify-content: space-between;
        text-align: right !important;
}
}

@media (max-width: 767px) {
    .elementor-widget-woocommerce-cart .woocommerce table.cart tr {
        padding: 16px !important;
    }
}

.elementor-menu-cart__product .variation dd{
    margin-inline-start: 0;
    margin-bottom: 12px;
    margin-top: -10px;}

.elementor-menu-cart__product .variation {
    color: var(--product-variations-color, #1f2124);
    display: flex;
    margin: 10px 0;
    flex-direction: column;
}

.product-subtotal{
	text-align: right;
}


.elementor-widget-woocommerce-cart .woocommerce table.cart td.product-name{
padding-top: 16px;
padding-bottom: 20px}
/**********/

/**CHECKOUT**/
.woocommerce{
font-family: "Instrument Sans", sans-serif; }

.wp-block-woocommerce-checkout, .woocommerce-order{
max-width: 1600px;
justify-self: center;
padding-left: 20px;
padding-right: 20px;
font-family: 'Instrument Sans', sans-serif;
}

.elementor-widget-woocommerce-cart .woocommerce .cart td:before{
font-style: italic;
}

div.e-cart__column.e-cart__column-start > form > div.e-shop-table.e-cart-section.e-cart-section--no-coupon > table > tbody > tr.woocommerce-cart-form__cart-item.cart_item > td.product-thumbnail{max-width: 80px;}

div.e-cart__column.e-cart__column-start > form > div.e-shop-table.e-cart-section.e-cart-section--no-coupon > table > tbody > tr.woocommerce-cart-form__cart-item.cart_item > td.product-thumbnail > a{width: 300px; display: flex;}

.woocommerce #content table.cart img, .woocommerce table.cart img, .woocommerce-page #content table.cart img, .woocommerce-page table.cart img {
    height: 100%;
    width: 40%;
}

.wc-block-components-totals-wrapper:empty, .wc-block-components-totals-wrapper:has(>:only-child:empty){
border-width: 0 !important;
padding: 0 !important;}

.wc-block-components-totals-wrapper, .wp-block-woocommerce-checkout-order-summary-totals-block{
border-top: 1px solid #000 !important}

.wp-block-woocommerce-checkout-order-summary-block{
border: 1px solid #000 !important;
border-radius: 0 !important;}

.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-wrapper:first-of-type{
border-top: 0 !important;}

.wc-block-components-order-summary .wc-block-components-order-summary-item{
border-bottom: 1px solid #000 !important;
padding: 8px 16px 0 16px;}

.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title{
border-bottom: 1px solid #000 !important;}

.wc-block-components-order-summary.is-large{
padding: 0 !important;}

.wc-block-components-order-summary .wc-block-components-order-summary-item:last-child{
border: 0 !important;}

.wc-block-components-sidebar-layout .wc-block-components-main{
padding: 16px !important;
border: 1px solid #000 !important;}

.wc-block-components-product-details > li > .wc-block-components-product-details__value{
font-weight: 700 !important;}

.wc-block-components-product-details > li > .wc-block-components-product-details__name{
font-weight: 400 !important;}

/**.wc-block-components-product-details > span > span[aria-hidden=true]{display: none !important}**/

.woocommerce table.shop_table tbody th, .woocommerce table.shop_table tfoot td, .woocommerce table.shop_table tfoot th{
padding: 16px;}

body > div.woocommerce > div > p.woocommerce-thankyou-order-received, h2.woocommerce-order-details__title, h2.woocommerce-column__title{
background-color: #F7F5F0;
border-bottom: 2px solid #Df6630;
color: #Df6630;
padding: 8px;
font-family: 'Instrument Serif', serif;
font-size: 2em;}

.wc-block-components-product-details.wc-block-components-product-details:last-of-type {
    margin-bottom: 0;
    display: flex;
		flex-direction: column;
		font-size: 14px !important;
}

@media screen and (max-width: 500px) {
    .wc-block-checkout__actions .wc-block-components-checkout-place-order-button {
        width: 80% !important;
        margin-top: 20px;
    }
/****************/

/*ACCOUNT*/
.woocommerce-MyAccount-navigation{
padding: 20px;
font-family: 'Instrument Sans', sans-serif;
}

.woocommerce-MyAccount-navigation ul{
    list-style: none;
    display: flex;
    flex-direction: column;
		padding: 0;
    gap: 24px;
font-family: 'Instrument Sans', sans-serif;}

.woocommerce-MyAccount-navigation ul li{
padding: 1px;
color: #000;
background-color: transparent;
border: 1px solid #000;
transition: all 0.2s ease;
}

.woocommerce-MyAccount-navigation ul li:hover{
		border: 1px solid #DF6630;
		background-color: #DF6630;
		color: #fff;
}

.woocommerce-MyAccount-navigation ul li.is-active{
		border: 1px solid #DF6630;
		background-color: #DF6630;
		color: #fff;
}

.woocommerce-MyAccount-navigation ul li a{
color: #000;
padding: 12px;
width: 100%;
height: 100%;
display: block;
font-family: "Instrument Sans", sans-serif;
font-weight: 600;}

.woocommerce-MyAccount-navigation ul li:hover a{
color: #fff;}

.woocommerce-MyAccount-content{
padding: 20px;
min-height: 90vh;
}

body > div.woocommerce > div > table > tbody > tr.order > th > a{
padding: 8px;
color: #fff;
background-color: #DF6630;
}

.woocommerce table.shop_table {
    margin: 0;
		font-family: 'Instrument Sans', sans-serif;
		border: none !important;
    text-align: left;
    width: 100%;
    border-collapse: collapse;
    border-radius: 0;
}



body > div.woocommerce > div > p >a{
text-decoration: underline;
color: #000;}

body > div.woocommerce > div > p >a:hover{
color: #DF6630;}

body > div.woocommerce > nav > ul > li.woocommerce-MyAccount-navigation-link.woocommerce-MyAccount-navigation-link--downloads{display: none;}

@media only screen and (max-width: 768px) {
    .woocommerce table.shop_table_responsive tr, .woocommerce-page table.shop_table_responsive tr {
        display: block;
        border-collapse: collapse;
        padding-bottom: 20px;
    }
}
/**************/


/*** WOOCOMMERCE ***/
.woocommerce-order {
  max-width: 1400px;
  margin: auto;
}

/* CF7 */
.wpcf7-list-item {
  margin: 0;
}

.elementor-widget-woocommerce-menu-cart.remove-item-position--middle .elementor-menu-cart__product-remove {
    top: 0px !important;
    transform: translateY(50%) !important;
    left: 1% !important;
    padding: 9px;
    background-color: white;
}


/* toglie bordo su focus:hover */
.ticket-row [type="button"]:hover, 
.ticket-row button:hover {
  border: 0;
}