A:link {text-decoration: none; color:#000;}
A:visited {text-decoration: none; color:#000;}
A:hover {text-decoration: none; color:#000;}
body {
	margin:0px;
	padding:0px;
	font-family: 'Open Sans', sans-serif;
	font-size:1.3em;
	font-weight:300;
	color:#333;
	background-color:#ffffff;
}
.invisibile
{
	display:none!important
}
.soloMobile
{
	display:none!important
}
.soloDesktop
{
	display:block!important;
}
.boxBlu
{
	background-color: rgb(58, 50, 157);
    color: white;
}
.boxMarrone
{
	background-color: rgb(64, 34, 29);
    color: white;
}
.boxMeeting
{
	background-color: rgb(30, 137, 154);
    color: white;
}
.boxRosso
{
	background-color: rgb(192, 0, 0);
    color: white;
}
.boxVerde
{
	background-color: rgb(45, 51, 24);
    color: white;
}
.boxBeige
{
	background-color: rgb(255, 250, 244);
    color: black;
}
/* .box{ */
	/* width:200px;margin:10px;display:inline-table */
/* } */
strong
{
	font-weight:400;
	color:#000;
}
img {
	border:0px;
}
form {
	margin:0px;
	padding:0px;
}
.spacer
{
	height:0px;
	width:0px;
	overflow:hidden;
	clear:both;
}
.spacer2
{
	height:15px;
	width:0px;
	overflow:hidden;
	clear:both;
}
.spacer3
{
	height:35px;
	width:0px;
	overflow:hidden;
	clear:both;
}

#payoff
{
	position:absolute;
	z-index:5;
	left:11%;
	width:60%;
	bottom:60px;
	color:#FFF;
	text-align:left;
	font-size:45px;
	font-weight:500;
	text-shadow: #333 1px 0 10px;
	font-family: 'Source Serif 4', serif;
	
}
.sottotitoloPayoff{

	font-size:20px

	
}
#payoff .nomeSezione
{
	font-size:24px;
}
#payoff .bianco
{
	font-size:32px!important;
	text-transform:capitalize!important;
}

.typewriter {
    overflow: hidden;
    white-space: nowrap;
    border-right: 3px solid #000; /* Cursore */
    opacity: 0; /* Inizialmente invisibile */
    transform: translateY(20px); /* Effetto leggermente più in basso */
    transition: opacity 0.5s ease, transform 0.5s ease;
}

.typewriter.visible {
    opacity: 1;
    transform: translateY(0);
}

/* Animazione cursore */
@keyframes blink-caret {
    from, to { border-color: transparent; }
    50% { border-color: #000; }
}

.typewriter.typing {
    animation: blink-caret 0.75s step-end infinite;
}

.villa-section {
      display: flex;
      flex-direction: row;
      gap: 60px;
      align-items: flex-start;
    }

    .villa-list {
      flex: 1;padding-left:20px
    }

    .villa-list ul {
      list-style: none;
      padding: 0;
    }

    .villa-list li {
      font-size: 1.5rem;
      margin: 20px 0;
      cursor: pointer;
      transition: color 0.3s;
    }
.villa-list li a {
    text-decoration: none;
    outline: 0;
    transition: all .3s ease-in-out;
    cursor: pointer;
    display: inline-block;
    color: #5E5554;
}
.villa-list li:hover {
    font-weight: 500;
    text-shadow: 0 0 .6px #382F2D;
	 -webkit-animation: drawLine .5s ease forwards;
    animation: drawLine .5s ease forwards;
	
}
.linea {
    visibility:hidden;
	flex-grow: 0;
    height: 1px;
    background: #382F2D;
}
.villa-list li:hover > .linea {
    visibility:visible;
}
@-webkit-keyframes drawLine {
    0% {
        flex-grow: 0;
        opacity: 0
    }

    100% {
        flex-grow: 1;
        opacity: 1
    }
}

@keyframes drawLine {
    0% {
        flex-grow: 0;
        opacity: 0
    }

    100% {
        flex-grow: 1;
        opacity: 1
    }
}
    .villa-list li:hover {
      color: #c2935d;
    }

    .villa-preview {
      /*flex: 2;*/
      position: relative;
    }

    .villa-preview img {
      width: 100%;
      max-width: 700px;
      height: auto;
      object-fit: cover;
      border-radius: 12px;
      transition: opacity 0.5s ease;
    }

.experiences-section {
  padding: 10px 0;
 
}

.experience-card {
  background: white;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
  transition: transform 0.3s ease;
  height: 100%;
}

.experience-card img {
  width: 100%;
  /*height: 240px;*/
  object-fit: cover;
}

.card-content {
  padding: 25px;position:absolute;top:10px;color:white;
}
.camere-content {
  padding: 28px;text-align:left;
}
.camere-content h3 {
  text-align:left;
}
.cta-button {
  display: inline-block;
  margin-top: 15px;
  padding: 10px 20px;
  background: transparent;
  border: 1px solid #d4a762; /* Colore oro simile al sito */
  color: #d4a762;
  border-radius: 30px;
  text-decoration: none;
  transition: all 0.3s ease;
}

.cta-button:hover {
  background: #d4a762;
  color: white;
}

/* Stili Swiper personalizzati */
.experiences-swiper {
  padding: 30px 10px 60px; /* Spazio per frecce/paginazione */
}

.swiper-slide {
  width: 300px !important; /* Larghezza card fissa */
  margin-right: 0px;
}

.swiper-button-next, .swiper-button-prev {
  color: transparent !important;
  
}

.swiper-pagination-bullet-active {
  background: #d4a762 !important;
}

.experience-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
}
.experience-card img {
  transition: transform 0.8s ease;
}
.experience-card:hover img {
  transform: scale(1.05);
}
.boxFrecce {
  position:relative;width:100px;float:right
}

/* inizio css per i cookies */
#cookieChoiceInfo
{
	top:inherit!important;
	bottom:0px!important;
	padding:8px 1%!important;
	font-family:Verdana, Geneva, sans-serif!important;
	color:#333!important;
	border-top:1px solid #ccc;
	width:98%!important;
	font-size:12px;
	color:#333;
	z-index:999999!important;
}
#cookieChoiceInfo a, hover, visited
{
	color:#333!important;
}

/* fine css per i cookies */



/* inizio menu */

#lingue
{
	position:fixed;
	z-index:99;
	top:55px;
	right:0px;
	width:50px;
	height:20px;
	margin:5px 0px 0px 0px;
	background-color:#fdf8f2;
	color:#000;
	text-align:center;
	font-size:15px;
}
#lingue2
{
	position:fixed;
	z-index:99;
	top:0px;
	right:0px;
	width:50px;
	height:20px;
	margin:30px 0px 0px 0px;
	background-color:#333;
	color:#FFF;
	text-align:center;
	font-size:15px;
}

#pulanteApri
{
	
position:fixed;
	z-index:99;
	top:18px;
	right:0px;
	width:50px;
	height:50px;
	margin:30px 0px 0px 0px;
	background-color:#333;
	background-image:url(grafiche/open.png);
	background-repeat:no-repeat;
	background-position:center;
	background-size:contain;
	cursor:pointer;
}

#lingueMobile
{
	position:absolute;
	z-index:99;
	top:12px;
	right:0px;
	width:70px;
	text-align:center;
	font-size:16px;
	font-weight:600;
	line-height:22px;
	color:#FFF;
	white-space:nowrap;
}

#lingueMobile a,
#lingueMobile a:visited,
#lingueMobile a:hover
{
	color:#FFF;
	text-decoration:none;
}

#lingueMobile span
{
	margin:0 3px;
}

#menuPrincipale
{
	position:fixed;
	top:0px;
	right:0px;
	width:100%;
	height:100%;
	overflow-y:auto;
	z-index:9;
	background-color: rgba(255, 250, 244, 0.95);
	display:none;
	visibility:hidden;
	color:black;
	padding-top:30px
}
#logoMenu 
{
	width:290px;
	text-align:center;
}
#logoMenu img
{
	width:26%;
}

#menuPrincipale a, hover, visited
{
	color:#666;
}
#menuPrincipale ul
{
	margin:20px 0 0 0;
	padding:0px
}
#menuPrincipale li
{
	list-style-type:none;
	margin:0px;
	padding:10px
}
#menuPrincipale .corpo
{
	position:relative;
	margin:0px auto;
	width:500px;
}
#menuPrincipale .menu
{
	width: 500px;
	margin:0px auto;
	text-align:center;
	font-size:20px;
}

.vocemenuPrincipale
{
	text-align:center;
	/*background-color: rgba(255, 255, 255, 0.75);*/
	margin:3px 0px!important;
	padding:5px;
	color:black;
	cursor:pointer;border-bottom:1px solid #666;
	text-transform:uppercase
}
.sottomenu
{
	background-color: rgba(255, 255, 255, 0.2);
	text-align:center;
	color:#FFF;
}
.sottomenu .item
{
	padding:5px;
	border-bottom:1px solid#FFF;
	color:#FFF;
}
/* fine menu */



/* inizio menu a tendina */

.menuContainerHeader
{	
	display:none;
	visibility:hidden;
	background-color: rgba(96, 96, 96, 0.7);
	position:relative;
	width:100%;
}
.menuContainerHeader li {
	margin:0x!important;
}



.tendinaheader {
	display: Block;
	position: Relative;
	color:#FFF!important;
	font-family: 'Open Sans', sans-serif;
	font-size:18px;
	text-transform:uppercase;
	text-decoration:None;
	width:96%;
	border-bottom:1px solid #ccc;
	padding:10px 2%;
	cursor:pointer;
	
}
.tendinaheader a, hover, visited {
	color:#FFF!important;
}

#lingua .sottomenu a {
	color:#FFF!important;
}

a.sottomenuheader {
	display:block;
	color:#333;
	font-family: 'Open Sans', sans-serif;
	font-size:18px;
	text-transform:uppercase;
	text-decoration:none;
	text-align:left;
	border-bottom:1px solid #ccc;
	width:96%;
	padding:8px 0px 8px 4%;
	text-align:center;

}
a.sottomenuheader:hover {
	display:block;
	background-color: rgba(255, 255, 255, 0.7);
	color:#333;
	text-decoration:None;
}
div.sottomenuheader {
	background-color: rgba(255, 255, 255, 0.7);
	visibility:hidden;
	display:none;
	position:relative;
	min-height:inherit;
	width:100%;
}
.margineSottomenuheaderSx
{
	margin:0px;
} 
.margineSottomenuheaderDx
{
	margin:0px;
} 
.paginacorrente {
	color:#333;
}
.iconaSezione
{
	position:relative;
	margin:0px 0px 8px 0px;
	color:#333;
}
.iconaSezione p
{

	margin:0px;
	padding:8px 1%;
	width:98%;
	background-color: rgba(255, 255, 255, 0.7);
	text-align:center;
	text-transform:uppercase;
}
/* fine menù a tendina */
#nav{
     position:fixed;z-index:999;top:0px;right:0px; width:100%; background-color:rgba(255,255,255,1)
}
.scrollMenu
{
    background-color:rgba(255,255,255,0.98)
}
#nav ul {
      margin: 0px;
      padding: 20px 0 0 0;
      list-style: none;float:right
}

