/* SCROLL BAR LATERALE SINISTRO */
/*width*/
body::-webkit-scrollbar {
  width:10px;
}
/*track*/
body::-webkit-scrollbar-track {
  background:rgba(244, 246, 248, 0.25);
  border-radius:1000px;
}
/*thumb*/
body::-webkit-scrollbar-thumb {
  background:rgb(108, 120, 128);
  border-radius:1000px;
}


/* Il tuo contenitore Webflow */
.segnaposto-mappa {
	position: relative;
	overflow: hidden; /* così non esce niente fuori */
}
/* Div con ID globeViz dentro segnaposto-mappa */
#globeViz {
	width: 100%;
	height: 100%;
}
/* Forza il canvas a riempire il div */
#globeViz canvas {
	display: block;
	width: 100% !important;
	height: 100% !important;
	transform: scale3d(1, 1, 1);
	transform-origin: center center;
}
@media screen and (max-width: 767px) {
	#globeViz canvas {
		transform: scale3d(1.15, 1.15, 1.15);
		transform-origin: center center;
	}
}


.come-vuoi-card-maxi-wrapper {
	display: flex !important;
	overflow-x: auto !important;
	scroll-snap-type: x mandatory !important;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	-ms-overflow-style: none;
	padding-left: calc(50vw - 200px) !important;
	padding-right: calc(50vw - 200px) !important;
}
.come-vuoi-card-maxi-wrapper::-webkit-scrollbar {
	display: none;
}
.come-vuoi-card-maxi-wrapper > * {
	scroll-snap-align: center !important;
	flex-shrink: 0 !important;
}
.come-vuoi-card-maxi-wrapper.is-scrolling {
	scroll-snap-type: none !important;
}
@media (max-width: 767px) {
	.come-vuoi-card-maxi-wrapper {
		padding-left: calc(50vw - 125px) !important;
		padding-right: calc(50vw - 125px) !important;
	}
}

/* Stili per il wrapper scrollabile */
.realizzazioni-card-maxi-wrapper {
	display: flex;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	padding-left: calc(50vw - 250px); /* centrare la card focusata */
	padding-right: calc(50vw - 250px);
	/* nascondere scrollbar */
}
/* Transizioni smooth per focus/unfocus */
.realizzazioni-card {
	transition: opacity 0.3s ease, transform 0.3s ease;
	scroll-snap-align: center;
}
.realizzazioni-img-effect {
	transition: width 0.3s ease, height 0.3s ease;
}

.realizzazioni-card.not-active,
.realizzazioni-card.not-focused {
	opacity: 0.4;
	transform: scale(0.9);
	transition: transform 0.3s ease, opacity 0.3s ease;
}
.realizzazioni-card:not(.not-active):not(.not-focused) {
	opacity: 1;
	transform: scale(1);
}

/* etichetta centrata e spostata in basso rispetto al punto */
.globe-label{
	pointer-events: none;
	text-align: center;
	transform: translate(-50%, 20px); /* <-- aumenta/diminuisci per più/meno “sotto” */
	white-space: nowrap;
	font-weight: 600;
	line-height: 1.05;
}


/* Impaginazione Style */
.impaginazione-num-wrapper .page-numbers.current {
	pointer-events:none; opacity:.6; 
}
.impaginazione-num-wrapper .page-numbers.dots {
	pointer-events:none; 
}


/* Contact Form 7 */
textarea.w-input, textarea.wpcf7-textarea, textarea.w-select{
    height: 80px !important;
}

label.wpcf7-list-item-label{
	font-weight: 500;
}

/* Wrapper delle ville */
.snap-container {
  position: relative;
  overflow: hidden; /* blocchiamo lo scroll interno */
  height: calc(100vh - 70px); /* compensiamo navbar */
  margin-top: 70px; /* separazione visiva sotto navbar */
}

/* Ogni villa = una "slide" */
.snap-section {
  height: calc(100vh - 70px);
  width: 100%;
  position: relative;
  transition: transform 0.8s cubic-bezier(.25, .1, .25, 1); 
  will-change: transform;
}


/* Il flex-item è il link: deve essere block/flex e non inline */
.realizzazioni-card-link{
  display: block;        /* oppure flex */
  flex: 0 0 auto;        /* evita che si schiacci o si allarghi “a caso” */
}

/* La card dentro prende tutta la larghezza del link */
.realizzazioni-card-link .realizzazioni-card{
  width: 100%;
}
@media (max-width: 479px){
  .realizzazioni-card-link{
    width: calc(100vw - 48px); /* margini laterali */
    max-width: 360px;          /* opzionale: per non esagerare su schermi grandi */
  }
}


