/* 
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 */

.hide {
	display: none;
}
.elementor-button .elementor-button-icon svg {
	width: 4rem;
}
input[type=date], input[type=email], input[type=number], input[type=password], input[type=search], input[type=tel], input[type=text], input[type=time], input[type=url], select, textarea {
	padding: 21px 25px!important;
}

/* Stato iniziale */
.zoomIn {
    transition: transform 1.1s cubic-bezier(.165,.84,.44,1)!important;
    transform: scale(0.6);
    overflow: hidden;
    will-change: transform, overflow;
    /*clip-path: inset(0 round calc(0.5rem + 6 * calc((100vw - 20rem) / 2240)));*/
}
.zoomIn.in-view {
  transform: scale(1);
  overflow: hidden;
  transition-delay: 0s;
  /*clip-path: inset(0 round calc(0.5rem + 6 * calc((100vw - 20rem) / 2240)));*/
}

.zoomIn img,
.zoomIn .elementor-image img,
.zoomIn .elementor-widget-container img,
.zoomIn iframe {
  transform: scale(1.8);
  /*transition: transform 0.8s ease, opacity 0.8s ease;*/
  transition: transform 1.1s cubic-bezier(.165,.84,.44,1);
  opacity: 0.3;
  /*clip-path: inset(0 round calc(0.5rem + 6 * calc((100vw - 20rem) / 2240)));*/
}

/* Default: entrata in viewport (delay sull’immagine, non sul blocco) */
.zoomIn.in-view img,
.zoomIn.in-view .elementor-image img,
.zoomIn.in-view .elementor-widget-container img,
.zoomIn.in-view iframe {
  transform: scale(1);
  opacity: 1;
  transition-delay: 0s;
  /*clip-path: inset(0 round calc(0.5rem + 6 * calc((100vw - 20rem) / 2240)));*/
}
.zoomIn.in-view.delay-2 img,
.zoomIn.in-view.delay-2 .elementor-image img,
.zoomIn.in-view.delay-2 .elementor-widget-container img,
.zoomIn.in-view .delay-2 img,
.zoomIn.in-view .delay-2 .elementor-image img,
.zoomIn.in-view .delay-2 .elementor-widget-container img {
  transition-delay: 0.7s;
}
.elementor-button-text:hover {
	text-decoration: underline;
    text-underline-offset: 10px;
}

.iub__us-widget {
	display: none!important;
}

html.lenis,
body.lenis {
	height: auto;
}

.lenis.lenis-smooth {
	scroll-behavior: auto !important;
}

@media (prefers-reduced-motion: reduce) {
	.lenis.lenis-smooth {
		scroll-behavior: auto !important;
	}
}

#richiediDisp {
	transition: right 0.35s ease;
}

#richiediDisp .elementor-icon-list-text {
	max-width: 20rem;
	opacity: 1;
	visibility: visible;
	overflow: hidden;
	transform: translateX(0);
	transition: max-width 0.35s ease, opacity 0.35s ease, transform 0.35s ease, visibility 0s linear 0s;
}

#richiediDisp .elementor-icon-list-icon svg path {
	transition: fill 0.35s ease-in-out;
}
#richiediDisp .elementor-icon-list-icon svg {
	transition: all 0.35s ease-in-out;
}
#richiediDisp.is-scrolled .elementor-icon-list-icon svg {
	width: 60px;
	margin: 0;
	transition: all 0.35s ease-in-out;
}

#richiediDisp.is-scrolled {
	right: 3px;
}

#richiediDisp.is-scrolled .elementor-icon-list-text {
	max-width: 0;
	opacity: 0;
	visibility: hidden;
	transform: translateX(8px);
	pointer-events: none;
	transition: max-width 0.35s ease, opacity 0.35s ease, transform 0.35s ease, visibility 0s linear 0.35s;
}

#richiediDisp.is-scrolled .elementor-icon-list-icon svg path {
	fill: var(--e-global-color-primary);
}