#nav  ul li {
  position: relative;
  float: left;font-size:17px;padding: 5px;margin-right:8px;text-transform:uppercase;
}

#nav li ul {
  position: absolute;
  z-index: 1;
  display: none;overflow:visible;min-width:200px;background-color:rgba(255,255,255,0.8)
}

#nav ul li a {
  display: block;
  text-decoration: none;
}
.scrollMenu  a
{
    color:black!important;
}
#nav  li:hover ul, #nav li.jshover ul {
  display: block;
}
#nav  li:hover ul li, #nav li.jshover ul li {
  display: block;width:100%
}
#nav li:hover  a, #nav li.jshover a {
  
}


/* inizio richiesta info */

.campoLungo {
	width:96%;
	font-weight:normal;
	color:#767575;
	border:1px solid #808081;
	float:left;
	margin:5px 0px;
	padding:5px;
	font-size:1em;
	font-family: 'Open Sans', sans-serif;
	font-weight:300;
	-webkit-appearance: none;
  	-webkit-border-radius: 0;
}
.campo50percento {
	width:50%;
	font-weight:normal;
	color:#767575;
	border:1px solid #808081;
	float:left;
	margin:5px 0px;
	padding:5px;
	font-size:1em;
	font-family: 'Open Sans', sans-serif;
	font-weight:300;
	-webkit-appearance: none;
  	-webkit-border-radius: 0;
}
.select50percento {
	width:50%;
	font-weight:normal;
	color:#767575;
	border:1px solid #808081;
	float:left;
	margin:5px 0px;
	padding:5px;
	font-size:1em;
	font-family: 'Open Sans', sans-serif;
	font-weight:300;
	-webkit-appearance: none;
  	-webkit-border-radius: 0;
}
.select100percento {
	width:50%;
	font-weight:normal;
	color:#767575;
	border:1px solid #808081;
	float:left;
	margin:5px 0px;
	padding:5px;
	font-size:1em;
	font-family: 'Open Sans', sans-serif;
	font-weight:300;
	-webkit-appearance: none;
  	-webkit-border-radius: 0;
}
.campoInformazioni {
	width:96%;
	height:120px!important;
	height:25px;
	font-weight:normal;
	color:#767575;
	border:1px solid #808081;
	float:left;
	margin:5px 0px;
	padding:5px;
	font-size:1em;
	font-family: 'Open Sans', sans-serif;
	font-weight:300;
	-webkit-appearance: none;
  	-webkit-border-radius: 0;
}
#tidio-chat-iframe,#tidio-chat{
	bottom:50px!important
}
/* inizio menù della richiesta veloce */

