@font-face {
    font-family: 'Billabong';
    src: url('Fonts/billabong/Billabong.otf') format('opentype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Montserrat';
    src: url('Fonts/Montserrat/static/Montserrat-Regular.ttf') format('woff2');
    font-weight: 400;
    font-style: normal;
}

* {
	margin: 0;
	padding: 0;
	font-family: 'Montserrat', sans-serif;
	
	box-sizing: border-box;
}
html 
{

scroll-behavior: smooth;

}

body {
	background: #ffffff;
	color: #000000;
	
}

@keyframes fadeInUp {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

.custom-slideshow {
	position: relative;
	max-width: 800px;
	margin: auto;
	z-index: 1;
  }
  
  .custom-slideshow .custom-slide {
	display: none;
  }
  
  .custom-slideshow .custom-slide img {
	width: 100%;
	vertical-align: middle;
  }
  
  .custom-slideshow .custom-prev,
  .custom-slideshow .custom-next {
	cursor: pointer;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	padding: 16px;
	color: white;
	font-weight: bold;
	font-size: 18px;
	background-color: rgba(0, 0, 0, 0.5);
	user-select: none;
	z-index: 10;
  }
  
  .custom-slideshow .custom-prev {
	left: 0;
	border-radius: 0 3px 3px 0;
	transition: background-color 0.3s ease, color 0.3s ease;

  }
  .custom-slideshow .custom-prev:hover,
.custom-slideshow .custom-next:hover {
  background-color: rgba(255, 255, 255, 0.8);
  color: rgb(0, 0, 0);
}
  
  .custom-slideshow .custom-next {
	right: 0;
	border-radius: 3px 0 0 3px;
  }

      #slide-info {
      margin-top: 1em;
      font-family: sans-serif;
    }
    #slide-subtitle {
      font-size: 1em;
      color: #888888;
      margin-bottom: 0.2em;
    }
    #slide-description {
      font-size: 1.2em;
      font-weight: bold;
	  margin-right: auto;
	  margin-left: auto;
    }
	.slide-description p {
  line-height: 1.5;
  max-width: 600px;
  margin-bottom: 1em;
}



.background-image {
	z-index: 0;
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	animation: fadeInUp 1.5s both;
}

.z10 {
	position: relative;
	z-index: 1;

}

.header-text h1 span.natural-title {
    font-family: 'Billabong', 'Yellowtail', cursive;
    font-size: 1.1em;
    display: block;
    color: #ffffff;
    letter-spacing: 2px;
}

.header-text h1 span.life-energy {
	font-family: 'Montserrat';

    font-size: 0.95em;
    display: block;
    color: #b35fce;
    margin-top: 8px;
    outline: none;
    border-bottom: 1px dashed transparent;
    transition: border-color 0.3s;
    cursor: text;
}

#header1 {
	width: 100%;
	height: 100vh;
	background-size: cover;
	background-position: center;
}
#header2 {
	width: 100%;
	height: 100vh;
	background-size: cover;
	background-position: center;
}
#header3 {
	width: 100%;
	height: 100vh;
	background-size: cover;
	background-position: center;
}
.container {
	padding: 10px 10%;

}

nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: relative;
	flex-wrap: wrap;
}

.logo
{
	width: 140px;

}
nav ul li
{
	display: inline-block;
	list-style: none;
	margin: 10px 20px;

}
	nav ul li a
	
	{
		color: #b35fce;
		text-decoration: none;
		font-size: 18px;
		position: relative;

	}
		nav ul li a::after
		{
content: '';
width: 0;
height: 2px;
background: #ffffff;
position: absolute;
left: 0;
bottom: -12px;
transition: 0.3s;
		}
		nav ul li a:hover::after
		
		{
width: 100%;

		}
.header-text
{
	margin-top: 20%;
	font-size: 28px;

}
	.header-text h1 {
		font-size: 60px;
		margin-top: 20px;
		margin-left: 0px;
	}

	.header-text h1 span {
		color: #90108a;
	}