@media (prefers-reduced-motion: reduce) {
	#richiediDisp,
	#richiediDisp .elementor-icon-list-text,
	#richiediDisp .elementor-icon-list-icon svg path {
		transition-duration: 0.01ms !important;
	}
	
}



/* Carosello landing: offset iniziale/finale simmetrico + slide sempre intera */
#caroselloLanding {
	overflow: hidden;
}

#caroselloLanding .elementor-image-carousel-wrapper {
	overflow: hidden;
}

#caroselloLanding .swiper {
	overflow: hidden;
}

#caroselloLanding .swiper-wrapper {
	transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1) !important;
}

#caroselloLanding .swiper-slide {
	width: auto !important;
	box-sizing: border-box;
}

#caroselloLanding .swiper-slide-inner {
	display: block;
	width: auto;
	height: var(--carosello-slide-height, 84dvh);
}

#caroselloLanding .swiper-slide-image {
	display: block;
	width: auto;
	height: 100%;
	max-width: var(--carosello-max-slide-width, calc(50vw - 40px));
	object-fit: contain;
	-webkit-user-drag: none;
	user-select: none;
	-webkit-user-select: none;
	pointer-events: none;
}

#caroselloLanding .elementor-swiper-button {
	z-index: 3;
}

/* Cursore custom + grab sul carosello landing */
.custom-svg-cursor {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 99999;
	width: 84px;
	height: 84px;
	margin: 0;
	padding: 0;
	pointer-events: none;
	transform: translate(-50%, -50%) scale(1);
	transition: transform 0.2s ease;
}

.custom-svg-cursor svg {
	display: block;
	width: 100%;
	height: 100%;
}

.custom-svg-cursor .cursor-arrow-left,
.custom-svg-cursor .cursor-arrow-right {
	transition: opacity 0.2s ease, stroke-width 0.2s ease;
	opacity: 0.45;
}

.custom-svg-cursor.is-prev-zone .cursor-arrow-left {
	opacity: 1;
	stroke-width: 1.6;
}

.custom-svg-cursor.is-prev-zone .cursor-arrow-right {
	opacity: 0.3;
}

.custom-svg-cursor.is-next-zone .cursor-arrow-right {
	opacity: 1;
	stroke-width: 1.6;
}

.custom-svg-cursor.is-next-zone .cursor-arrow-left {
	opacity: 0.3;
}

.custom-svg-cursor.is-grabbing {
	transform: translate(-50%, -50%) scale(0.9);
}

.custom-svg-cursor.is-grabbing .cursor-arrow-left,
.custom-svg-cursor.is-grabbing .cursor-arrow-right {
	opacity: 0.35;
}

#caroselloLanding .elementor-image-carousel-wrapper {
	cursor: none;
	touch-action: pan-x pan-y;
	user-select: none;
	-webkit-user-select: none;
}

#caroselloLanding.is-carousel-grabbing .elementor-image-carousel-wrapper {
	cursor: none;
}

#caroselloLanding.is-carousel-grabbing .swiper-wrapper {
	cursor: grabbing;
	transition-duration: 0ms !important;
}

@media (hover: hover) and (pointer: fine) {
	#caroselloLanding.is-custom-cursor-active,
	#caroselloLanding.is-custom-cursor-active * {
		cursor: none !important;
	}
}

.flatpickr-current-month .flatpickr-monthDropdown-months {
	width: 8rem!important;
}
.flatpickr-current-month .numInputWrapper {
	width: auto!important;
}



/* MEDIA QUERY */

@media screen and (max-width: 768px) {
	#richiediDisp.is-scrolled .elementor-icon-list-icon svg {
		width: 50px;
		height: 50px;
		margin: 0;
		margin-bottom: 10px;
		transition: all 0.35s ease-in-out;
		background: #fff;
        border-radius: 50%;
	}
	#caroselloLanding .swiper-slide-inner {
		height: auto;
	}
}