#booking
{
	width:100%;
	position:fixed;
	z-index:2;
	left:0px;
	bottom:0px;
	background-color:#333;
}
#pulsantieraContatti
{
	width:100%;
	text-align:center;
	position:fixed;
	z-index:8;
	bottom:-1px;
	left:0px;
	display:none;
	visibility:hidden;
}

#pulsContatti
{
	width:280px;
	height:60px;
	margin:0px auto;
	background-color:rgba(255,255,255,0.7);
	border:1px solid#de4219;
	border-radius:20px 20px 0px 0px;
}



#pulsantieraContatti img
{
	width:50px;
	margin:5px 8px;
}

.bg2
{
	background-color:#f3f3f3;
}
#richiestaVeloce
{
	width:600px;
	margin:0px auto;
	padding:20px 0px;
}

.footer{
background:#f8f8f8;
border-top:1px solid #e5e5e5;
padding-top:50px;
font-family:Arial,sans-serif;
}

.footer-container{
max-width:1400px;
margin:0 auto;
padding:0 30px;

display:flex;
justify-content:space-between;
align-items:flex-start;
gap:40px;
}

.footer-logo img{
max-width:280px;
height:auto;
}

.footer-info{
font-size:14px;
line-height:1.8;
color:#555;
}

.footer-info a{
color:#555;
text-decoration:none;
}

.footer-menu{
display:flex;
flex-direction:column;
gap:15px;
}

.footer-menu a{
text-decoration:none;
color:#555;
font-size:14px;
text-transform:uppercase;
transition:.3s;
}

.footer-menu a:hover{
color:#000;
}

.footer-social{
display:flex;
gap:25px;
font-size:28px;
}

.footer-social a{
color:#555;
}

.footer-bottom{
text-align:center;
padding:25px 15px;
margin-top:40px;
border-top:1px solid #e5e5e5;
font-size:13px;
color:#777;
}
#richiestaVeloce .campoLungo {
	    width: 45%;
    font-weight: normal;
    color: #767575;
    border: 0;
    border-bottom: 1px solid #808081;
    float: left;
    margin: 5px;
    padding: 5px;
    font-size: 0.9em;
    font-family: 'Source Serif 4', serif;
    font-weight: 300;
    -webkit-appearance: none;
    -webkit-border-radius: 0;
}
#richiestaVeloce .campo120px {
	width:90%;
}
#richiestaVeloce textarea {
	width:95%;
	height:120px!important;
	height:15px;
	font-weight:normal;
	color:#767575;
	 border: 0;
    border-bottom: 1px solid #808081;
	float:left;
	margin:5px;
	padding:5px;
	font-size:1em;
	font-weight:300;
	font-family: 'Open Sans', sans-serif;
	-webkit-appearance: none;
  	-webkit-border-radius: 0;
}
#richiestaVeloce .campo20px {
	width:90%;
}
.pulsante
{
	width:200px;
	margin:30px auto;
	background-color:#333;
	font-size:1em;
	color: #FFF!important;
	border:1px solid #CCC;
	padding:3px 20px;
	text-align:center;
	-webkit-appearance: none;
  	-webkit-border-radius: 0;
}
.pulsanteform
{
	width:210px;
	
	background-color:rgb(144,140,160);
	font-size:1.2em;
	color: #FFF!important;
	border:0px solid #CCC;
	padding:5px;
	margin:0px auto;
	text-align:center;
	
	-webkit-appearance: none;
	text-align:center;
}

#richiestaVeloce span.pulsante{
	width:100%;
	height:50px;
	display:block;
	overflow:hidden;
	background-image:url(grafiche/openDisp.gif);
	background-repeat:no-repeat;
	padding:0px;
	cursor:pointer;
	z-index:1;
	text-align:right;
}
#richiestaVeloce span.pulsante img
{
	height:44px;
	margin:3px 3px 3px 10px;
}
.testoPrivacyRichiesta
{
	float:left;
	margin:3px;
	width:80%;
	font-size:14px;
}
/* fine menù della richiesta veloce */



.titolo
{
	font-size:40px;
	font-weight:500;
}
.titolosezione
{
	font-size:30px;
	font-weight:300;
	color:#333;
	text-transform:uppercase;
	margin:20px 0px;
}
.sottotitolo 
{
	font-size:30px;
	font-weight:300;
	color:#333;
	margin:20px 0px;
}
.sottotitolo2
{
	font-size:30px;
	font-weight:300;
	color:#333;
	margin:20px 0px;
}
h2
{
	font-weight:500;
	font-family: 'Source Serif 4', serif;
}
h3
{
	font-weight:300;
	font-family: 'Source Serif 4', serif;
}
h1
{
	font-weight:500;
	font-family: 'Source Serif 4', serif;
	font-size:40px
}




.headerHome
{
	width:100%;
	position:relative;
}
.interna
{
	/* margin-top:-1em; */
}


.logoHeader
{
	width:100%;
	text-align:left;
	position:absolute;
	top:35px;
	z-index:2;
}
.logoHeader img
{
	width:200px;
}
.slides
{
	position:absolute!important;
	z-index:1!important;
	top:0px!important;
	left:0px!important;
}
#immagineHeader
{
	position:relative;
	display:block;
	width:100%;
	overflow:hidden;
}
.logoDivisorio
{
	width:400px	
}
.logoDivisorioSezioni
{
	display:none;
	visibility:hidden;
	width:90%;
	max-width:400px;
	min-width:260x;
}
.paragrafoNote
{
	width:49%;
	margin:0px 1% 0px 0px;
	float:left;
}