.header1-text {
	margin-top: 20%;
	font-size: 28px;
}
	.header1-text h1 {
		font-size: 60px;
		margin-top: 20px;
		margin-left: 0px;
	}

		.header1-text h1 span {
			color: #000000;
			
		}


.header2-text {
	margin-top: 20%;
	font-size: 28px;
}

	.header2-text h1 {
		font-size: 60px;
		margin-top: 20px;
		margin-left: 0px;
	}

		.header2-text h1 span {
			color: #5b5b5b;
			
		}

#about
{
	padding: 80px 0;
	color: #000000;



}
.row
{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;

}
.about-col-1
{
	flex-basis: 35%;
}
.about-col-1 img
{
	width: 100%;
	border-radius: 15px;

}
.about-col-2 
{
	//padding: 50px 0;
	flex-basis: 60%;

}
.subtitle

{
	font-size: 60px;
	font-weight: 600;
	color: #b35fce;

}
.tab-titles
{
display: flex;
margin: 20px 0 35px;

}
.tab-links
{
	margin-right: 50px;
	font-size: 18px; 
	font-weight: 500;
	cursor: pointer;
	position: relative;
}

	.tab-links::after
	{
		content: '';
		width: 0;
		height: 2px;
		background: #b35fce; 
		position: absolute;
		left: 0;
		bottom: -12px;
		transition: 0.3s;
	}
.tab-links.active-link::after 
{
	width: 65%;

}
.tab-contents ul li
{
	list-style: none;
	margin: 10px 0;
}
.tab-contents ul li span {
		color: #343434;

		font-size: 14px;
	}
.tab-contents
{
	display: none;

}
.tab-contents.active-tab {
		display: block; 

	}

/*/--------   services*/

#services
{
	padding: 30px 0; 

}

.services-list
{
	display: grid; 
	grid-template-columns: repeat(auto-fit, minmax(250px,1fr));
	grid-gap: 40px;
	margin-top: 30px;

}
	.services-list div {
	    background: #b35fce;
		padding: 40px;
		font-size: 12px;
		font-weight: 300;
		border-radius: 10px;
		transition: background 0.5s, transform 0.5s;
	}
	.services-list div i
	{
		font-size: 28px;
		margin-bottom: 30px;
		

	}
		.services-list div h2
		{
			font-size: 25px;
			font-weight: 500;
			margin-bottom: 30px;
		}
		.services-list div a
		{
			text-decoration:none; 
			color: #ffffff;
			font-size: 12px;
			margin-top: 20px;
			display: inline-block;

		}
		.services-list div:hover {

		background: #9403d2;
		color:#ffffff;
			transform: translateY(-15px);
		}
		.services-list div img 
		{

			transform: scale(1.3);
		}
		/*/--------   portfolio ---- work*/
		#portfolio {
			padding: 50px 0;
		}


		.massage-card,
.massage-card * {
    box-sizing: border-box;
}

/* BLOCCA MARGINI IMPAZZITI */
.massage-card p,
.massage-card div {
    margin-top: 0;
    margin-bottom: 8px;
}

/* EVITA SPACING VERTICALE ECCESSIVO */
.massage-card {
    line-height: 1.45;
}

/* BR NON DEVE CREARE SPAZIO VISIVO */
.massage-card br {
    line-height: 0;
}

.work-list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px,1fr));
	grid-gap: 40px;
	margin-top: 50px;
}
.work
{
	border-radius: 10px;
	position: relative;
	overflow: hidden;
	
}
	.work img
	{
		width: 100%;
		border-radius: 10px;
		display: block;
		transition: transform 0.5s;
	}
