
.booking-float{

    display:none;

}

/* ======================================================
   1. VARIABILI GLOBALI
====================================================== */

:root{

--navy:#1E3558;
--navy-light:#567AA5;

--gold:#C8A86B;

--cream:#F8F5EF;
--cream-dark:#EEE6D8;

--card:#F7F4EE;

--white:#FFFFFF;

--text:#2F2F2F;
 --green:#214B4E;
}



/* ======================================================
   2. RESET CSS
====================================================== */

*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}
section{

scroll-margin-top:120px;

}

body{

font-family:'Inter',sans-serif;

color:var(--text);

background:white;

line-height:1.7;

}

.container{

width:90%;
max-width:1300px;
margin:auto;

}



/* ======================================================
   3. HEADER & NAVBAR
====================================================== */

header{
position:fixed;
top:0;
left:0;
width:100%;
z-index:1000;
background:rgba(255,255,255,.08);
backdrop-filter:blur(12px);
transition:all .4s ease;
}

header.scrolled{
background:white;
box-shadow:0 5px 20px rgba(0,0,0,.08);
}

.nav-container{

    display:grid;

    grid-template-columns:1fr auto 1fr;

    align-items:center;

    padding:5px 0;

}
 /* LOGOOOOOOOOOOOOOO */
.logo img{
height:75px;
width:auto;
}
.logo{

    justify-self:start;

}

.desktop-nav{

    justify-self:center;

}

.nav-actions{

    justify-self:end;

    display:flex;

    align-items:center;

    gap:10px;

}

nav ul{

 display:flex;

    align-items:center;

    list-style:none;

    gap:35px;

    margin:0;

    padding:0;
}

nav a{
position:relative;

text-decoration:none;
color:white;
font-weight:500;
transition:.3s;
display:inline-block;
}

header.scrolled nav a{
color:var(--navy);
}
header.scrolled nav a:hover{

color:#C8A86B;

}
nav a::after{

content:"";

position:absolute;

left:0;
bottom:-6px;

width:0%;

height:2px;

background:#C8A86B;

transition:.3s;

}

nav a:hover{


color:#E4C892;

text-shadow:0 0 12px rgba(228,200,146,.6);

transform:translateY(-4px);

}

nav a:hover::after{

width:100%;
}




.btn-nav{

padding:12px 25px;

background:var(--gold);

color:white;

text-decoration:none;

border-radius:50px;

transition:.35s ease;

}

.btn-nav:hover{

background:#214B4E;

color:white;



box-shadow:
0 10px 25px rgba(33,75,78,.25);

}



/* ======================================================
   4. HERO SECTION
====================================================== */
.hero-description span{

    display:inline;

}
.hero{

height:100vh;

background:url('../images/agropolibackground.png')
center center/cover no-repeat;

background-size:cover;

background-position:center 78%;

background-repeat:no-repeat;

position:relative;

display:flex;

justify-content:center;

align-items:center;

text-align:center;

 display:flex;
}

.hero-overlay{

position:absolute;


inset:0;

background:linear-gradient(
rgba(30,53,88,.65),
rgba(30,53,88,.45)
);

}

.hero-content{

top:30px;

position:relative;

z-index:10;

color:white;
	
  align-items:center;
  
    width:100%;
    text-align:center;

}

.hero-title-wrapper{

position:relative;

display:inline-block;

}

.hero-title{
left:10px;	
font-family:'Playfair Display',serif;
	
position:relative;

z-index:2;

font-size:7rem;

letter-spacing:40px;

font-weight:700;

color:white;

text-shadow:0 10px 30px rgba(0,0,0,.35);

animation:luxuryReveal 1.8s ease forwards;
margin:0 auto;
 text-align:center;
}

.cloud{

position:absolute;

z-index:3;

opacity:.60;

pointer-events:none;

filter:blur(.4px);

}

.cloud1{

width:170px;

top:35px;

left:-110px;

animation:cloudFloat1 18s ease-in-out infinite;

}
.cloud2{

width:230px;

top:85px;

left:430px;

animation:cloudFloat2 24s ease-in-out infinite;

}

.cloud3{

width:150px;

top:45px;

right:-90px;

}


.hero-subtitle{

font-family:'Cormorant Garamond',sans-serif;

font-size:1.4rem;

font-weight:500;

letter-spacing:3px;

text-transform:uppercase;

color:#E4C892;

margin-top:-5px;

margin-bottom:10px;

text-shadow:none;
/*0 4px 15px rgba(0,0,0,.75);*/

animation:luxuryReveal 1.5s ease forwards;

animation-delay:.2s;

opacity:0;
}