.note
{
	width:49%;
	margin:0px 0px 0px 1%;
	float:left;
}
.noteSx
{
	width:49%;
	margin:0px 0px 0px 1%;
	float:left;
}
.corpo
{
	width:85%;
	margin:0px auto;
padding:1% 3%;	
}
.contatti
{
	width:850px;
	margin:0px auto;
	display:block;
}
.corpoBooking
{
	width:970px;
	margin:0px auto;
	text-align:center;
	color:#FFF;
	-webkit-appearance: none;
  	-webkit-border-radius:0px;
}
.pulsantebooking
{
	background-color:#FFF;
	color:#333;
	border:1px solid #333;
	font-size:1em;
	margin:5px 0px;
	padding:5px;
	text-align:center;
	-webkit-appearance: none;
  	-webkit-border-radius: 0;
}
.campobooking {
	width:25%;
	font-weight:normal;
	color:#767575;
	border:1px solid #808081;
	margin:5px 0px;
	padding:5px;
	font-size:1em;
	-webkit-appearance: none;
  	-webkit-border-radius: 0;
}
.centrato
{
	text-align:center;
}
.contenitoreParallax
{
	width:100%;
	float:left;
	display:block;
	margin:40px 0px;
}
.layer50percento
{
	width:48%;
	margin:10px 1%;
	float:left;	
}
.layer33percento
{
	width:31%;
	margin:10px 1%;
	float:left;	
}
.layer66percento
{
	width:63%;
	margin:10px 1%;
	float:left;	
}
.centrale
{
	width:30.5%;
	margin:10px 1%;
	float:left;
	border-left: 1px solid #333;
	border-right: 1px solid #333;
}
.testosezione
{
	height:120px;
}
.pusanteCerchioSezione
{
	width:200px;
	border-radius:100px;
}
.immagineSezioniHome
{
	width:95%;
	margin:25px 0px 0px 0px;
}
.pusanteCerchioSezione td
{
	height:200px;
	border-radius:100px;
	background-color:#333;
	color:#FFF;
	text-transform:uppercase;
}











#pannellocanali
{
	width:98%;
	margin:0px;
	padding:1%;
	display:none;
	visibility:hidden;
	background-color: rgba(0, 0, 0, 0.55);
	color:#FFF;
}
#pannellocanali a, hover, visited
{
	color:#FFF;
}

#pannellocanali ul
{
	display:table;
	width:100%;
	margin:0px;
	padding:0px;
}
#pannellocanali li
{
	display:table-cell;
	width:100%;
	float:left;
	border-bottom:1px solid#FFF;
	text-align:center;
	font-size:16px;
	padding:7px 0px;
}
#contenitorepulantepannellocanali
{
	padding:0px;
	margin:10px 0px;
	background-repeat:no-repeat;
	background-position:left;
	border-bottom:1px solid#333;
}
#pulantepannellocanali
{
	cursor:pointer;
	padding:5px 5px 5px 40px;
	margin:0px;
	background-repeat:no-repeat;
	background-position:left;
	background-image:url(grafiche/open_pic_bianco.png);
	background-color:#333;
	width:auto;
	width:300px;
	color:#FFF;
	
}
.immagineareasx
{
	padding:5px;
	border: 1px solid #9F9FA0;
	background-color:#FFF;
	float:left;
	margin:10px 20px 5px 0px;
}
.immagineareadx img
{
	max-width:340px;
	max-height:340px;
}
.immagineareadx
{
	padding:5px;
	border: 1px solid #9F9FA0;
	background-color:#FFF;
	float:left;
	margin:10px 20px 5px 0px;
}
.immagineareasx img
{
	max-width:340px;
	max-height:340px;
}















.bgBottom
{
	width:100%;
	padding:10px;
	margin:0;
	color:#000;
	background-color:rgb(242,247,248);
	position:relative;font-size:14px
}
.bgBottom a, hover, visited
{
	color:#000;
}
.bottom
{
	width:1200px;
	margin:0px auto;
	
}
.logoBottom
{
	width:100%;
	text-align:left;
	
}
.logoBottom img
{
	width:200px;
}
.social
{
	text-align:center;
}
.social img
{
	width:24%;
}








#googlemap
{
	width:100%;
	height:500px;
	margin-bottom:40px;
}
.testorossob
{
	color:#CC0000;
	font-weight:bold;
}
.tabellaresponsive td
{
	width:33.33%;
}
.tabellaresponsive img
{
	width:40%;
}
.cellaresponsive
{
	width:50%;
}
#tabellaMezzi img
{
	width:86px;
	margin:5px 0px;
}
#tabellaMezzi td
{
	border-bottom:1px solid #ff8b00;
}
.grid a, hover, visited
{
	color:#666;
}

.formLuxury {
    background:#f8f5f1;
    border-radius:30px;
    padding:60px;
    max-width:1200px;
    margin:0 auto;
    box-sizing:border-box;
}

.formLuxury h2{
    font-family:Georgia, serif;
    font-size:58px;
    font-weight:400;
    color:#4f4f4f;
    text-align:center;
    margin:0 0 50px 0;
}

.formGrid{
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    gap:35px;
}

.fieldLuxury{
    width:100%;
    border:none;
    border-bottom:1px solid #d9d0c6;
    background:transparent;
    font-size:16px;
    padding:15px 0;
    outline:none;
    color:#333;
}

.fieldLuxury::placeholder{
    color:#666;
}

.fieldFull{
    grid-column:1 / 3;
}

.textareaLuxury{
    width:100%;
    min-height:120px;
    border:none;
    border-bottom:1px solid #d9d0c6;
    background:transparent;
    resize:vertical;
    font-size:16px;
    padding:15px 0;
    outline:none;
    font-family:inherit;
}

.privacyRow{
    display:flex;
    align-items:center;
    gap:10px;
    margin-top:35px;
    font-size:14px;
    color:#444;
}

.privacyRow input{
    width:20px;
    height:20px;
}

.formBottom{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-top:40px;
    gap:30px;
}

.btnLuxury{
    background:#31321d;
    color:#fff;
    border:none;
    padding:18px 45px;
    text-transform:uppercase;
    letter-spacing:1px;
    cursor:pointer;
    font-size:14px;
    transition:.3s;
}

.btnLuxury:hover{
    opacity:.9;
}

.noteLuxury{
    font-size:13px;
    color:#777;
}

@media screen and (max-width: 1230px) {
.corpo, .bottom, .corpohome, .contatti
{
	width:95%;
}
}

