
		html {
    		font-size: clamp(16px, 0.75vw, 18px);

			}
        body {

    overflow-wrap: break-word;     /* spezza le parole lunghe quando necessario */
    word-wrap: break-word;         /* alias storico, compatibilità */
    word-break: break-word;        /* permette la rottura senza spezzare parole normali */
    hyphens: auto;                 /* inserisce i trattini se la parola può essere spezzata */
    -webkit-hyphens: auto;         /* Safari / Chrome mobile */
    -ms-hyphens: auto;             /* vecchi IE */
            font-family: Arial, Helvetica, sans-serif;
            margin: 0 auto;
            padding-top: 20px;
            /*padding: 20px 10px;*/

			width: clamp(300px, 70%, 1200px); /* Min 300px, max 1200px, preferibilmente 90% */
			color: #000000;
            font-size: 1.1rem; /* 18px di base, ridotto da 1.5rem per mobile */
        }

header {
    position: relative;
    width: 100%;
    padding-top: 30%; /* rapporto altezza/larghezza: 40% = altezza 40% della larghezza */
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    overflow: hidden;
}
        header div {
            text-align: center;
            max-width: 800px;
            padding: 0 10px; /* Ridotto su mobile */
        }
        header div /*p.elegant*/ {
/*            text-align: left !important; *//* Forza allineamento a sinistra */
            display: block;
        }
        header h1 {
            font-size: 3em;
            margin: 0;
        }
        header p {
            font-size: 1.5em;
            margin: 0.5em 0;
        }


header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url('../pics/inizio_scala_vicino.jpg') center/cover no-repeat;
    z-index: -1;
    animation: zoomEffect 10s ease-in-out infinite alternate;
}


@keyframes zoomEffect {
    0% {
        transform: scale(1);
    }
    100% {
        transform: scale(1.2);
    }
}

        li p {
            font-size: 1.2rem;
        }

        .cta {
            background: #2b8f2b;
            color: white;
            padding: 10px 18px;
            text-decoration: none;
            border-radius: 6px;
            font-weight: 600;
            display: inline-block;
        }

        .elegant {
         /*   font-size: 28px;*/
            line-height: 1.2;
            color: #F0E8BC; /* Colore corretto */
            margin: 1em 0;
        }

p del {
    color: #444444;
    margin-right: 8px;
    font-size: 1.1em; /* Più grande del testo base */
}

p.note {
  font-size: 0.95rem;
  color: #555;
}

p strong {
    color: #000000; /* Nero per il prezzo scontato */
    font-size: 1.4em; /* Aumentato per maggiore enfasi */
    font-weight: bold;
}
.evidenced {
    font-size: 1.1em; /* Aumentato per maggiore enfasi */

    text-decoration: underline;
    /*font-weight: bold;*/
}

.lined-paragraph {
    border-top: 1px solid #9F9F9F;
    border-bottom: 1px solid #959595;
    padding: 10px 0;
    font-size: 90%;
}

.highlight-box {
    background: hsl(129, 3%, 45%); /* Sfondo grigio */
    color: #FFFFFF; /* Testo bianco */
    padding: 5px 10px;
    border-radius: 6px;
    font-weight: 600;
    font-size: 1em; /* Più grande del testo base */
    display: inline-block;
    margin: 0 0px;
}