.hero-description{

max-width:650px;

margin:-5px auto 105px;

font-size:1.15rem;

font-weight:400;

line-height:1.8;

color:#FFFFFF;

text-shadow:none;
/* 0 3px 12px rgba(0,0,0,.8); */ 

opacity:0;

animation:luxuryReveal 1.5s ease forwards;

animation-delay:1.2s;




}




.hero p{

max-width:700px;

margin:auto;

margin-bottom:40px;

font-size:1.1rem;

}

.hero-buttons{

display:flex;
justify-content:center;
gap:20px;
opacity:0;

animation:luxuryReveal 1.5s ease forwards;

animation-delay:1.6s;

margin-top:80px;
}





/* ======================================================
   5. ANIMAZIONI HERO
====================================================== */

@keyframes luxuryReveal{

from{

opacity:0;

transform:translateY(40px);

}

to{

opacity:1;

transform:translateY(0);

}

}
.btn-primary,
.btn-secondary{

padding:15px 35px;

text-decoration:none;

border-radius:50px;

font-weight:600;
transition:.35s ease;

}
.btn-primary:hover,.btn-secondary:hover{
	
	background:#214B4E;

	color:white;
	



	box-shadow:
	0 10px 25px rgba(33,75,78,.25);
	
	transform:translateY(-4px);
	
}

.btn-primary{

background:var(--gold);

color:white;

}

.btn-secondary{

border:2px solid white;

color:white;

}

.scroll-down{

margin-top:60px;

font-size:2rem;

animation:bounce 2s infinite;

margin-top:100px;

}

@keyframes bounce{

50%{
transform:translateY(10px);
}

}



/* ======================================================
   6. DIVISORI E TITOLI
====================================================== */

.elegant-divider{

display:flex;

align-items:center;

justify-content:center;

gap:15px;

margin:25px 0 70px;

opacity:0;

animation:fadeUp 1s ease forwards;

animation-delay:0.5s;

}

.elegant-divider span{

width:120px;

height:1px;

background:#C8A86B;

}

.diamond{

width:10px;

height:10px;

background:#C8A86B;

transform:rotate(45deg);

}



/* ======================================================
   7. INTRO
====================================================== */

.intro{

padding:100px 0 70px;

background:var(--cream);

text-align:center;

}

.intro h2{

font-family:'Playfair Display',serif;

font-size:3rem;

color:var(--navy);

}

.divider{

width:80px;
height:3px;

background:var(--gold);

margin:25px auto;

}



/* ======================================================
   8. CAMERE
====================================================== */

.rooms{
padding-top:40px;
padding-bottom:0px;

}

.section-title{

text-align:center;

font-size:3rem;

margin-bottom:30px;

font-family:'Playfair Display',serif;

color:var(--navy);

}

.rooms-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:40px;

}

.room-card{

background:var(--card);

overflow:hidden;

border-radius:20px;

border:1px solid #E8DDCC;

box-shadow:
0 10px 30px rgba(0,0,0,.05);

transition:.4s;

}

.room-card:hover{

transform:translateY(-10px);

box-shadow:
0 25px 50px rgba(0,0,0,.12);

}
.room-card img{

width:100%;
height:420px;

object-fit:cover;

}

.room-content{

padding:35px;

}

.room-content h3{

font-size:2rem;

margin-bottom:15px;

color:var(--navy);

}

.room-content a{

display:inline-block;

margin-top:20px;

color:var(--navy);

font-weight:600;

text-decoration:none;

}

.nature{

border-top:5px solid #A9B99A;

}

.sea{

border-top:5px solid #567AA5;

}

.chalet{

border-top:5px solid #C8A86B;

}




/* ======================================================
   9. SERVIZI
====================================================== */

.service{

width:350px;

background:white;

padding:30px;

border:1px solid #E8DDCC;

box-shadow:0 10px 25px rgba(0,0,0,.05);

transition:.3s;

text-align:center;

}
.service:hover{

transform:translateY(-8px);

}

.services-layout{

display:flex;

justify-content:center;

align-items:center;

gap:30px;

}

.service-side{

width:260px;

padding:30px;

background:white;

border:1px solid #E8DDCC;

box-shadow:0 10px 25px rgba(0,0,0,.05);

text-align:center;

}

.service-map{

width:700px;

}