/* FIX scroll cards Realizzazioni */
.realizzazioni-card-maxi-wrapper{
  display: flex;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
}

/* (opzionale) nascondi scrollbar */
.realizzazioni-card-maxi-wrapper::-webkit-scrollbar{ display:none; }
.realizzazioni-card-maxi-wrapper{ scrollbar-width:none; }




/* ==== ECS: slider immagini deve riempire SEMPRE il box a sinistra ==== */

/* wrapper slider + livelli interni sempre al 100% del contenitore */
.unita-in-vendita-card .slider-info-img.w-slider,
.unita-in-vendita-card-v2 .slider-info-img.w-slider{
  height: 100% !important;
  overflow: hidden;
}

.unita-in-vendita-card .slider-info-img .w-slider-mask,
.unita-in-vendita-card .slider-info-img .w-slide,
.unita-in-vendita-card-v2 .slider-info-img .w-slider-mask,
.unita-in-vendita-card-v2 .slider-info-img .w-slide{
  height: 100% !important;
}

/* lightbox wrapper riempie la slide 
.unita-in-vendita-card .slider-info-img .unita-lightbox,
.unita-in-vendita-card-v2 .slider-info-img .unita-lightbox{
  display: block;
  width: 100%;
  height: 100%;
}
*/

/* immagine sempre cover, mai “piccola” */
.unita-in-vendita-card .slider-info-img img.unita-img,
.unita-in-vendita-card-v2 .slider-info-img img.unita-img{
  display: block;
  width: 100%;
  height: 100% !important;
  object-position: center;
}

/* ===== MOBILE: altezza fissa 350px SOLO per lo slider immagini ===== 
@media (max-width: 767px){
  .unita-in-vendita-card .slider-info-img.w-slider,
  .unita-in-vendita-card-v2 .slider-info-img.w-slider{
    height: 350px !important;
  }
*/
  /* su mobile evitiamo che JS imposti height dinamica sulla colonna sinistra */
  .unita-in-vendita-card .left-unita-in-vendita-card,
  .unita-in-vendita-card-v2 .left-unita-in-vendita-card-v2{
    height: auto !important;
  }
}


/** Recensioni style per scrollbar **/
/* 1) Forza la scrollbar sempre "presente" */
.recensioni-card .content-wrapper,
.slider-recensioni-wrapper .content-wrapper,
.content-wrapper {
  overflow-y: scroll;               /* invece di auto */
  scrollbar-gutter: stable;         /* mantiene lo spazio della scrollbar */
}

/* 2) (Opzionale) Rendi la scrollbar più visibile su Chrome/Safari (Mac incluso) */
.recensioni-card .content-wrapper::-webkit-scrollbar,
.slider-recensioni-wrapper .content-wrapper::-webkit-scrollbar,
.content-wrapper::-webkit-scrollbar {
  width: 12px;
}

.recensioni-card .content-wrapper::-webkit-scrollbar-track,
.slider-recensioni-wrapper .content-wrapper::-webkit-scrollbar-track,
.content-wrapper::-webkit-scrollbar-track {
  background: rgba(0,0,0,0.08);
  border-radius: 999px;
}

.recensioni-card .content-wrapper::-webkit-scrollbar-thumb,
.slider-recensioni-wrapper .content-wrapper::-webkit-scrollbar-thumb,
.content-wrapper::-webkit-scrollbar-thumb {
  background: rgba(0,0,0,0.28);
  border-radius: 999px;
}

/* 3) Firefox */
.recensioni-card .content-wrapper,
.slider-recensioni-wrapper .content-wrapper,
.content-wrapper {
  scrollbar-width: auto;            /* o thin */
  scrollbar-color: rgba(0,0,0,0.28) rgba(0,0,0,0.08);
}


/** Planimetria Foto Switch Mq Ftq **/
/* ====== SWITCH FOTO MQ / FTQ (FIX SPECIFICITY) ====== */

/* di default: mostra MQ, nascondi FTQ */
.unita-in-vendita-card .slider-info-img .unita-lightbox--ftq,
.unita-in-vendita-card-v2 .slider-info-img .unita-lightbox--ftq{
  display: none !important;
}

/* quando attivo FTQ: nascondi MQ, mostra FTQ */
body.is-ftq .unita-in-vendita-card .slider-info-img .unita-lightbox--mq,
body.is-ftq .unita-in-vendita-card-v2 .slider-info-img .unita-lightbox--mq{
  display: none !important;
}

body.is-ftq .unita-in-vendita-card .slider-info-img .unita-lightbox--ftq,
body.is-ftq .unita-in-vendita-card-v2 .slider-info-img .unita-lightbox--ftq{
  display: block !important;
}