.layer
{
	width: 100%;
	height: 0%;
	background: linear-gradient(rgba(0,0,0,0.6), #5b5b5b);
	border-radius: 10px;
	position: absolute;
	left: 0;
	bottom: 0;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	padding: 0 40px;
	text-align:center;
	font-size: 14px;
	transition: height 0.3s;
}
.layer h3
{
	font-weight: 500;
	margin-bottom: 20px;


}
.layer a
{
	margin-top: 20px;
	color: #ff0000;
	text-decoration: none;
	font-size: 18px;
	line-height: 60px;
	background: #000000;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	opacity: 85%;
	text-align: center;
}
.work:hover img
{
	transform: scale(1.3);

}

.work:hover .layer 
{
	height: 100%;

}
/*/--------   Buttons*/

.btn 
{
display: block;
margin: 50px auto;
width: fit-content;
border: none;
//border: 1px solid #b6ff00;
padding: 14px 50px;
border-radius: 6px;
text-decoration:none;
color: #9403d2;
transition: background 0.3s;
}



	.btn:hover
	{
		
		background: none;
		text-decoration:underline;
	}

	.btn.btn1 {
		display: outline-block;
		background: none;
		color: #5d33b7;
		border: none;
		margin-top: -20px;
		transition: transform 0.5s;
	}

		.btn.btn1:hover {
			display: inline-block;
			transform: translateY(-1px);
		}

	.btn.btn2 {
		display: inline-block;
		background: none;
		border: none;
		transition: transform 0.5s;
		margin-top: 2px;
		margin-left: -35px;
		color:#750258;
	}

		.btn.btn2:hover {
			display: inline-block;
			transform: translateY(-1px);
			background: none;
			border-radius: 60px;
		}
.form .btn2 {
	padding: 14px 60px;
	font-size: 18px;
	margin-top: 5px;
	cursor: pointer;

}

.btnphone 
{
	color: #000000;
border: none;
//border: 1px solid #b6ff00;

border-radius: 6px;
text-decoration:none;
transition: background 0.3s;


}
.btnphone:hover
{
	color: #c205a3;
	background: none;
	text-decoration:underline;
}


/*/-------- Contact ----------*/
.subtitle.subtitle3 
{
	font-size: 30px;
	color: #b35fce;

}
.contact-left 
{
	font-size: 14px;
	flex-basis: 35%;

}
.contact-left p
{

	margin-top: 35px;
}
	.contact-left p i {
		color: #000000;
		margin-right: 20px;
		font-size: 14px;
	}
.contact-right
{

	flex-basis: 60%;
	
}
.contact-right form
{
	width: 100%;

}
form input, form textarea

{
	width: 100%;
	border: 0;
	outline: none;
	background: #1e1e1e;
	padding: 15px;
	margin: 10px 0;
	color: #ffffff;
	font-size: 14px;
	border-radius: 6px;

}


.social-icons
{
	margin-top: 30px;
	margin-bottom: 20px;

}
.social-icons a {
	text-decoration: none;
	font-size: 20px;
	margin-right: 15px;
	color:#464646;
	display: inline-block;
	transition: transform 0.5s;
}
	.social-icons a:hover
	{
		color: #d900c3;
		transform: translateY(-5px);

		
	}

.copyright {
	width: 100%;
	text-align: center;
	padding: 25px 0;
	background: #fafafa;
	font-weight:300;
	margin-top: 20px;
}
.copyright i 
{
	padding-right:5px;
	color: #b35fce;
;


}

.copyright .dati-contatto {
    font-size: 0.9rem;       /* Leggermente più piccolo del testo base */
    color: #333333;          /* Grigio scuro, quasi nero */
    font-weight: 500;        /* Leggermente in grassetto per leggibilità */
    display: block;          /* Assicura che vada a capo correttamente */
}

/* Stile specifico per il disclaimer legale marchi */
.copyright .disclaimer-marchi {
    font-size: 0.75rem;      /* Molto piccolo (circa 10-12px a seconda del base) */
    color: #888888;          /* Grigio medio/chiaro per non distrarre */
    font-weight: 400;        /* Peso normale */
    display: block;
    margin-top: 4px;         /* Un piccolo spazio extra di separazione opzionale */
    line-height: 1.4;        /* Migliore leggibilità anche se piccolo */
}



footer {
	position: relative;
	overflow: visible;
	text-align: center;
	
	}

.footer h2 
{
	margin-bottom: 30px;
}
	
	.scrolling-container {
	width: 100%;
	overflow-x: hidden;
	  overflow-y: hidden;
	position: relative;
	z-index: ;
	margin-bottom:30px;
	}
	
	.scrolling-track {
	display: flex;
	animation: scrollLeft 20s linear infinite;
	width: fit-content;
	}
	
	.image-item {
	position: relative;
	margin: 0 40px;
	flex-shrink: 0;
	z-index: 1;
	}
	
	.image-item img {
	height: 100px;
	width: auto;
	transition: transform 0.3s;
	display: block;
	}
	
	/* Hover zoom */
	.image-item:hover img {
	transform: scale(1.1);
	}
	
	
  
	#custom-tooltip {
	position: fixed;
	background-color: #333;
	color: rgb(142, 9, 9);
	padding: 6px 10px;
	font-size: 13px;
	border-radius: 6px;
	white-space: nowrap;
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.2s ease;
	z-index: 9999;
	}
	
	#custom-tooltip::after {
	content: "";
	position: absolute;
	bottom: -6px;
	left: 50%;
	transform: translateX(-50%);
	border-width: 6px;
	border-style: solid;
	border-color: #333 transparent transparent transparent;
	}
	
	/* Animazione loop continuo */
	@keyframes scrollLeft {
	0% {
	  transform: translateX(100%);
	}
	100% {
	  transform: translateX(-100%);
	}
	}