.service-map iframe{

width:100%;

height:420px;

border:none;

}

.service-map{

max-width:1000px;

margin:40px auto;

box-shadow:
0 20px 50px rgba(0,0,0,.10);

}






/* ======================================================
   11. CTA
====================================================== */

.cta{

padding:120px 20px;

background:var(--navy);

text-align:center;

color:white;

}

.cta h2{

font-size:3rem;

margin-bottom:20px;

}

.btn-cta{

display:inline-block;

margin-top:30px;

padding:15px 40px;

background:var(--gold);

color:white;

border-radius:50px;

text-decoration:none;

}



.map-card iframe{

width:100%;

height:350px;

border:none;

border-radius:0;

}


/* ======================================================
   13. TERRAZZO
====================================================== */

/* SEZIONE TERRAZZO */

.services-terrace{

position:relative;

padding-top:100px;
padding-bottom:120px;

background:url("../images/terrazzo.jpeg") center center/cover no-repeat;

min-height:800px;

display:flex;

align-items:center;

justify-content:center;

}

.terrace-overlay{

position:absolute;

inset:0;

background:rgba(20,35,60,.55);

}

.terrace-content{

position:relative;

z-index:2;

width:90%;

max-width:1400px;

text-align:center;

}

.terrace-title{

font-family:'Playfair Display', serif;

font-size:4rem;

color:white;

margin-bottom:20px;

opacity:0;

animation:fadeUp .8s ease forwards;

}
.terrace-divider{

width:120px;

height:2px;

background:var(--gold);

margin:0 auto 80px;

}

.terrace-cards{

display:flex;

justify-content:center;

gap:40px;

flex-wrap:wrap;

opacity:0;

animation:fadeUp .8s ease forwards 0.8s;

}


.terrace-card{

width:320px;

padding:40px 30px;

background:var(--card);

backdrop-filter:blur(10px);

border-radius:20px;

box-shadow:
0 20px 40px rgba(0,0,0,.12);

text-align:center;

transition:.4s;

}
.terrace-card:hover{

transform:translateY(-10px);

box-shadow:
0 30px 60px rgba(0,0,0,.18);

}
.icon{

font-size:3rem;

color:#C8A86B;

margin-bottom:20px;

}
.terrace-card h3{

font-family:'Playfair Display',serif;

font-size:1.8rem;

color:#1E3558;

margin-bottom:18px;

}

.terrace-card h3::after{

content:"";

display:block;

width:60px;

height:2px;

background:#C8A86B;

margin:15px auto 0 auto;

}

.terrace-card p{

margin-top:20px;

color:#555;

line-height:1.8;

font-size:.95rem;

}

/*PER ANCORE CLICK SULL NAVBAR*/

#servizi{
scroll-margin-top:10px;
}

#camere{
scroll-margin-top:60px;
}

#agropoli{
	
scroll-margin-top:20px;
}







/* ======================================================
   14. CAMERE PREMIUM SHOWCASE
====================================================== */


.rooms-showcase{

display:flex;

width:100%;

height:700px;

overflow:hidden;

margin-top:40px;

}

.room-panel{

position:relative;

flex:1;

overflow:hidden;

cursor:pointer;

transition:.7s ease;

}

.room-panel:hover{

flex:2;

}

.room-panel img{

width:100%;

height:100%;

object-fit:cover;

transition:1s ease;

}

.room-panel:hover img{

transform:scale(1.08);

}

.room-overlay{

position:absolute;

inset:0;

display:flex;

flex-direction:column;

justify-content:flex-end;

padding:50px;

background:linear-gradient(
transparent,
rgba(0,0,0,.85)
);

color:white;

}

.room-overlay h3{

font-family:'Playfair Display',serif;

font-size:3rem;

margin-bottom:15px;

}

.room-overlay p{

max-width:400px;

line-height:1.8;

margin-bottom:25px;

}

.room-overlay a{

display:inline-block;

padding:10px 20px;

font-size:.9rem;



background:transparent;

color:var(--gold);

font-weight:600;

text-decoration:none;

transition:.35s ease;

width:fit-content;

}

.room-overlay a:hover{

background:#214B4E;

color:white;

border-radius:50px;

transform:translateY(-4px);

box-shadow:
0 10px 25px rgba(33,75,78,.25);

}

