/* AVA HOME — SEARCH ENGINE DESKTOP E MOBILE */

/* ==================================================
		   SOLO MOBILE
		   ================================================== */

		@media (max-width: 1024px) {

			html,
			body {
				margin:
					0 !important;
			}


			.ava-mobile-search-app {

				position:
					relative;

				width:
					100vw;

				max-width:
					none;

				min-height:
					100dvh;

				margin-left:
					calc(
						50% -
						50vw
					);

				margin-right:
					calc(
						50% -
						50vw
					);

				background:
					#ffffff;

				font-family:
					inherit;
			}


			/* ----------------------------------------------
			   VIEW
			   ---------------------------------------------- */

			.ava-mobile-search-app-view {

				display:
					none;
			}


			.ava-mobile-search-app-view.is-active {

				display:
					block;
			}


			.ava-mobile-search-app-map-view {

				position:
					fixed;

				inset:
					0;

				z-index:
					100;

				width:
					100vw;

				height:
					100dvh;

				min-height:
					100dvh;

				background:
					#eef1f1;
			}


			.ava-mobile-search-app-map {

				width:
					100%;

				height:
					100%;
			}


			.ava-mobile-search-app
			.leaflet-control-attribution{
				display:none!important;
			}


			.ava-mobile-search-app-list-view {

				/*
				 * V7.15
				 * La lista ha un proprio viewport scrollabile.
				 *
				 * Prima dipendeva dallo scroll del BODY; la modalità
				 * mappa blocca però il body con overflow:hidden.
				 * Se quel lock rimaneva attivo per qualunque motivo,
				 * la lista diventava visibile ma non scorrevole.
				 *
				 * Ora lista e mappa sono due viewport indipendenti.
				 */
				position:
					fixed;

				inset:
					0;

				left:
					0;

				z-index:
					140;

				width:
					100vw;

				max-width:
					100vw;

				height:
					100dvh;

				min-height:
					100dvh;

				margin:
					0;

				padding:
					calc(
						env(safe-area-inset-top) +
						62px
					)
					12px
					95px;

				box-sizing:
					border-box;

				background:
					#ffffff;

				overflow-x:
					hidden;

				overflow-y:
					auto;

				-webkit-overflow-scrolling:
					touch;

				overscroll-behavior-y:
					contain;

				touch-action:
					pan-y;
			}


			.ava-mobile-search-app-list-view.is-active{
				display:
					block!important;

				background:
					#ffffff!important;

				overflow-y:
					auto!important;

				-webkit-overflow-scrolling:
					touch;
			}


			.ava-mobile-search-app-redirect-loader{
				position:fixed;
				top:0;
				left:0;
				right:0;
				z-index:2147483600;
				display:flex;
				flex-direction:column;
				gap:5px;
				padding:calc(env(safe-area-inset-top) + 7px) 12px 8px;
				box-sizing:border-box;
				background:rgba(255,255,255,.98);
				color:#285962;
				font-size:11px;
				text-align:center;
				box-shadow:0 4px 18px rgba(0,0,0,.08);
			}
			.ava-mobile-search-app-redirect-loader[hidden]{display:none!important}
			.ava-mobile-search-app-redirect-bar{
				width:100%;
				height:3px;
				overflow:hidden;
				border-radius:999px;
				background:#e7eeee;
			}
			.ava-mobile-search-app-redirect-bar span{
				display:block;
				width:38%;
				height:100%;
				border-radius:999px;
				background:#285962;
				animation:avaRedirectBar 1s ease-in-out infinite;
			}
			@keyframes avaRedirectBar{
				0%{transform:translateX(-110%)}
				100%{transform:translateX(290%)}
			}


			/* ----------------------------------------------
			   SWITCHER
			   ---------------------------------------------- */

			.ava-mobile-search-app-switcher {

				position:
					fixed;

				left:
					50%;

				bottom:
					calc(
						env(safe-area-inset-bottom) +
						16px
					);

				z-index:
					950;

				display:
					grid;

				grid-template-columns:
					1fr 1fr;

				gap:
					3px;

				width:
					170px;

				padding:
					4px;

				transform:
					translateX(-50%);

				border-radius:
					999px;

				background:
					rgba(30,30,30,.88);

				box-shadow:
					0 8px 28px
					rgba(0,0,0,.20);

				backdrop-filter:
					blur(10px);

				-webkit-backdrop-filter:
					blur(10px);
			}


			.ava-mobile-search-app-switch {

				height:
					38px;

				padding:
					0 14px;

				border:
					0;

				border-radius:
					999px;

				background:
					transparent;

				color:
					rgba(255,255,255,.76);

				font-family:
					inherit;

				font-size:
					12px;

				font-weight:
					700;
			}


			.ava-mobile-search-app-switch.is-active {

				background:
					#ffffff;

				color:
					#285962;
			}


			/* ----------------------------------------------
			   LISTA
			   ---------------------------------------------- */

			.ava-mobile-search-app-section {

				margin:
					0 0 26px;
			}


			.ava-mobile-search-app-section-title {

				margin:
					0 0 12px;

				color:
					#222222;

				font-size:
					16px;

				font-weight:
					700;

				line-height:
					1.25;
			}


			.ava-mobile-search-app-section-subtitle {

				display:
					block;

				margin-top:
					4px;

				color:
					#777777;

				font-size:
					12px;

				font-weight:
					400;
			}


			.ava-mobile-search-app-grid {

				display:
					grid;

				grid-template-columns:
					1fr;

				gap:
					14px;
			}


			.ava-mobile-search-app-card {

				display:
					grid;

				grid-template-columns:
					108px
					minmax(0,1fr);

				gap:
					12px;

				height:
					118px;

				min-height:
					118px;

				max-height:
					118px;

				overflow:
					hidden;

				border:
					1px solid #e8e8e8;

				border-radius:
					18px;

				background:
					#ffffff;

				color:
					inherit;

				text-decoration:
					none !important;

				box-shadow:
					0 5px 18px
					rgba(0,0,0,.045);
			}


			.ava-mobile-search-app-card-image-link{
				display:block;
				width:108px;
				height:118px;
				min-height:118px;
				max-height:118px;
				overflow:hidden;
				text-decoration:none!important;
			}

			.ava-mobile-search-app-card-image {

				width:
					108px;

				height:
					118px;

				min-height:
					118px;

				max-height:
					118px;

				object-fit:
					cover;

				background:
					#f1f1f1;
			}


			.ava-mobile-search-app-card-content {

				display:
					flex;

				flex-direction:
					column;

				justify-content:
					flex-start;

				min-width:
					0;

				padding:
					9px 10px 8px 0;

				box-sizing:
					border-box;

				height:
					118px;

				overflow:
					hidden;
			}


			.ava-mobile-search-app-card-title {

				margin:
					0 0 4px !important;

				color:
					#222222 !important;

				font-family:
					inherit !important;

				font-size:
					15px !important;

				font-weight:
					700 !important;

				line-height:
					1.18 !important;

				letter-spacing:
					0 !important;

				display:
					-webkit-box;

				-webkit-box-orient:
					vertical;

				-webkit-line-clamp:
					2;

				overflow:
					hidden;
			}


			.ava-mobile-search-app-card-title a{
				color:inherit!important;
				font-family:inherit!important;
				font-size:inherit!important;
				font-weight:inherit!important;
				line-height:inherit!important;
				letter-spacing:0!important;
				text-decoration:none!important;
			}

			.ava-mobile-search-app-location,
			.ava-mobile-search-app-dates{
				margin-top:2px;
				color:#777;
				font-size:9.5px;
				line-height:1.2;
			}

			.ava-mobile-search-app-price{
				margin-top:5px;
			}


			.ava-mobile-search-app-price {

				color:
					#285962;

				font-size:
					14px;

				font-weight:
					800;
			}


			.ava-mobile-search-app-minstay {

				margin-top:
					4px;

				color:
					#285962;

				font-size:
					10px;

				font-weight:
					700;

				line-height:
					1.25;
			}
			.ava-mobile-search-app-alternatives{
				display:flex;
				flex-wrap:wrap;
				gap:6px;
				margin-top:8px;
			}
			.ava-mobile-search-app-alternative{
				display:inline-flex;
				align-items:center;
				justify-content:center;
				width:auto;
				max-width:100%;
				min-height:24px;
				padding:3px 7px;
				border:1px solid rgba(40,89,98,.18);
				border-radius:999px;
				background:#f7faf9;
				color:#285962!important;
				font-size:8.5px;
				font-weight:700;
				line-height:1.1;
				text-decoration:none!important;
				white-space:nowrap;
			}



			.ava-mobile-search-app-split{
				margin:0 0 18px;
				padding:14px;
				border:1px solid #dfe8e6;
				border-radius:16px;
				background:#f8fbfa;
			}

			.ava-mobile-search-app-split h4{
				margin:0 0 5px!important;
				font-size:15px!important;
				line-height:1.2!important;
				color:#222!important;
			}

			.ava-mobile-search-app-split>p{
				margin:0 0 12px!important;
				font-size:11px!important;
				line-height:1.35!important;
				color:#6f7775!important;
			}

			.ava-mobile-search-app-split-list{
				display:grid;
				gap:9px;
			}

			.ava-mobile-search-app-split-card{
				padding:9px;
				border:1px solid #e2e7e6;
				border-radius:13px;
				background:#fff;
			}

			.ava-mobile-search-app-split-leg{
				display:grid;
				grid-template-columns:58px minmax(0,1fr);
				gap:8px;
				align-items:center;
			}

			.ava-mobile-search-app-split-leg img{
				width:58px;
				height:50px;
				object-fit:cover;
				border-radius:9px;
			}

			.ava-mobile-search-app-split-leg strong{
				display:block;
				margin-bottom:2px;
				font-size:11px;
				line-height:1.2;
				color:#222;
			}

			.ava-mobile-search-app-split-leg span{
				display:block;
				font-size:9px;
				color:#777;
			}

			.ava-mobile-search-app-split-switch{
				margin:7px 0;
				padding:6px 8px;
				border-radius:999px;
				background:#eef5f3;
				color:#285962;
				font-size:9px;
				font-weight:700;
				text-align:center;
			}

			.ava-mobile-search-app-split-meta{
				display:flex;
				justify-content:space-between;
				gap:8px;
				margin-top:7px;
				padding-top:7px;
				border-top:1px solid #edf0ef;
				font-size:9px;
				color:#68716f;
			}


			.ava-mobile-search-app-empty{
				padding:4px 0 10px;
			}
			.ava-mobile-search-app-empty h4{
				margin:0 0 6px;
				font-size:17px;
				line-height:1.25;
				color:#222;
			}
			.ava-mobile-search-app-empty p{
				margin:0 0 14px;
				font-size:13px;
				line-height:1.4;
				color:#777;
			}
			.ava-mobile-search-app-empty-options{
				display:grid;
				gap:8px;
			}
			.ava-mobile-search-app-empty-option{
				display:flex;
				align-items:center;
				justify-content:space-between;
				gap:10px;
				width:100%;
				min-height:50px;
				padding:10px 12px;
				border:1px solid #e1e7e6;
				border-radius:13px;
				background:#fff;
				color:#285962;
				font:700 12px/1.25 inherit;
				text-align:left;
			}
			.ava-mobile-search-app-empty-option span:last-child{
				flex:0 0 auto;
				font-size:11px;
				color:#555;
			}
			.ava-mobile-search-app-change-dates{
				width:100%;
				height:48px;
				margin-top:12px;
				border:0;
				border-radius:12px;
				background:#285962;
				color:#fff;
				font:700 14px/1 inherit;
			}


			.ava-mobile-search-app-list-message {

				padding:
					18px;

				border:
					1px solid #e7e7e7;

				border-radius:
					18px;

				background:
					#ffffff;

				color:
					#555555;

				font-size:
					14px;

				line-height:
					1.45;
			}


			.ava-mobile-search-app-list-message[hidden] {

				display:
					none !important;
			}


			/* ----------------------------------------------
			   MARKER
			   ---------------------------------------------- */

			.ava-mobile-search-app-marker {

				display:
					flex;

				align-items:
					center;

				justify-content:
					center;

				white-space:
					nowrap;

				user-select:
					none;
			}


			.ava-mobile-search-app-marker-price {

				min-width:
					54px;

				height:
					34px;

				padding:
					0 11px;

				border:
					2px solid #ffffff;

				border-radius:
					999px;

				background:
					#ffffff;

				color:
					#285962;

				font-size:
					12px;

				font-weight:
					800;

				box-shadow:
					0 3px 12px
					rgba(0,0,0,.20);
			}


			.ava-mobile-search-app-marker-house {

				width:
					36px;

				height:
					36px;

				border:
					2px solid #ffffff;

				border-radius:
					50%;

				box-shadow:
					0 3px 12px
					rgba(0,0,0,.20);
			}


			.ava-mobile-search-app-marker-minstay {
				background:
					#285962;
			}


			.ava-mobile-search-app-marker-unavailable {
				background:
					#b65353;
			}


			.ava-mobile-search-app-marker-house svg {

				width:
					18px;

				height:
					18px;
			}


			/* ----------------------------------------------
			   POPUP MAPPA
			   ---------------------------------------------- */

			.ava-mobile-search-app
			.leaflet-popup-content-wrapper {

				padding:
					0;

				overflow:
					hidden;

				border-radius:
					17px;

				box-shadow:
					0 12px 34px
					rgba(0,0,0,.19);
			}


			.ava-mobile-search-app
			.leaflet-popup-content {

				width:
					225px !important;

				margin:
					0;
			}


			.ava-mobile-search-app
			.leaflet-popup-close-button {

				top:
					8px;

				right:
					8px;

				z-index:
					30;

				display:
					flex;

				align-items:
					center;

				justify-content:
					center;

				width:
					30px;

				height:
					30px;

				padding:
					0;

				border-radius:
					50%;

				background:
					rgba(255,255,255,.96);

				color:
					#222222 !important;

				font-size:
					20px;

				box-shadow:
					0 2px 8px
					rgba(0,0,0,.12);
			}


			.ava-mobile-search-app-map-card-image {

				display:
					block;

				width:
					100%;

				height:
					126px;

				object-fit:
					cover;
			}


			.ava-mobile-search-app-map-card-content {

				padding:
					10px 12px 12px;
			}


			.ava-mobile-search-app-map-card-title {

				display:
					block;

				margin-bottom:
					6px;

				color:
					#222222 !important;

				font-size:
					13px;

				font-weight:
					700;

				text-decoration:
					none !important;
			}


			.ava-mobile-search-app-map-card-price {

				color:
					#285962;

				font-size:
					14px;

				font-weight:
					800;
			}


			.ava-mobile-search-app-map-alternatives{
				display:flex;
				gap:5px;
				margin-top:7px;
				width:100%;
			}
			.ava-mobile-search-app-map-alternative{
				display:flex;
				align-items:center;
				justify-content:center;
				flex:1 1 0;
				min-width:0;
				min-height:28px;
				padding:4px 5px;
				border:1px solid rgba(40,89,98,.18);
				border-radius:999px;
				background:#f7faf9;
				color:#285962!important;
				font-size:8.5px;
				font-weight:700;
				line-height:1.05;
				text-align:center;
				text-decoration:none!important;
				white-space:nowrap;
			}


			.ava-mobile-search-app-map-card-status {

				margin-top:
					5px;

				font-size:
					11px;

				font-weight:
					700;
			}


			.ava-mobile-search-app-map-card-status.unavailable {
				color:
					#b65353;
			}


			.ava-mobile-search-app-map-card-next-date{
				margin-top:
					5px;

				color:
					#555555;

				font-size:
					10px;

				font-weight:
					500;

				line-height:
					1.25;
			}

			.ava-mobile-search-app-map-card-next-date strong{
				color:
					#285962;

				font-weight:
					750;
			}


			.ava-mobile-search-app-map-card-status.minstay {
				color:
					#285962;
			}


		}


			body:not(.ava-mobile-search-map-active)
			.ava-mobile-search-app{
				position:relative!important;
				z-index:1!important;
				width:100vw!important;
				max-width:100vw!important;
				min-height:100dvh!important;
				margin-left:calc(50% - 50vw)!important;
				margin-right:calc(50% - 50vw)!important;
				background:#ffffff!important;
				overflow:visible!important;
			}


			body.ava-mobile-search-map-active{
				overflow:hidden!important;
				height:100dvh!important;
			}

			/*
			 * V7.15 - quando usciamo dalla mappa il body non deve
			 * conservare il lock dello scroll.
			 */
			body:not(.ava-mobile-search-map-active){
				overflow:auto!important;
				height:auto!important;
			}

			body.ava-mobile-search-map-active .fusion-footer,
			body.ava-mobile-search-map-active footer,
			body.ava-mobile-search-map-active #footer{
				display:none!important;
			}

			body.ava-mobile-search-map-active .ava-mobile-search-app{
				position:fixed!important;
				inset:0!important;
				z-index:90!important;
				width:100vw!important;
				height:100dvh!important;
				min-height:100dvh!important;
				margin:0!important;
				padding:0!important;
				overflow:hidden!important;
			}



		@media (min-width: 1025px) {

			.ava-mobile-search-app {
				display:
					none !important;
			}
		}

		

		/* AVA SEARCH MOBILE — MIN STAY LAYOUT */
		.ava-mobile-search-app-list-view{
			padding-top:calc(env(safe-area-inset-top) + 76px)!important;
		}
		.ava-mobile-search-app-card.is-min-stay{
			height:auto!important;
			min-height:154px!important;
			max-height:none!important;
			align-items:stretch!important;
		}
		.ava-mobile-search-app-card.is-min-stay .ava-mobile-search-app-card-image-link,
		.ava-mobile-search-app-card.is-min-stay .ava-mobile-search-app-card-image{
			height:100%!important;
			min-height:154px!important;
			max-height:none!important;
		}
		.ava-mobile-search-app-card.is-min-stay .ava-mobile-search-app-card-content{
			height:auto!important;
			min-height:154px!important;
			overflow:visible!important;
			padding-bottom:11px!important;
		}
		.ava-mobile-search-app-card.is-min-stay .ava-mobile-search-app-card-title{
			-webkit-line-clamp:3!important;
		}