@media screen and (max-width: 1050px) {
body {
	font-size:1.2em;
}
.corpoBooking
{
	width:100%;
}
.soloMobile
{
	display:block!important
}
.soloDesktop
{
	display:none!important
}
.boxFrecce {
  position:relative;width:100px;float:none;text-align:center;margin:20px auto
}
/* Contenitore principale */
.villas-gallery {
  display: grid;width:1100px;
  grid-template-columns: repeat(auto-fit, minmax(250px, 280px));
  gap: 10px;
  padding: 40px;
}

/* Card della villa */
.villa-card {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4/3; /* Mantiene proporzioni immagine */
  border-radius: 8px;
}

.villa-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

/* Overlay con testo */
.villa-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  color: white;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  opacity: 0.7;
  transition: opacity 0.3s ease;
  padding: 20px;
  text-align: center;
}

/* Link "Explore" */
.villa-link {
  margin-top: 15px;
  padding: 10px 20px;
  background: transparent;
  color: white!important;
  border: 2px solid white;
  text-decoration: none;
  border-radius: 30px;
  transition: all 0.3s ease;
}

/* Animazioni hover */
.villa-card:hover .villa-overlay {
  opacity: 1;
}

.villa-card:hover .villa-image img {
  transform: scale(1.05);
}

.villa-link:hover {
  background: white;
  color: black!important;
}
#payoff
{
	
	top:22%;
	font-size:30px;

	
}
.campobooking {
	width:20%;
}
.tabellacookie
{
	font-size:0.9em;
}
}

@media screen and (max-width: 768px) {
	.note, .paragrafoNote, .noteSx
{
	width:100%;
	margin:0px;

}
	 .formLuxury{
        padding:30px;
    }

    .formLuxury h2{
        font-size:40px;
    }

    .formGrid{
        grid-template-columns:1fr;
    }

    .fieldFull{
        grid-column:auto;
    }

    .formBottom{
        flex-direction:column;
        align-items:flex-start;
    }

    .btnLuxury{
        width:100%;
    }
.nascosto768
{
	display:none;
	visibility:hidden;
}
#pulsantieraContatti
{
	display:inherit;
	visibility:visible;
}
.footer-container{
flex-direction:column;
align-items:center;
text-align:center;
}

.footer-menu{
align-items:center;
}

.footer-social{
justify-content:center;
}

.footer-logo img{
max-width:180px;
}

.logoHeader img
{
	width:280px;margin:5px 0 0 5px
}
.titolo
{
	font-size:30px;
}
.headerHome
{
	width:100%;
	/*height:100vw;*/
	overflow:hidden;
}
.interna
{
	margin-bottom:-0em;	
}

.corpo, .bottom, .corpohome
{
	width:95%;
}
.testosezione
{
	height:inherit;
}
.logoDivisorioSezioni
{
	display:inherit;
	visibility:visible;
	width:90%;
	max-width:400px;
	min-width:260x;
}
.layer50percento, .layer33percento, .layer66percento
{
	width:98%;
}
.tabellaresponsive td
{
	width:100%;
	float:left;
}
.tabellaresponsive img
{
	width:30%;
}
.centrale {
    border-left: 0px solid #333;
    border-right: 0px solid #333;
    width:98%;
}
#richiestaVeloce
{
	width:100%;
	margin:20px auto;
	text-align:center;padding:10px 20px
}
#richiestaVeloce .campoLungo {
	width:95%;
}

.immagineareasx, .immagineareadx
{
	padding:1%;
	width:98%;
	border: 1px solid #9F9FA0;
	background-color:#FFF;
	float:left;
	margin:10px 0px 20px 0px;
}
.immagineareadx img, .immagineareasx img
{
	width:100%;
	max-width:inherit;
	max-height:inherit;
}
.cellaresponsive
{
	width:100%;
	float:left;
	display:block;
}

#tabellaMezzi td
{
	border-bottom:0px solid #ff8b00;
	width:100%;
	float:left;
	text-align:center
}
#tabellaMezzi img
{
	width:110px;
	margin:20px 0px;
}
.tabellacookie
{
	font-size:0.8em;
}
}

@media screen and (max-width: 600px) {
#booking
{
	/*display:none;
	visibility:hidden;*/
}
#payoff
{
	
	bottom:20%!important;
	font-size:30px;
	width:100%;
	text-align:center;
	left: auto;top:auto;

	
}
.campobooking
{
	width:60%
}
.interrompi{display:block;}
#menuPrincipale .corpo {
    width: 90%;
}

}


@media screen and (max-width: 500px) {
.logoHeader img
{
	width:300px;
}
}

/* ===== PDM - dettagli appartamento + accordion ===== */

.pdm-info-block{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  width:100%;
  box-sizing:border-box;
  padding:40px 0;
  color:#4a4a4a;
}

.pdm-details{
  display:grid;
  grid-template-columns:180px 1fr;
  gap:42px;
}

.pdm-details h2,
.pdm-accordion summary{
  font-family:Georgia, "Times New Roman", serif !important;
  font-size:34px !important;
  font-weight:400 !important;
  line-height:1.1;
  color:#4a4a4a;
  margin:0;
  padding:0;
}

.pdm-details h2:after{
  display:none !important;
}

.pdm-details-list{
  list-style:none;
  margin:0;
  padding:0;
}

.pdm-details-list li{
  display:flex;
  align-items:center;
  gap:14px;
  margin:0 0 12px;
  font-size:22px;
  line-height:1.35;
  color:#555;
}

.pdm-details-list li::before{
  width:24px;
  min-width:24px;
  display:inline-block;
  text-align:center;
  color:#aaa;
  font-size:18px;
  font-family:FontAwesome;
}




.pdm-details-list li span{
  display:inline-block;
}

.pdm-accordion{
  border-left:1px solid #eee7df;
  padding-left:80px;
}

.pdm-accordion details{
  border-bottom:1px solid #ddd6cf;
  padding-bottom:22px;
}

.pdm-accordion summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  justify-content:space-between;
  align-items:center;
}

.pdm-accordion summary::-webkit-details-marker{
  display:none;
}

.pdm-accordion summary span{
  font-family:Arial, sans-serif;
  font-size:30px;
  font-weight:300;
}

.pdm-accordion details[open] summary span{
  transform:rotate(45deg);
}

.pdm-accordion-content{
  padding:28px 0 0;
  font-size:20px;
  line-height:1.6;
  color:#666;
}

.pdm-accordion-content p{
  margin:0 0 12px;
}