.highlight-price {
    background: #F0F0F0; /* Sfondo grigio chiaro */
    padding: 3px 8px;
    border-radius: 4px;
    display: inline-block;
}



        #units, #complex p {
        margin-left: 8px;
        margin-right: 8px;
        }

        section {
            padding: 30px 20px;
        }

        #about {
            background: #f9f9f1;
			margin: 10px 0;
            padding: 5px 5px;
        }


		#features ul {
            list-style: none;
            padding: 0;
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 20px;
        }
        #features li {
            text-align: center;
            padding: 10px 0;
            border: 1px solid #ddd;
            border-radius: 10px;
			background-color: #E4E4E4; /* Sfondo grigio tenue */
        }

        #features p {
             font-size: 1.2rem;
        }

        #units, #about{
            background: #C2C9C2;
        }

		#untcomplex {
			background: #667166;
			padding: 20px 20px;          /* stesso padding di #complex */
			max-width: 1400px;           /* come .complex-box */
			margin: 0 auto;              /* lo centra */
			box-sizing: border-box;
			margin: 20px 8px 0;
		}



        .unit {
            background: white;
            margin: 30px 0;
            padding: 5px 10px; /* Ridotto padding laterale */
            border-radius: 10px;
            box-shadow: 0 2px 10px rgba(0,0,0,0.1);
            margin-left: auto;
            margin-right: auto;
        }
        h2 {
            margin: 0px 0;
            font-size: 1.1em;
        }
        .unit h3{
            color: #363636;
			font-size: clamp(16px, 2vw, 24px);
			margin-top: 20px;   /* riduce lo spazio sopra */
            margin-bottom: 10px;
			margin-left: 8px;
        }



        .unit-controls {
            display: flex;
            gap: 10px;
            align-items: center;
            justify-content: center;
            margin-top: 12px;
        }

        .unit-cta {
            background: #2b8f2b;
            color: white;
            padding: 5px 18px;
            border-radius: 6px;
            text-decoration: none;
            font-weight: 600;
        }

        .note {
            font-size: 13px;
            color: #666;
            margin-top: 10px;
        }



            /* Per form email */
        #contact form {
            display: grid;
            gap: 15px;
            max-width: 600px;
            margin: 0 auto;
        }

        #contact input, #contact textarea {
            padding: 10px;
            border: 1px solid #ddd;
            border-radius: 5px;
            width: 100%;
            box-sizing: border-box;
        }
        #contact input.error, #contact textarea.error {
            border-color: red;
        }

        #contact button {
            background: #2b8f2b;
            color: white;
            padding: 15px;
            border: none;
            border-radius: 5px;
            font-size: 1.1em;
            cursor: pointer;
        }

        #contact .message {
            display: none;
            padding: 10px;
            border-radius: 5px;
            margin-top: 10px;
            text-align: center;
        }
        #contact .success {
            background: #dff0d8;
            color: #3c763d;
        }
        #contact .error {
            background: #f2dede;
            color: #a94442;
        }

        footer {
            background: #333;
            color: white;
            text-align: center;
            padding: 8px;
        }

        /* Swiper (preview) */
        .unit-swiper {
            width: 100%;
            box-sizing: border-box;
            position: relative;
        }
        .unit-swiper .swiper-slide {
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .unit-swiper img {
            display: block;
            width: 100%;
            height: 260px;
            object-fit: cover;
            border-radius: 0; /* Rimuove bordi arrotondati */
        }
        @media (min-width: 900px) {
            .unit-swiper img {
                height: 220px;
            }
        }

        /* PhotoSwipe arrow positioning */
        .pswp__button--arrow--left {
            left: 0;
            top: 50%;
            transform: translateY(-50%);
            z-index: 1000;
        }
        .pswp__button--arrow--right {
            right: 0;
            top: 50%;
            transform: translateY(-50%);
            z-index: 1000;
        }


/* --- Sezione Complex --- */
/* === Container principale === */
#complex {
    padding: 20px 20px;
    margin-top: 30px; /* separazione chiara */
    background: #C2C9C2;
    box-sizing: border-box;
}

/* Box interno */
.complex-box {
    background: white;
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    padding: 20px;
    max-width: 1400px;
    margin: 0 auto;
    box-sizing: border-box;
}

/* Container flex per swiper e video */
.complex-container {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    justify-content: center;
    box-sizing: border-box;
}

/* Swiper */
.complex-swiper-container {
    flex: 1;
    min-width: 300px;
    max-width: 600px;
    box-sizing: border-box;
    padding: 0 10px;
}

.complex-swiper {
    width: 100%;
    box-sizing: border-box;
    position: relative;
}

.complex-swiper .swiper-slide {
    display: flex;
    align-items: center;
    justify-content: center;
}

.complex-swiper img {
    display: block;
    max-width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 0;
}

/* Testo sotto swiper */
.complex-swiper-container p.note {
    margin: 10px 0 0 0;
    padding: 0 10px;
    text-align: center;
    word-wrap: break-word;
}

/* Video container */
.video-container {
    flex: 1;
    min-width: 300px;
    max-width: clamp(200px, 100%, 1200px);
    display: grid;
    gap: 20px;
    box-sizing: border-box;
    padding: 0 10px;
}

.video-item {
    text-align: center;
}

.video-item h3 {
    text-align: left;
}

.video-item video {
    max-width: clamp(200px, 50%, 600px); /* Più piccolo quando fermo */
    height: auto;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    transition: max-width 0.3s ease; /* Transizione fluida */
}

.video-item video.playing {
    max-width: clamp(300px, 100%, 1200px); /* Ingrandisce quando riprodotto */
}





/* Map container */

.location-map-wrapper {
   position: relative;
    max-width: 1600px;
    width: 100%;
/*    height: 260px;
    height: 300px;
	height: auto;
*/
    border-radius: 18px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    transition: height 0.3s ease, max-width 0.3s ease;
    margin: 0 auto;
    overflow: hidden;
    display: block;

height: 300px;
	display: flex;
	flex-direction: column; /* verticale */
    min-width: 100px;
    max-width: clamp(200px, 100%, 1200px);
    display: grid;
    gap: 20px;
    box-sizing: border-box;
    padding: 0 10px;
 width: 600px;
	justify-content: center;

}
.location-map-wrapper.focused {
 /*   max-width: 1200px;
    height: 450px;
*/

	/*max-width: 1200px;*/
	height: 600px;
	width: auto;
	/*max-width: clamp(300px, 100%, 1600px); *//* Ingrandisce quando riprodotto */
}

.location-map-wrapper.focused .map-item{
	width: 1200px;
	width: clampclamp(300px, 100%, 1600px);
	/*max-width: clamp(300px, 100%, 1600px); *//* Ingrandisce quando riprodotto */
}