/* ==================================================
		   SOLO DESKTOP
		   ================================================== */

		@media (min-width: 1025px) {

			html,
			body{
				margin:0!important;
			}


			body.ava-desktop-search-active{
				width:100vw!important;
				height:100dvh!important;
				overflow:hidden!important;
				background:#fff!important;
			}


			body.ava-desktop-search-active
			.fusion-footer,
			body.ava-desktop-search-active
			footer,
			body.ava-desktop-search-active
			#footer,
			body.ava-desktop-search-active
			.wpml-ls-statics-footer{
				display:none!important;
			}


			.ava-desktop-search-v1{
				position:fixed;
				inset:0;
				z-index:100;
				width:100vw;
				max-width:none;
				height:100dvh;
				min-height:100dvh;
				margin:0;
				overflow:hidden;
				background:#fff;
				color:#222;
				font-family:inherit;
			}


			/* ----------------------------------------------
			   HEADER
			   ---------------------------------------------- */

			.ava-desktop-search-v1-header{
				position:fixed;
				top:0;
				left:0;
				right:0;
				z-index:5000;
				display:grid;
				grid-template-columns:140px minmax(0,1fr) 56px;
				align-items:center;
				width:100%;
				height:82px;
				padding:10px 18px;
				box-sizing:border-box;
				background:rgba(255,255,255,.985);
				border-bottom:1px solid #eeeeee;
				backdrop-filter:blur(10px);
				-webkit-backdrop-filter:blur(10px);
			}


			.ava-desktop-search-v1-logo{
				display:flex;
				align-items:center;
				justify-content:flex-start;
				justify-self:start;
				width:112px;
				height:52px;
				margin:0;
				text-decoration:none!important;
				color:#285962!important;
			}


			.ava-desktop-search-v1-logo img{
				display:block;
				width:104px;
				height:50px;
				object-fit:contain;
				object-position:left center;
			}


			.ava-desktop-search-v1-bar{
				display:grid;
				grid-template-columns:165px minmax(190px,1fr) minmax(190px,1fr) 135px 48px;
				gap:9px;
				align-items:center;
				justify-self:center;
				width:min(60vw,1100px);
				min-width:760px;
				max-width:1100px;
			}


			.ava-desktop-search-v1-field{
				display:flex;
				flex-direction:column;
				align-items:flex-start;
				justify-content:center;
				min-width:0;
				height:48px;
				padding:6px 14px;
				box-sizing:border-box;
				border:1px solid #dedede;
				border-radius:9px;
				background:#fff;
				color:#333;
				font-family:inherit;
				text-align:left;
			}


			.ava-desktop-search-v1-field > span{
				display:none;
			}


			.ava-desktop-search-v1-field strong{
				max-width:100%;
				overflow:hidden;
				font-size:14px;
				font-weight:500;
				line-height:1.15;
				text-overflow:ellipsis;
				white-space:nowrap;
			}


			.ava-desktop-search-v1-field select{
				width:100%;
				height:100%;
				padding:0;
				border:0;
				outline:0;
				background:transparent;
				color:#333;
				font-family:inherit;
				font-size:15px;
				font-weight:500;
			}


			button.ava-desktop-search-v1-field{
				cursor:pointer;
			}


			.ava-desktop-search-v1-submit{
				display:flex;
				align-items:center;
				justify-content:center;
				width:48px;
				height:48px;
				padding:0;
				border:0;
				border-radius:9px;
				background:#285962;
				color:#fff;
				cursor:pointer;
			}


			.ava-desktop-search-v1-submit svg{
				width:20px;
				height:20px;
				fill:none;
				stroke:currentColor;
				stroke-width:1.8;
				stroke-linecap:round;
			}


			.ava-desktop-search-v1-account{
				display:flex;
				align-items:center;
				justify-content:center;
				justify-self:end;
				width:48px;
				height:48px;
				margin:0;
				border-radius:50%;
				color:#172f33!important;
				text-decoration:none!important;
				transition:background .18s ease;
			}

			.ava-desktop-search-v1-account:hover{
				background:#f2f5f4;
			}


			.ava-desktop-search-v1-account svg{
				width:23px;
				height:23px;
				fill:none;
				stroke:currentColor;
				stroke-width:1.6;
				stroke-linecap:round;
			}


			.ava-desktop-search-v1-range{
				position:absolute!important;
				width:1px!important;
				height:1px!important;
				opacity:0!important;
				pointer-events:none!important;
			}


			/* ----------------------------------------------
			   GUESTS POPOVER
			   ---------------------------------------------- */

			.ava-desktop-search-v1-guests-popover{
				position:fixed;
				top:0;
				left:0;
				z-index:6000;
				width:310px;
				padding:16px;
				box-sizing:border-box;
				border:1px solid #e4e4e4;
				border-radius:16px;
				background:#fff;
				box-shadow:0 14px 45px rgba(0,0,0,.13);
			}


			.ava-desktop-search-v1-guests-popover[hidden]{
				display:none!important;
			}


			.ava-desktop-search-v1-counter{
				display:flex;
				align-items:center;
				justify-content:space-between;
				padding:10px 0;
				border-bottom:1px solid #eee;
			}


			.ava-desktop-search-v1-counter:last-child{
				border-bottom:0;
			}


			.ava-desktop-search-v1-counter>div:first-child{
				display:flex;
				flex-direction:column;
				gap:3px;
			}


			.ava-desktop-search-v1-counter>div:first-child strong{
				font-size:14px;
			}


			.ava-desktop-search-v1-counter>div:first-child span{
				font-size:11px;
				color:#888;
			}


			.ava-desktop-search-v1-counter-controls{
				display:flex;
				align-items:center;
				gap:12px;
			}


			.ava-desktop-search-v1-counter-controls button{
				display:flex;
				align-items:center;
				justify-content:center;
				width:32px;
				height:32px;
				padding:0;
				border:1px solid #d7d7d7;
				border-radius:50%;
				background:#fff;
				color:#285962;
				font-size:18px;
				cursor:pointer;
			}


			.ava-desktop-search-v1-counter-controls strong{
				min-width:18px;
				text-align:center;
				font-size:15px;
			}


			/* ----------------------------------------------
			   LOADER
			   ---------------------------------------------- */

			.ava-desktop-search-v1-loader{
				position:fixed;
				top:88px;
				left:50%;
				z-index:6500;
				display:inline-flex;
				align-items:center;
				gap:9px;
				min-height:40px;
				padding:0 16px;
				transform:translateX(-50%);
				border-radius:999px;
				background:#fff;
				color:#285962;
				font-size:12px;
				font-weight:700;
				box-shadow:0 8px 24px rgba(0,0,0,.12);
			}


			.ava-desktop-search-v1-loader[hidden]{
				display:none!important;
			}


			.ava-desktop-search-v1-spinner{
				width:17px;
				height:17px;
				border:2px solid rgba(40,89,98,.18);
				border-top-color:#285962;
				border-radius:50%;
				animation:avaDesktopSpin .72s linear infinite;
			}


			@keyframes avaDesktopSpin{
				to{
					transform:rotate(360deg);
				}
			}


			/* ----------------------------------------------
			   MAIN LAYOUT
			   ---------------------------------------------- */

			.ava-desktop-search-v1-content{
				display:grid;
				grid-template-columns:minmax(0,58%) minmax(420px,42%);
				align-items:stretch;
				width:100%;
				height:100dvh;
				min-height:0;
				padding-top:82px;
				box-sizing:border-box;
				overflow:hidden;
			}


			.ava-desktop-search-v1-results{
				min-width:0;
				height:calc(100dvh - 82px);
				min-height:0;
				padding:14px 20px 70px;
				box-sizing:border-box;
				overflow-y:auto;
				overflow-x:hidden;
				overscroll-behavior:contain;
				-webkit-overflow-scrolling:touch;
				background:#fff;
			}


			.ava-desktop-search-v1-results-head{
				margin:0 0 12px;
			}


			.ava-desktop-search-v1-results-head h1{
				margin:0 0 4px!important;
				font-size:30px!important;
				font-weight:750!important;
				line-height:1.2!important;
				color:#161616!important;
			}


			.ava-desktop-search-v1-results-head p{
				margin:0!important;
				color:#777;
				font-size:13px;
			}


			.ava-desktop-search-v1-list{
				display:grid;
				grid-template-columns:repeat(2,minmax(0,1fr));
				gap:14px;
			}


			/* ----------------------------------------------
			   CARD — stessa logica mobile
			   ---------------------------------------------- */

			.ava-desktop-search-v1-card{
				display:grid;
				grid-template-columns:145px minmax(0,1fr);
				height:145px;
				min-height:145px;
				max-height:145px;
				overflow:hidden;
				border:1px solid #e7e7e7;
				border-radius:17px;
				background:#fff;
				box-shadow:0 5px 18px rgba(0,0,0,.035);
			}


			.ava-desktop-search-v1-card-image-link{
				display:block;
				width:145px;
				height:145px;
				overflow:hidden;
				text-decoration:none!important;
			}


			.ava-desktop-search-v1-card-image{
				display:block;
				width:145px;
				height:145px;
				object-fit:cover;
				background:#f2f2f2;
			}


			.ava-desktop-search-v1-card-content{
				display:flex;
				flex-direction:column;
				justify-content:flex-start;
				height:145px;
				min-width:0;
				padding:14px 13px 11px;
				box-sizing:border-box;
				overflow:hidden;
			}


			.ava-desktop-search-v1-card-title{
				display:-webkit-box;
				margin:0 0 7px!important;
				overflow:hidden;
				color:#222!important;
				font-size:18px!important;
				font-weight:700!important;
				line-height:1.22!important;
				-webkit-box-orient:vertical;
				-webkit-line-clamp:2;
			}


			.ava-desktop-search-v1-card-title a{
				color:inherit!important;
				text-decoration:none!important;
			}


			.ava-desktop-search-v1-location,
			.ava-desktop-search-v1-dates{
				margin-top:2px;
				color:#777;
				font-size:13px;
				line-height:1.2;
			}


			.ava-desktop-search-v1-price{
				margin-top:7px;
				color:#285962;
				font-size:18px;
				font-weight:800;
			}


			.ava-desktop-search-v1-minstay{
				margin-top:6px;
				color:#285962;
				font-size:15px;
				font-weight:700;
				line-height:1.25;
			}


			.ava-desktop-search-v1-alternatives{
				display:flex;
				flex-wrap:wrap;
				gap:5px;
				margin-top:7px;
			}


			.ava-desktop-search-v1-alternative{
				display:inline-flex;
				align-items:center;
				justify-content:center;
				min-height:24px;
				padding:3px 7px;
				border:1px solid rgba(40,89,98,.18);
				border-radius:999px;
				background:#f7faf9;
				color:#285962!important;
				font-size:8.5px;
				font-weight:700;
				text-decoration:none!important;
				white-space:nowrap;
			}


			.ava-desktop-search-v1-list-message{
				padding:18px;
				border:1px solid #e7e7e7;
				border-radius:16px;
				background:#fff;
				color:#555;
				font-size:14px;
			}


			.ava-desktop-search-v1-list-message[hidden]{
				display:none!important;
			}


			/* ----------------------------------------------
			   MAP — fissa a destra
			   ---------------------------------------------- */

			.ava-desktop-search-v1-map-column{
				position:relative;
				top:auto;
				width:100%;
				height:calc(100dvh - 82px);
				min-height:0;
				overflow:hidden;
				background:#eef1f1;
			}


			.ava-desktop-search-v1-map{
				width:100%;
				height:100%;
			}


			/*
			 * Safari/Chrome possono mostrare sottili righe bianche
			 * tra le tile quando Leaflet usa zoom frazionari.
			 */
			.ava-desktop-search-v1-map .leaflet-tile{
				outline:1px solid transparent!important;
				backface-visibility:hidden!important;
				-webkit-backface-visibility:hidden!important;
			}

			.ava-desktop-search-v1-map .leaflet-tile-container{
				will-change:transform;
			}


			.ava-desktop-search-v1
			.leaflet-control-attribution{
				display:none!important;
			}


			/* ----------------------------------------------
			   MARKER
			   ---------------------------------------------- */

			.ava-desktop-search-v1-marker{
				display:flex;
				align-items:center;
				justify-content:center;
				white-space:nowrap;
				user-select:none;
			}


			.ava-desktop-search-v1-marker-price{
				min-width:55px;
				height:34px;
				padding:0 11px;
				border:2px solid #fff;
				border-radius:999px;
				background:#fff;
				color:#285962;
				font-size:16px;
				font-weight:800;
				box-shadow:0 3px 12px rgba(0,0,0,.18);
			}


			.ava-desktop-search-v1-marker-house{
				width:36px;
				height:36px;
				border:2px solid #fff;
				border-radius:50%;
				box-shadow:0 3px 12px rgba(0,0,0,.19);
			}


			.ava-desktop-search-v1-marker-minstay{
				background:#285962;
			}


			.ava-desktop-search-v1-marker-unavailable{
				background:#bd5959;
			}


			.ava-desktop-search-v1-marker-house svg{
				width:18px;
				height:18px;
			}


			/* ----------------------------------------------
			   POPUP
			   ---------------------------------------------- */

			.ava-desktop-search-v1
			.leaflet-popup-content-wrapper{
				padding:0;
				overflow:hidden;
				border-radius:17px;
				box-shadow:0 12px 34px rgba(0,0,0,.18);
			}


			.ava-desktop-search-v1
			.leaflet-popup-content{
				width:245px!important;
				margin:0;
			}


			.ava-desktop-search-v1-map-card-image{
				display:block;
				width:100%;
				height:138px;
				object-fit:cover;
			}


			.ava-desktop-search-v1-map-card-content{
				padding:10px 12px 12px;
			}


			.ava-desktop-search-v1-map-card-title{
				display:block;
				margin:0 0 6px;
				color:#222!important;
				font-size:13px;
				font-weight:700;
				text-decoration:none!important;
			}


			.ava-desktop-search-v1-map-card-price{
				color:#285962;
				font-size:14px;
				font-weight:800;
			}


			.ava-desktop-search-v1-map-card-status{
				margin-top:5px;
				font-size:13px;
				font-weight:700;
			}


			.ava-desktop-search-v1-map-card-status.unavailable{
				color:#bd5959;
			}


			.ava-desktop-search-v1-map-card-status.minstay{
				color:#285962;
			}


			.ava-desktop-search-v1-map-card-next-date{
				margin-top:5px;
				color:#555;
				font-size:12px;
			}


			.ava-desktop-search-v1-map-card-next-date strong{
				color:#285962;
			}


			.ava-desktop-search-v1-map-alternatives{
				display:flex;
				gap:5px;
				margin-top:7px;
			}


			.ava-desktop-search-v1-map-alternative{
				display:flex;
				align-items:center;
				justify-content:center;
				flex:1 1 0;
				min-width:0;
				min-height:27px;
				padding:4px 5px;
				border:1px solid rgba(40,89,98,.18);
				border-radius:999px;
				background:#f7faf9;
				color:#285962!important;
				font-size:8.5px;
				font-weight:700;
				text-align:center;
				text-decoration:none!important;
				white-space:nowrap;
			}



			/* ----------------------------------------------
			   SPLIT STAY
			   ---------------------------------------------- */

			.ava-desktop-search-v1-split-section{
				grid-column:1/-1;
				margin:0 0 20px;
				padding:18px;
				border:1px solid #dfe8e6;
				border-radius:18px;
				background:#f8fbfa;
			}

			.ava-desktop-search-v1-split-section h3{
				margin:0 0 5px!important;
				font-size:21px!important;
				color:#222!important;
			}

			.ava-desktop-search-v1-split-section>p{
				margin:0 0 14px!important;
				font-size:13px!important;
				color:#6d7775!important;
			}

			.ava-desktop-search-v1-split-list{
				display:grid;
				gap:10px;
			}

			.ava-desktop-search-v1-split-card{
				display:grid;
				grid-template-columns:minmax(0,1fr) 62px minmax(0,1fr);
				align-items:center;
				gap:10px;
				padding:10px;
				border:1px solid #e0e6e5;
				border-radius:14px;
				background:#fff;
			}

			.ava-desktop-search-v1-split-property{
				display:grid;
				grid-template-columns:72px minmax(0,1fr);
				gap:9px;
				align-items:center;
			}

			.ava-desktop-search-v1-split-property img{
				width:72px;
				height:64px;
				object-fit:cover;
				border-radius:10px;
			}

			.ava-desktop-search-v1-split-property strong{
				display:block;
				margin-bottom:3px;
				font-size:12px;
				line-height:1.2;
				color:#222;
			}

			.ava-desktop-search-v1-split-property span{
				display:block;
				font-size:10px;
				color:#777;
			}

			.ava-desktop-search-v1-split-switch{
				text-align:center;
				color:#285962;
				font-size:10px;
				font-weight:700;
			}

			.ava-desktop-search-v1-split-switch strong{
				display:block;
				margin-top:3px;
				font-size:11px;
			}

			.ava-desktop-search-v1-split-meta{
				display:flex;
				align-items:center;
				justify-content:space-between;
				margin-top:8px;
				padding-top:8px;
				border-top:1px solid #edf0ef;
				color:#66706e;
				font-size:10px;
			}


			/* ----------------------------------------------
			   ZERO RISULTATI
			   ---------------------------------------------- */

			.ava-desktop-search-v1-empty{
				max-width:760px;
				padding:8px 0 20px;
			}

			.ava-desktop-search-v1-empty h3{
				margin:0 0 7px!important;
				font-size:24px!important;
				line-height:1.2!important;
				color:#222!important;
			}

			.ava-desktop-search-v1-empty p{
				margin:0 0 16px!important;
				font-size:15px!important;
				color:#777!important;
			}

			.ava-desktop-search-v1-empty-options{
				display:grid;
				grid-template-columns:repeat(2,minmax(0,1fr));
				gap:10px;
				margin-bottom:14px;
			}

			.ava-desktop-search-v1-empty-option{
				display:flex;
				align-items:center;
				justify-content:space-between;
				gap:12px;
				min-height:54px;
				padding:10px 14px;
				border:1px solid #e0e6e5;
				border-radius:13px;
				background:#fff;
				color:#285962;
				font-family:inherit;
				font-size:13px;
				font-weight:700;
				text-align:left;
				cursor:pointer;
			}

			.ava-desktop-search-v1-empty-option span:last-child{
				color:#555;
				font-size:12px;
				font-weight:600;
				white-space:nowrap;
			}

			.ava-desktop-search-v1-change-search{
				height:48px;
				padding:0 18px;
				border:0;
				border-radius:11px;
				background:#285962;
				color:#fff;
				font-family:inherit;
				font-size:14px;
				font-weight:700;
				cursor:pointer;
			}


			/* ----------------------------------------------
			   CAMBIA RICERCA MODAL
			   ---------------------------------------------- */

			.ava-desktop-search-v1-change-backdrop{
				position:fixed;
				inset:0;
				z-index:7100;
				background:rgba(0,0,0,.38);
			}

			.ava-desktop-search-v1-change-backdrop[hidden],
			.ava-desktop-search-v1-change-modal[hidden]{
				display:none!important;
			}

			.ava-desktop-search-v1-change-modal{
				position:fixed;
				top:50%;
				left:50%;
				z-index:7101;
				width:min(720px,calc(100vw - 60px));
				padding:22px;
				box-sizing:border-box;
				transform:translate(-50%,-50%);
				border-radius:22px;
				background:#fff;
				box-shadow:0 24px 70px rgba(0,0,0,.2);
			}

			.ava-desktop-search-v1-change-head{
				display:flex;
				align-items:center;
				justify-content:space-between;
				margin-bottom:18px;
			}

			.ava-desktop-search-v1-change-head>div{
				display:flex;
				flex-direction:column;
				gap:4px;
			}

			.ava-desktop-search-v1-change-head strong{
				font-size:22px;
			}

			.ava-desktop-search-v1-change-head span{
				font-size:13px;
				color:#777;
			}

			.ava-desktop-search-v1-change-close{
				display:flex;
				align-items:center;
				justify-content:center;
				width:38px;
				height:38px;
				padding:0;
				border:0;
				border-radius:50%;
				background:#f1f1f1;
				font-size:24px;
				cursor:pointer;
			}

			.ava-desktop-search-v1-change-grid{
				display:grid;
				grid-template-columns:1fr 1fr;
				gap:12px;
			}

			.ava-desktop-search-v1-change-date,
			.ava-desktop-search-v1-change-field{
				display:flex;
				flex-direction:column;
				align-items:flex-start;
				justify-content:center;
				min-height:56px;
				padding:8px 12px;
				box-sizing:border-box;
				border:1px solid #dedede;
				border-radius:12px;
				background:#fff;
				text-align:left;
			}

			.ava-desktop-search-v1-change-date span,
			.ava-desktop-search-v1-change-field span{
				margin-bottom:3px;
				font-size:10px;
				color:#888;
				font-weight:650;
			}

			.ava-desktop-search-v1-change-date strong{
				font-size:14px;
			}

			.ava-desktop-search-v1-change-field select{
				width:100%;
				border:0;
				outline:0;
				background:transparent;
				font-family:inherit;
				font-size:14px;
			}

			.ava-desktop-search-v1-change-guests{
				grid-column:1/-1;
				display:grid;
				grid-template-columns:1fr 1fr;
				gap:10px;
			}

			.ava-desktop-search-v1-change-guests-row{
				display:flex;
				align-items:center;
				justify-content:space-between;
				padding:12px;
				border:1px solid #e4e4e4;
				border-radius:12px;
			}

			.ava-desktop-search-v1-change-guests-row>div:first-child{
				display:flex;
				flex-direction:column;
				gap:3px;
			}

			.ava-desktop-search-v1-change-guests-row span{
				font-size:11px;
				color:#888;
			}

			.ava-desktop-search-v1-change-counter{
				display:flex;
				align-items:center;
				gap:12px;
			}

			.ava-desktop-search-v1-change-counter button{
				display:flex;
				align-items:center;
				justify-content:center;
				width:32px;
				height:32px;
				padding:0;
				border:1px solid #ddd;
				border-radius:50%;
				background:#fff;
				color:#285962;
				font-size:18px;
				cursor:pointer;
			}

			.ava-desktop-search-v1-change-submit{
				grid-column:1/-1;
				height:50px;
				border:0;
				border-radius:12px;
				background:#285962;
				color:#fff;
				font-family:inherit;
				font-size:14px;
				font-weight:700;
				cursor:pointer;
			}


			/* ----------------------------------------------
			   CALENDARIO DESKTOP
			   ---------------------------------------------- */

			.flatpickr-calendar.ava-desktop-search-calendar{
				z-index:7000!important;
				width:700px!important;
				padding:18px!important;
				border:1px solid #e8e8e8!important;
				border-radius:20px!important;
				background:#ffffff!important;
				box-shadow:0 22px 70px rgba(0,0,0,.16)!important;
				font-family:inherit!important;
			}

			.flatpickr-calendar.ava-desktop-search-calendar.arrowTop:before,
			.flatpickr-calendar.ava-desktop-search-calendar.arrowTop:after,
			.flatpickr-calendar.ava-desktop-search-calendar.arrowBottom:before,
			.flatpickr-calendar.ava-desktop-search-calendar.arrowBottom:after{
				display:none!important;
			}

			.flatpickr-calendar.ava-desktop-search-calendar
			.flatpickr-months{
				display:grid!important;
				grid-template-columns:1fr 1fr!important;
				align-items:center!important;
				gap:18px!important;
				margin:0 0 14px!important;
			}

			.flatpickr-calendar.ava-desktop-search-calendar
			.flatpickr-month{
				height:42px!important;
				color:#222!important;
			}

			.flatpickr-calendar.ava-desktop-search-calendar
			.flatpickr-current-month{
				position:static!important;
				width:100%!important;
				height:42px!important;
				padding:8px 0!important;
				box-sizing:border-box!important;
				font-size:17px!important;
				font-weight:700!important;
			}

			.flatpickr-calendar.ava-desktop-search-calendar
			.flatpickr-monthDropdown-months,
			.flatpickr-calendar.ava-desktop-search-calendar
			.numInputWrapper{
				font-size:17px!important;
				font-weight:700!important;
				color:#222!important;
			}

			.flatpickr-calendar.ava-desktop-search-calendar
			.flatpickr-prev-month,
			.flatpickr-calendar.ava-desktop-search-calendar
			.flatpickr-next-month{
				top:18px!important;
				display:flex!important;
				align-items:center!important;
				justify-content:center!important;
				width:40px!important;
				height:40px!important;
				padding:0!important;
				border-radius:50%!important;
				background:#f2f5f4!important;
				color:#285962!important;
				opacity:1!important;
			}

			.flatpickr-calendar.ava-desktop-search-calendar
			.flatpickr-prev-month{
				left:18px!important;
			}

			.flatpickr-calendar.ava-desktop-search-calendar
			.flatpickr-next-month{
				right:18px!important;
			}

			.flatpickr-calendar.ava-desktop-search-calendar
			.flatpickr-prev-month svg,
			.flatpickr-calendar.ava-desktop-search-calendar
			.flatpickr-next-month svg{
				width:16px!important;
				height:16px!important;
				fill:#285962!important;
			}

			.flatpickr-calendar.ava-desktop-search-calendar
			.flatpickr-innerContainer{
				width:100%!important;
			}

			.flatpickr-calendar.ava-desktop-search-calendar
			.flatpickr-rContainer{
				width:100%!important;
			}

			.flatpickr-calendar.ava-desktop-search-calendar
			.flatpickr-weekdays{
				width:100%!important;
			}

			.flatpickr-calendar.ava-desktop-search-calendar
			.flatpickr-weekday{
				color:#777!important;
				font-size:12px!important;
				font-weight:650!important;
			}

			.flatpickr-calendar.ava-desktop-search-calendar
			.flatpickr-days{
				width:100%!important;
			}

			.flatpickr-calendar.ava-desktop-search-calendar
			.dayContainer{
				width:50%!important;
				min-width:50%!important;
				max-width:50%!important;
				padding:0 8px!important;
				box-sizing:border-box!important;
			}

			.flatpickr-calendar.ava-desktop-search-calendar
			.flatpickr-day{
				max-width:none!important;
				height:42px!important;
				line-height:42px!important;
				margin:1px 0!important;
				border-radius:10px!important;
				font-size:13px!important;
				color:#333!important;
			}

			.flatpickr-calendar.ava-desktop-search-calendar
			.flatpickr-day.today{
				border-color:#285962!important;
			}

			.flatpickr-calendar.ava-desktop-search-calendar
			.flatpickr-day.selected,
			.flatpickr-calendar.ava-desktop-search-calendar
			.flatpickr-day.startRange,
			.flatpickr-calendar.ava-desktop-search-calendar
			.flatpickr-day.endRange{
				border-color:#285962!important;
				background:#285962!important;
				color:#fff!important;
			}

			.flatpickr-calendar.ava-desktop-search-calendar
			.flatpickr-day.inRange{
				border-radius:0!important;
				background:#edf5f3!important;
				box-shadow:-5px 0 0 #edf5f3,5px 0 0 #edf5f3!important;
				color:#285962!important;
			}

			.flatpickr-calendar.ava-desktop-search-calendar
			.flatpickr-day:hover{
				border-color:#d9e5e2!important;
				background:#f3f7f6!important;
			}


		}


		@media (max-width:1024px){

			.ava-desktop-search-v1{
				display:none!important;
			}
		}

		

		/* AVA SEARCH DESKTOP — MIN STAY LAYOUT */
		.ava-desktop-search-v1-minstay-heading{
			grid-column:1 / -1;
			display:flex;
			flex-direction:column;
			gap:3px;
			margin:6px 0 0;
			padding:13px 15px;
			border-radius:14px;
			background:#f4f8f7;
			color:#285962;
		}
		.ava-desktop-search-v1-minstay-heading strong{
			font-size:15px;
			line-height:1.25;
		}
		.ava-desktop-search-v1-minstay-heading span{
			font-size:12px;
			line-height:1.35;
			opacity:.78;
		}
		.ava-desktop-search-v1-card.is-min-stay{
			height:auto!important;
			min-height:180px!important;
			max-height:none!important;
			align-items:stretch!important;
		}
		.ava-desktop-search-v1-card.is-min-stay .ava-desktop-search-v1-image-link,
		.ava-desktop-search-v1-card.is-min-stay .ava-desktop-search-v1-image{
			height:100%!important;
			min-height:180px!important;
			max-height:none!important;
		}
		.ava-desktop-search-v1-card.is-min-stay .ava-desktop-search-v1-card-content{
			height:auto!important;
			min-height:180px!important;
			overflow:visible!important;
		}
		.ava-desktop-search-v1-card.is-min-stay .ava-desktop-search-v1-card-title{
			flex:0 0 auto!important;
			-webkit-line-clamp:3!important;
		}