@media screen and (max-width:768px){
  .pdm-info-block{
    grid-template-columns:1fr;
    gap:45px;
    padding:30px 0;
  }

  .pdm-details{
    grid-template-columns:1fr;
    gap:24px;
  }

  .pdm-accordion{
    border-left:0;
    padding-left:0;
  }

  .pdm-details h2,
  .pdm-accordion summary{
    font-size:32px !important;
  }

  .pdm-details-list li{
    font-size:20px;
  }

  .pdm-accordion-content{
    font-size:18px;
  }
}

.rpm-services-2026 {
  width: 100%;
  clear: both;
  color: #333333;
}

.rpm-services-2026 * {
  box-sizing: border-box;
}

.rpm-s26-hero {
  position: relative;
  margin: 40px 0 80px;
  min-height: 520px;
  display: grid;
  grid-template-columns: 44% 56%;
  background: #f4f4f1;
  overflow: hidden;
}

.rpm-s26-hero-image img {
  width: 100%;
  height: 100%;
  min-height: 520px;
  object-fit: cover;
  display: block;
}

.rpm-s26-hero-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 70px 9%;
}

.rpm-s26-kicker {
  display: inline-block;
  font-size: 13px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #777777;
  margin-bottom: 22px;
}

.rpm-s26-hero-text h1 {
  margin: 0 0 24px;
  color: #2f2f2f;
}

.rpm-s26-hero-text p {
  max-width: 720px;
  margin: 0;
  color: #555555;
  font-size: 19px;
  line-height: 1.7;
}

.rpm-s26-board {
  position: relative;
  margin: 0 0 90px;
  padding: 30px 0;
}

.rpm-s26-board:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 1px;
  background: #d8d8d3;
}

.rpm-s26-row {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 70px;
  align-items: center;
  margin: 0 0 80px;
}

.rpm-s26-row:last-child {
  margin-bottom: 0;
}

.rpm-s26-row:nth-child(even) .rpm-s26-photo {
  grid-column: 2;
}

.rpm-s26-row:nth-child(even) .rpm-s26-note {
  grid-column: 1;
  grid-row: 1;
}

.rpm-s26-photo {
  position: relative;
  overflow: hidden;
}

.rpm-s26-photo img {
  width: 100%;
  height: 430px;
  object-fit: cover;
  display: block;
  filter: saturate(0.92);
}

.rpm-s26-note {
  position: relative;
  background: #ffffff;
  padding: 44px 46px;
  border: 1px solid #e3e3df;
  box-shadow: 0 24px 70px rgba(0,0,0,0.07);
}

.rpm-s26-number {
  position: absolute;
  top: -24px;
  left: 36px;
  background: #333333;
  color: #ffffff;
  width: 54px;
  height: 54px;
  line-height: 54px;
  text-align: center;
  font-size: 18px;
}

.rpm-s26-note h2 {
  margin: 8px 0 16px;
  color: #2f2f2f;
}

.rpm-s26-note p {
  margin: 0;
  color: #555555;
  font-size: 16px;
  line-height: 1.7;
}

.rpm-s26-strip {
  margin: 60px 0 30px;
  padding: 52px 6%;
  background: #eeeeea;
}

.rpm-s26-strip-head {
  display: grid;
  grid-template-columns: 34% 66%;
  gap: 45px;
  align-items: start;
  margin-bottom: 38px;
}

.rpm-s26-strip-head h2 {
  margin: 0;
  color: #2f2f2f;
}

.rpm-s26-strip-head p {
  margin: 0;
  color: #555555;
  font-size: 17px;
  line-height: 1.65;
}

.rpm-s26-mini-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}

.rpm-s26-mini {
  background: #ffffff;
  padding: 30px 26px;
  min-height: 210px;
  border: 1px solid #ddddda;
}

.rpm-s26-mini span {
  display: block;
  color: #999999;
  font-size: 13px;
  margin-bottom: 18px;
}

.rpm-s26-mini h3 {
  margin: 0 0 14px;
  color: #2f2f2f;
  font-size: 22px;
}

.rpm-s26-mini p {
  margin: 0;
  color: #555555;
  font-size: 15px;
  line-height: 1.55;
}

@media screen and (max-width: 900px) {
  .rpm-s26-hero {
    grid-template-columns: 1fr;
  }

  .rpm-s26-hero-image img {
    min-height: 320px;
  }

  .rpm-s26-hero-text {
    padding: 45px 28px;
  }

  .rpm-s26-board:before {
    display: none;
  }

  .rpm-s26-row,
  .rpm-s26-row:nth-child(even) {
    grid-template-columns: 1fr;
    gap: 0;
    margin-bottom: 55px;
  }

  .rpm-s26-row:nth-child(even) .rpm-s26-photo,
  .rpm-s26-row:nth-child(even) .rpm-s26-note {
    grid-column: auto;
    grid-row: auto;
  }

  .rpm-s26-photo img {
    height: 300px;
  }

  .rpm-s26-note {
    margin: -35px 22px 0;
    padding: 38px 28px 30px;
  }

  .rpm-s26-strip-head,
  .rpm-s26-mini-grid {
    grid-template-columns: 1fr;
  }
}

.rpm-contatti-2026 {
  width: 100%;
  clear: both;
  color: #333333;
}

.rpm-contatti-2026 * {
  box-sizing: border-box;
}

.rpm-contact-hero {
  margin: 40px 0 70px;
  padding: 70px 8%;
  background: #f4f4f1;
}

.rpm-contact-hero span {
  display: block;
  font-size: 13px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #777777;
  margin-bottom: 22px;
}

.rpm-contact-hero h1 {
  margin: 0 0 24px;
  color: #2f2f2f;
}

.rpm-contact-hero p {
  max-width: 780px;
  margin: 0;
  color: #555555;
  font-size: 19px;
  line-height: 1.7;
}

.rpm-contact-intro {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 45px;
  margin: 0 0 70px;
  align-items: stretch;
}

.rpm-contact-mapbox {
  background: #e9e9e4;
  min-height: 360px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #777777;
  font-size: 16px;
  text-align: center;
  padding: 40px;
}

.rpm-contact-coords {
  background: #ffffff;
  border: 1px solid #deded8;
  padding: 42px;
  box-shadow: 0 22px 60px rgba(0,0,0,0.06);
}

.rpm-contact-coords h2 {
  margin: 0 0 22px;
  color: #2f2f2f;
}

.rpm-contact-coords p {
  margin: 0 0 12px;
  color: #555555;
  font-size: 16px;
  line-height: 1.6;
}

.rpm-contact-routes {
  margin: 0 0 80px;
}

.rpm-contact-routes h2 {
  margin: 0 0 32px;
  color: #2f2f2f;
}

.rpm-route-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
}