.room-title{

font-family:'Playfair Display',serif;

font-size:4rem;

font-weight:700;

-webkit-background-clip:text;
background-clip:text;

-webkit-text-fill-color:transparent;

color:transparent;

text-shadow:
0 5px 15px rgba(0,0,0,.35);

}

.nature-text{

background-image:url("../images/nature-texture.jpg");

background-size:cover;

background-position:center;

}

.sea-text{

background-image:url("../images/sea-texture.jpg");

background-size:cover;

background-position:center;

}

.chalet-text{

background-image:url("../images/chalet-texture.jpg");

background-size:cover;

background-position:center;

}


.discover-overlay{

    position:absolute;

    inset:0;

    display:flex;

    justify-content:center;

    align-items:center;

    opacity:0;

    transition:.4s;

}


.discover-overlay span{

    color: white ;

    font-size:1.5rem;

    letter-spacing:4px;

    font-family:'Playfair Display',serif;
    
     font-weight:600;

}

.discover-overlay span::after{

    content:"";

    display:block;

    width:60px;

    height:2px;

    background:var(--gold);

    margin:12px auto 0;

}

.room-panel:hover .discover-overlay{

    opacity:1;
    transition-delay:.88s;

}

.room-panel:hover img{

    transform:scale(1.08);

    filter:blur(3px) brightness(.70);
    
    transition-delay:.74s;

}


/* _______________________________________________________

AGROPOLI CARDS 
___________________________________________________________*/

.agropoli{

    padding:120px 0;
    background:#f8f8f8;

}

.agropoli-grid{

    display:grid;
    grid-template-columns:1fr 1fr;
    gap:100px;
    align-items:center;

}

.agropoli-grid p{
	
	font-family: "Poppins", sans-serif;
    font-size: 18px;
    font-weight: 400;
    color: #5F6368;

    line-height: 1.9;
    text-align: justify;
	
	
	
}


.agropoli-grid h2{
	
    font-family: "Playfair Display", serif;
    font-size: 48px;
    font-weight: 600;
    color: #0F2F57;
	margin-bottom:10px;
   
    line-height: 1.2;
    
	
	
	
}



.agropoli-card{

    position:relative;
    height:500px;
     width:100%;
         background:#F7F4EE;
    overflow:visible;
    border-radius:22px;
    box-shadow:0 20px 45px rgba(0,0,0,.18);

}
.agropoli-overlay-shadow{

    
    position:absolute;

    top:30px;
    right:-20px;

    width:260px;
    height:110px;

    background:#EDE3D3;

    border-radius:18px;

    z-index:3;

}

.agropoli-card img{

  
    width:100%;
    height:100%;

    object-fit:cover;

    border-radius:24px;

    transition:
    opacity .7s ease,
    transform 1.2s ease;
}

.agropoli-overlay{
 	
 	position:absolute;

    top:18px;
    right:-35px;

    width:260px;
    min-height:110px;

    display:flex;
    align-items:center;
    justify-content:center;

    padding:20px 25px;

    background:rgba(248,245,239,.82);

    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);

    border:1px solid rgba(255,255,255,.45);

    border-radius:18px;

    box-shadow:
        0 12px 30px rgba(0,0,0,.15);

    z-index:4;
}


.agropoli-overlay h3{
	
     margin:0;

    font-family:'Playfair Display', serif;

    font-size:30px;

    font-weight:600;

    line-height:1.2;

    color:#1E3558;

    text-align:center;

}

.agropoli-arrow{

    position:absolute;

    top:50%;

    transform:translateY(-50%);

    width:48px;
    height:48px;

    border:none;

    border-radius:50%;

    background:rgba(255,255,255,.18);

    backdrop-filter:blur(10px);

    color:white;

    font-size:18px;

    cursor:pointer;

    transition:.35s;

    opacity:0;

    z-index:20;

}

.agropoli-card:hover .agropoli-arrow{

    opacity:1;

}

.agropoli-arrow:hover{

    background:rgba(248,245,239,.95);

    color:#1E3558;

    transform:translateY(-50%) scale(1.08);

}

.left{

    left:20px;

}

.right{

    right:20px;

}



/* ======================================================
   16. ANIMAZIONI FINALI
====================================================== */

@keyframes fadeUp{

from{
opacity:0;
transform:translateY(40px);
}

to{
opacity:1;
transform:translateY(0);
}

}


/* ========================= */
/*      MENU MOBILE          */
/* ========================= */

.mobile-dropdown{

    display:none;

}

.menu-toggle{

    display:none;

}

.mobile-menu{
	display:none;
	}
}