/* (consigliato) se le 2 lightbox sono entrambe "in overlay" una sopra l'altra 
.unita-in-vendita-card .slider-info-img .unita-lightbox,
.unita-in-vendita-card-v2 .slider-info-img .unita-lightbox{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
*/

/* evita click sull'elemento nascosto */
.unita-in-vendita-card .slider-info-img .unita-lightbox--mq,
.unita-in-vendita-card .slider-info-img .unita-lightbox--ftq,
.unita-in-vendita-card-v2 .slider-info-img .unita-lightbox--mq,
.unita-in-vendita-card-v2 .slider-info-img .unita-lightbox--ftq{
  pointer-events: auto;
}

.unita-in-vendita-card .slider-info-img .unita-lightbox--ftq,
.unita-in-vendita-card-v2 .slider-info-img .unita-lightbox--ftq{
  pointer-events: none;
}

body.is-ftq .unita-in-vendita-card .slider-info-img .unita-lightbox--mq,
body.is-ftq .unita-in-vendita-card-v2 .slider-info-img .unita-lightbox--mq{
  pointer-events: none;
}

body.is-ftq .unita-in-vendita-card .slider-info-img .unita-lightbox--ftq,
body.is-ftq .unita-in-vendita-card-v2 .slider-info-img .unita-lightbox--ftq{
  pointer-events: auto;
}



/* ===== MAPPA: MOBILE FIX spot card ===== */
@media (max-width: 767px) {

  /* il contenitore spesso è flex: forzo scroll orizzontale corretto */
  .im-map-wrapper .im-spot-list{
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 12px !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    padding-bottom: 10px !important;
  }

  /* CARD: larghezza reale (max 300) */
  .im-map-wrapper .im-spot-list .im-spot-card{
    width: 300px !important;
    max-width: 300px !important;
    min-width: 300px !important; /* IMPORTANTISSIMO per evitare “schiacciamenti” */
    flex: 0 0 300px !important;

    display: flex !important;
    flex-direction: column !important; /* icona sopra */
    align-items: flex-start !important;
    gap: 10px !important;
	padding: 8px;
  }

  /* ICON sopra */
  .im-map-wrapper .im-spot-list .im-spot-card .im-spot-icon{
    margin: 0 !important;
  }

  /* INFO sotto a tutta larghezza */
  .im-map-wrapper .im-spot-list .im-spot-card .im-spot-info{
    width: 100% !important;
  }
}


/* ===== MAPPA: DESKTOP style spot card ===== */

/* BG unico */
.caseinvendita-bg{
  position: absolute;
  inset: 0;
  background-image: var(--bg-desktop);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 0;
}

/* Mobile */
@media (max-width: 767px){
  .caseinvendita-bg{
    background-image: var(--bg-mobile) !important;
  }
}


/* NAV LINK ITA ENG DE */
.lang-link.c-white-70.w-inline-block.active { 
	font-weight:700; 
}


/* Navbar bg quando l’utente ha scrollato */
.navbar.nav-white.is-scrolled {
  background: #131927 !important;
}


/* Esperienze nei dintorni, a partire da casa */
.amenities-section .unita-wrapper-heading h2 {
  color: #fbfbfb;
}

/* Nasconde il bottone flottante di Iubenda */
.iubenda-tp-btn.iubenda-cs-preferences-link {
  display: none !important;
}

.iubenda-tp-alert-btn[data-tp-float], .iubenda-tp-btn:not(.iubenda-floatable-tb-btn)[data-tp-float], .iubenda-uspr-btn[data-tp-float]{
	 display: none !important;
}

/* Nasconde SOLO il bottone flottante auto-iniettato da Iubenda */
.iubenda-tp-btn[data-tp-float]{
  display: none !important;
}



/* PLAY BUTTON HERO VIDEO */
.video-play-btn {
  position: absolute;
  z-index: 999;
  inset: 0;
  margin: auto;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: rgba(0,0,0,0.6);
  color: #fff;
  font-size: 32px;
  border: none;
  cursor: pointer;
}


/* il contenitore del video deve creare stacking context */
.home-hero-bg.mobile{
  position: relative;
}

/* il video NON deve catturare click */
.home-hero-bg.mobile video{
  pointer-events: none;
}

/* il bottone deve catturare click */
.video-play-btn{
  pointer-events: auto;
  z-index: 9999; /* alza ancora */
}



/* Scroll to section */
html { scroll-padding-top: var(--ecs-nav-offset, 96px); }
:target { scroll-margin-top: var(--ecs-nav-offset, 96px); }



/* Recaptcha Hide Badget */
.grecaptcha-badge { 
  visibility: hidden; 
}