.rpm-route-card {
  position: relative;
  background: #ffffff;
  border: 1px solid #deded8;
  padding: 38px;
  overflow: hidden;
}

.rpm-route-card:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 70px;
  height: 4px;
  background: #333333;
}

.rpm-route-card span {
  display: block;
  color: #888888;
  font-size: 13px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  margin-bottom: 16px;
}

.rpm-route-card h3 {
  margin: 0 0 18px;
  color: #2f2f2f;
  font-size: 24px;
}

.rpm-route-card p {
  margin: 0;
  color: #555555;
  font-size: 16px;
  line-height: 1.65;
}

.rpm-contact-bottom {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 36px;
  margin: 70px 0 40px;
}

.rpm-contact-cta {
  background: #f4f4f1;
  padding: 46px;
}

.rpm-contact-cta h2 {
  margin: 0 0 18px;
  color: #2f2f2f;
}

.rpm-contact-cta p {
  margin: 0;
  color: #555555;
  font-size: 17px;
  line-height: 1.65;
}

.rpm-contact-info {
  background: #333333;
  color: #ffffff;
  padding: 46px;
}

.rpm-contact-info h2 {
  margin: 0 0 24px;
  color: #ffffff;
}

.rpm-contact-info p {
  margin: 0 0 12px;
  color: rgba(255,255,255,0.86);
  font-size: 16px;
  line-height: 1.6;
}

.rpm-contact-info a {
  color: #ffffff!important;
  text-decoration: none;
}

@media screen and (max-width: 900px) {
  .rpm-contact-intro,
  .rpm-route-grid,
  .rpm-contact-bottom {
    grid-template-columns: 1fr;
  }

  .rpm-contact-hero {
    padding: 45px 28px;
  }

  .rpm-contact-coords,
  .rpm-route-card,
  .rpm-contact-cta,
  .rpm-contact-info {
    padding: 30px;
  }
}

.rpm-contact-mapbox {
    width: 100% !important;
    height: 520px !important;
    min-height: 520px !important;
    overflow: hidden !important;
    position: relative !important;
    background: #eeeeee !important;
    padding: 0 !important;
    margin: 0 !important;
    display: block !important;
}

.rpm-contact-mapbox p {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    height: 100% !important;
}

.rpm-contact-mapbox iframe {
    width: 100% !important;
    height: 520px !important;
    min-height: 520px !important;
    max-width: none !important;
    display: block !important;
    border: 0 !important;
}

.rpm-home-wow {
  width: 100%;
  clear: both;
  color: #333333;
}

.rpm-home-wow * {
  box-sizing: border-box;
}

.rpm-home-hero-wow {
  position: relative;
  margin: 40px 0 80px;
  min-height: 560px;
  background: #ffffff;
  overflow: hidden;
}

.rpm-home-hero-img {
  width: 68%;
  height: 560px;
  margin-left: 32%;
  overflow: hidden;
}

.rpm-home-hero-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: saturate(0.95);
}

.rpm-home-hero-card {
  position: absolute;
  left: 0;
  top: 70px;
  width: 48%;
  background: #ffffff;
  padding: 55px 52px;
  box-shadow: 0 28px 80px rgba(0,0,0,0.09);
  z-index: 2;
}

.rpm-home-kicker {
  display: block;
  font-size: 13px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #777777;
  margin-bottom: 20px;
}

.rpm-home-hero-card h1 {
  margin: 0 0 24px;
  color: #2f2f2f;
}

.rpm-home-hero-card p {
  margin: 0 0 18px;
  color: #555555;
  font-size: 17px;
  line-height: 1.65;
}

.rpm-home-section-title {
  margin: 0 0 36px;
}

.rpm-home-section-title h2 {
  margin: 0;
  color: #2f2f2f;
}

.rpm-home-section-title img {
  margin-top: 10px;
}

.rpm-home-duo {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 48px;
  margin: 0 0 85px;
}

.rpm-home-duo-card {
  position: relative;
  overflow: hidden;
  min-height: 520px;
  background: #eeeeea;
}

.rpm-home-duo-card img {
  width: 100%;
  height: 520px;
  object-fit: cover;
  display: block;
  transition: transform 0.9s ease;
}

.rpm-home-duo-card:hover img {
  transform: scale(1.045);
}

.rpm-home-duo-overlay {
  position: absolute;
  left: 28px;
  right: 28px;
  bottom: 28px;
  background: rgba(255,255,255,0.93);
  padding: 34px;
  z-index: 2;
}

.rpm-home-duo-overlay h2 {
  margin: 0 0 14px;
  color: #2f2f2f;
}

.rpm-home-duo-overlay p {
  margin: 0 0 24px;
  color: #555555;
  font-size: 16px;
  line-height: 1.55;
}

.rpm-home-duo-overlay a {
  font-size: 16px;
  color: #333333 !important;
  text-decoration: none;
}

.rpm-home-wide {
  position: relative;
  margin: 30px 0 50px;
  min-height: 520px;
  overflow: hidden;
}

.rpm-home-wide img {
  width: 100%;
  height: 520px;
  object-fit: cover;
  display: block;
}

.rpm-home-wide-text {
  position: absolute;
  left: 45px;
  bottom: 45px;
  max-width: 520px;
  background: rgba(255,255,255,0.92);
  padding: 38px 42px;
}

.rpm-home-wide-text h2 {
  margin: 0 0 14px;
  color: #2f2f2f;
}

.rpm-home-wide-text p {
  margin: 0;
  color: #555555;
  font-size: 16px;
  line-height: 1.6;
}