.map-overlay {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    z-index: 200;
    cursor: pointer;
    background: transparent;


 /*	height: 1000px; non reagisce a heigh */


}
.location-map-wrapper.focused .map-overlay {
    display: none;

}
 .map-item {
    width: 100%;
    height: 100%;
width: 600px;
    /*max-width: clamp(200px, 100%, 1200px);*/ /* Più piccolo quando fermo */
    height: auto;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    transition: max-width 0.3s ease; /* Transizione fluida */
}

.location-map {
    width: 100%;
    height: 100%;
    border: none;
    display: block;
}

/* Wrapper del Logo		 */
.qr {
    width: 70px;
    height: 70px;
    transition: width 0.3s ease, height 0.3s ease;
}

.qr:hover,
.qr:focus {
    width: 150px;   /* ingrandimento 1.5x */
    height: 150px;
}






#form-message {
    margin-top: 10px;
    padding: 8px;
    border-radius: 4px;
    display: none;
}
#form-message.success {
    background-color: #d4edda;
    color: #155724;
}
#form-message.error {
    background-color: #f8d7da;
    color: #721c24;
}

/* === Media query per mobile === */
@media (max-width: 768px) {
    #complex {
        padding: 20px 5px;
        margin-top: 30px;
    }
    .complex-box {
        padding: 15px;
        border-radius: 0;
    }
    .complex-container {
        flex-direction: column;
    }
    .complex-swiper img {
        height: auto; /* altezza automatica per mobile */
    }
    .video-item video {
        border-radius: 0;
        height: auto;
    }
}




/* Media query per mobile */
@media (max-width: 768px) {
    #units {
        padding: 20px 5px; /* Ancora più compatto su mobile */
            }
			.unit {
				padding: 20px; /* Riduci il padding su mobile */
				padding: 10px 5px; /* Zero padding laterale */
				margin: 15px 0; /* Mantieni margine verticale minimo */
					}

		    .unit h3 {
    			margin-top: 0;
  			}
            h3 {
			margin-top: 10px;   /* riduce lo spazio sopra */
            margin-bottom: 3px;
            /*font-size: clamp(16px, 1.8vw, 18px);*/
            line-height: 1; /* → 16px * 1.5 = 24px tra le linee */
            }
            header {
                /*height: 70vh;*/ /* Riduce altezza header */
                padding-top: 20%; /* più basso per schermi stretti */
            }
            header h1 {
                font-size: 1.5em; /* Ridotto per evitare sovrapposizioni */
            }
            header p {
                font-size: 1em; /* Ridotto */
            }
            .elegant {
                font-size: 20px; /* Ridotto da 24px */
            }
            .unit-swiper img {
                height: 200px; /* Immagini più piccole su mobile */
                border-radius: 0; /* Nessun bordo */
            }
	        p {
        		font-size: 0.7em; /* o 13px se vuoi più piccolo */
                line-height: normal;
                margin: 1em;
    		}
            p strong {
                font-size: 1em;
            }
            p.note {
                font-size: 0.6rem;
             }


            li  {
                font-size: 0.9em;
            }
	 		#about{
        		font-size: 0.7em; /* o 13px se vuoi più piccolo */
    		}
	       body {
            font-size: 1.1rem; /* 18px di base, ridotto da 1.5rem per mobile */
			width: 100%;
            padding-top: 0px;
        	}
		   .lined-paragraph {
    			font-size: 60%;
            }
        .unit-cta {
            padding: 5px 8px;
            border-radius: 3px;
            font-weight: 300;
        }
    		#features ul {
            gap: 20px;
        }
        #features li {
            padding: 0px 0;
            border-radius: 10px;
        }
        #features p {
             font-size: 1rem;
        }


    } /*media*/






.swiper-button-prev,
.swiper-button-next {
  width: 28px;     /* più piccole */
  height: 28px;
  color: rgba(17,17,17,0.90); /* colore tenue */


}

.swiper-button-prev::after,
.swiper-button-next::after {
  font-size: 40px;  /* freccia più piccola */
}


@media (max-width: 768px) {
	  .swiper-button-prev,
  .swiper-button-next {
    display: block !important;  /* forza la visibilità */
    color: #383838;                /* colore freccia */
    width: 18px;     /* più piccole */
    height: 28px;
    z-index: 1000;                /* in primo piano */
  }
.pswp__button--arrow--right {
        right: 0 !important;
    }
.swiper-button-prev::after,
.swiper-button-next::after {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); /* Centra l’icona */
    text-align: center; /* Assicura centramento del testo */
  font-size: 20px !important;  /* freccia più piccola */
}
} /* media	*/






/* Forza visibilità della lente di ingrandimento su PC */
.pswp__button--zoom {
    display: block !important;
    cursor: pointer !important;
	pointer-events: auto !important; /* Assicura che il click sia rilevato */
}

/* Su mobile, nascondi la lente (coerente con il comportamento originale) */
/*@media (max-width: 768px) {
    .pswp__button--zoom {
        display: none !important;
    }

}
*/

html {
    scroll-behavior: smooth;
}