/*/--------   Css for small screens*/

nav .fa-solid 
{

	display:none;

}
@media only screen and (max-width: 700px)
{



	#header {

	}
	.header-text
	{
		margin-top: 100%;
		font-size: 16px;
	}
	.header-text h1 
	{
		font-size: 28px;
	}
	#header1 {
	}

	.header1-text {
		margin-top: 100%;
		font-size: 16px;
	}

		.header1-text h1 {
			font-size: 28px;
		}
	#header2 
	{

	}

	.header2-text {
		margin-top: 100%;
		font-size: 16px;
	}

		.header2-text h1 {
			font-size: 28px;
		}
	nav .fa-solid {
	color: #b35fce;
		display: block;
		font-size: 25px;
		margin-top: 40px;

	}
	nav ul 
	{
	background: #ac98f7;
	opacity: 100%;
	position: fixed;
	top: 0;
	right: -200px;
	width: 150px;
	height: 100vh;
	padding-top: 250px;
	z-index: 2;
	transition: right 0.5s;
	}
	nav ul li 
	{

	display: block;
	margin: 35px;

	}
		nav ul .fa-solid 
		{

		position: absolute;
		top: 25px;
		left: 25px;
		cursor: pointer;
		
	
		}
		.subtitle 
		{
			font-size: 28px;
			
		}
		.about-col-1, .about-col-2
		{
			flex-basis: 100%;
			
		}
	.about-col-1 
	{
		margin-bottom: 30px;



	}
	.about-col-2 
	{
		font-size: 14px;


	} 
	.tab-links 
	{
		font-size: 16px;
		margin-right: 20px;

	}
	.contact-left, .contact-right 
	{
		flex-basis: 100%;


	}




	.copyright 
	{

		font-size: 10px;

	}


	    .massage-card {
        line-height: 1.35;
    }

    .massage-card p,
    .massage-card div {
        margin-bottom: 6px;
    }

    .copyright .disclaimer-marchi {
        font-size: 0.65rem;  /* Ancora più piccolo su mobile se necessario */
    
}

}

/*/-------- Close Css for small screens*/