@media screen and (max-width: 900px) {
  .rpm-home-hero-wow {
    min-height: auto;
    margin-bottom: 60px;
  }

  .rpm-home-hero-img {
    width: 100%;
    height: 340px;
    margin-left: 0;
  }

  .rpm-home-hero-card {
    position: relative;
    width: auto;
    top: auto;
    left: auto;
    margin: -45px 22px 0;
    padding: 34px 28px;
  }

  .rpm-home-hero-card p {
    font-size: 16px;
  }

  .rpm-home-duo {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .rpm-home-duo-card,
  .rpm-home-duo-card img {
    min-height: 430px;
    height: 430px;
  }

  .rpm-home-duo-overlay {
    left: 18px;
    right: 18px;
    bottom: 18px;
    padding: 26px;
  }

  .rpm-home-wide,
  .rpm-home-wide img {
    min-height: 430px;
    height: 430px;
  }

  .rpm-home-wide-text {
    left: 18px;
    right: 18px;
    bottom: 18px;
    max-width: none;
    padding: 26px;
  }
}

.rpm-home-relax {
    margin: 90px 0;
    display: grid;
    grid-template-columns: 42% 58%;
    align-items: center;
    gap: 0;
    background: #f4f4f1;
    overflow: hidden;
}

.rpm-home-relax-img img{
    width:100%;
    height:520px;
    object-fit:cover;
    display:block;
}

.rpm-home-relax-text{
    padding:60px 8%;
}

.rpm-home-relax-kicker{
    display:block;
    font-size:13px;
    letter-spacing:2px;
    text-transform:uppercase;
    color:#777;
    margin-bottom:18px;
}

.rpm-home-relax-text h2{
    margin:0 0 22px;
    color:#2f2f2f;
}

.rpm-home-relax-text p{
    margin:0 0 18px;
    color:#555;
    font-size:17px;
    line-height:1.7;
}

@media(max-width:900px){

.rpm-home-relax{
    grid-template-columns:1fr;
}

.rpm-home-relax-img img{
    height:320px;
}

.rpm-home-relax-text{
    padding:35px 28px;
}

}

.rpm-apts-wow {
  width: 100%;
  clear: both;
  color: #333333;
}

.rpm-apts-wow * {
  box-sizing: border-box;
}

.rpm-apts-title {
  margin: 50px 0 36px;
}

.rpm-apts-title h2 {
  margin: 0;
  color: #2f2f2f;
}

.rpm-apts-title img {
  margin-top: 10px;
}

.rpm-apts-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 34px;
}

.rpm-apt-card {
  position: relative;
  min-height: 480px;
  overflow: hidden;
  background: #eeeeea;
}

.rpm-apt-card a {
  text-decoration: none;
}

.rpm-apt-card img {
  width: 100%;
  height: 480px;
  object-fit: cover;
  display: block;
  transition: transform 0.9s ease;
}

.rpm-apt-card:hover img {
  transform: scale(1.045);
}

.rpm-apt-content {
  position: absolute;
  left: 22px;
  right: 22px;
  bottom: 22px;
  background: rgba(255,255,255,0.94);
  padding: 28px;
  z-index: 2;
}

.rpm-apt-content h3 {
  margin: 0 0 10px;
  color: #2f2f2f;
  font-size: 32px;
  line-height: 1.1;
}

.rpm-apt-meta {
  margin: 0 0 20px;
  color: #666666;
  font-size: 14px;
  line-height: 1.4;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.rpm-apt-link {
  color: #333333 !important;
  font-size: 15px;
  text-decoration: none;
}

@media screen and (max-width: 1000px) {
  .rpm-apts-grid {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .rpm-apt-card {
    min-height: 430px;
  }

  .rpm-apt-card img {
    height: 430px;
  }

  .rpm-apt-content {
    left: 18px;
    right: 18px;
    bottom: 18px;
    padding: 24px;
  }

  .rpm-apt-content h3 {
    font-size: 28px;
  }
}

.rpm-luoghi-2026 {
  width: 100%;
  clear: both;
  color: #333333;
}

.rpm-luoghi-2026 * {
  box-sizing: border-box;
}

.rpm-luoghi-hero {
  margin: 40px 0 80px;
  text-align: center;
}

.rpm-luoghi-hero span {
  display: block;
  font-size: 13px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #777777;
  margin-bottom: 18px;
}

.rpm-luoghi-hero h1 {
  margin: 0 0 24px;
  color: #2f2f2f;
}

.rpm-luoghi-hero p {
  max-width: 780px;
  margin: 0 auto;
  color: #555555;
  font-size: 18px;
  line-height: 1.7;
}

.rpm-luogo-row {
  display: grid;
  grid-template-columns: 54% 46%;
  align-items: center;
  margin-bottom: 90px;
}

.rpm-luogo-row:nth-child(even) {
  grid-template-columns: 46% 54%;
}

.rpm-luogo-row:nth-child(even) .rpm-luogo-img {
  grid-column: 2;
}

.rpm-luogo-row:nth-child(even) .rpm-luogo-text {
  grid-column: 1;
  grid-row: 1;
  margin-left: 0;
  margin-right: -70px;
}

.rpm-luogo-img img {
  width: 100%;
  height: 520px;
  object-fit: cover;
  display: block;
}

.rpm-luogo-text {
  background: #ffffff;
  padding: 48px;
  margin-left: -70px;
  position: relative;
  z-index: 2;
  box-shadow: 0 28px 80px rgba(0,0,0,0.09);
}

.rpm-luogo-text span {
  display: block;
  color: #888888;
  font-size: 13px;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 18px;
}

.rpm-luogo-text h2 {
  margin: 0 0 18px;
  color: #2f2f2f;
}

.rpm-luogo-text p {
  margin: 0;
  color: #555555;
  font-size: 16px;
  line-height: 1.7;
}

@media screen and (max-width: 900px) {
  .rpm-luogo-row,
  .rpm-luogo-row:nth-child(even) {
    grid-template-columns: 1fr;
    margin-bottom: 55px;
  }

  .rpm-luogo-row:nth-child(even) .rpm-luogo-img,
  .rpm-luogo-row:nth-child(even) .rpm-luogo-text {
    grid-column: auto;
    grid-row: auto;
  }

  .rpm-luogo-img img {
    height: 330px;
  }

  .rpm-luogo-text,
  .rpm-luogo-row:nth-child(even) .rpm-luogo-text {
    margin: -35px 22px 0;
    padding: 32px 28px;
  }

  .rpm-luoghi-hero {
    margin-bottom: 55px;
  }
}

.rpm-other-apts{
    max-width:1400px;
    margin:80px auto;
    padding:0 20px;
}

.rpm-other-title{
    text-align:center;
    margin-bottom:35px;
}

.rpm-other-title p{
    max-width:700px;
    margin:15px auto 0;
}

.rpm-other-slider{
    display:flex;
    gap:26px;
    overflow-x:auto;
    padding:10px 5px 20px;
    scroll-snap-type:x proximity;
    -webkit-overflow-scrolling:touch;
}

.rpm-other-slider::-webkit-scrollbar{
    height:8px;
}

.rpm-other-slider::-webkit-scrollbar-thumb{
    background:#d6d6d6;
    border-radius:20px;
}

.rpm-other-slider .rpm-apt-card{
    min-width:330px;
    flex:0 0 330px;
    scroll-snap-align:start;
}

@media(max-width:768px){

.rpm-other-slider .rpm-apt-card{
    min-width:280px;
    flex:0 0 280px;
}

}

}