*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{

background:#000;
color:#fff;
font-family:Poppins,sans-serif;

}

.hero{
    min-height:100vh;
    background:url("../img/hero.jpg") no-repeat center center;
    background-size:cover;
    position:relative;
    display:flex;
    justify-content:center;
    align-items:flex-start;
    text-align:center;
    overflow:hidden;
}

.cta-mobile{
	display:block;
	background:#044dc5;
	color:#000;
	padding:18px;
	border-radius:50px;
	text-align:center;
	font-weight:700;
	font-size:18px;
	margin:25px auto;
	max-width:350px;
}


.overlay{
    background:rgba(0,0,0,.35);
    width:100%;
    min-height:100vh;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    padding:3vh 20px 30px; /* 10% dell'altezza dello schermo */
}

.overlay img{
    width:340px;
    max-width:90%;
    height:auto;
    margin-bottom:25px;
    display:block;
}

.video-container{
    width:100%;
    display:flex;
    justify-content:center;
    align-items:center;
    margin:30px 0;
}

.video-container video{
    width:450px;
    max-width:100%;
    height:auto;
    border-radius:12px;
    box-shadow:0 8px 25px rgba(0,0,0,.45);
}

.hero h1{

font-size:60px;

font-family:Cinzel,serif;

margin-bottom:20px;

}

.subtitle{

font-size:22px;

max-width:800px;

margin-bottom:40px;

}

.locations-seo{
    background:#050505;
    padding:40px 10%;
}

.locations-seo a{
    text-decoration:none;
    color:white;
}


.locations-seo .event-grid div{

    background:#111;

    padding:30px;

    border-radius:10px;

    font-size:22px;

    color:#fff;

    border:1px solid rgba(212,175,55,.25);

    transition:.4s;

}


.locations-seo .event-grid div:hover{

    transform:translateY(-10px);

    background:#181818;

    color:#d4af37;

    border-color:#d4af37;

}

.btn{

background:#ffffff;

color:#000;

padding:15px 40px;

border-radius:40px;

text-decoration:none;

font-weight:bold;

transition:.3s;

}

.btn:hover{

background:#d4af37;

}

section{

padding:40px 10%;

text-align:center;

}

h2{

font-size:40px;

margin-bottom:30px;

font-family:Cinzel;

}

.locations .cards{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

gap:30px;

margin-top:40px;

}

.card{

background:#111;

border-radius:12px;

overflow:hidden;

transition:.4s;
	
	 display: flex;
  justify-content: center; /* Centra l'immagine orizzontalmente */
  align-items: center;     /* Centra l'immagine verticalmente */
  height: 300px;           /* Altezza del box (opzionale) */

}

.card:hover{

transform:translateY(-10px);

}

.card img{

width:60%;

display:block;

}

.card h3{

padding:20px;

}

.gallery{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(300px,1fr));

gap:20px;

}

.gallery img{

width:100%;

border-radius:10px;

}

.package{

background:#090909;

}

.price{

font-size:60px;

font-weight:bold;

color:#FFD700;

margin:20px;

}

.package ul{

max-width:700px;

margin:auto;

list-style:none;

}

.package li{

padding:12px;

border-bottom:1px solid #222;

}

.event-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(220px,1fr));

gap:20px;

margin-top:30px;

}

.event-grid div{

background:#111;

padding:30px;

border-radius:10px;

font-size:22px;

}

.contact{

background:#050505;

}

.phone{

display:block;

margin:15px;

font-size:28px;

text-decoration:none;

color:white;

}


footer{

padding:30px;

background:#000;

text-align:center;

color:#999;

}


.google-reviews-section{

padding:60px 20px;
background:#000;

}


.reviews-container{

max-width:1100px;
margin:auto;

}


.google-reviews-section h2{

text-align:center;
font-size:32px;
margin-bottom:20px;

}


.google-reviews-section header p{

text-align:center;
max-width:850px;
margin:0 auto 40px;
line-height:1.7;

}



.rating-box{

text-align:center;
background:#3c3c3c;
padding:35px;
border-radius:15px;
box-shadow:0 8px 25px rgba(0,0,0,.10);
margin-bottom:40px;

}


.stars,
.review-stars{

color:#fbbc04;
font-size:32px;
letter-spacing:3px;

}


.rating-number{

font-size:30px;
margin:10px 0;

}



.google-button{

display:inline-block;
margin-top:20px;
padding:15px 30px;
background:#4285f4;
color:white;
border-radius:30px;
text-decoration:none;
font-weight:bold;

}



.reviews-grid{

display:grid;
grid-template-columns:repeat(4,1fr);
gap:25px;

}



.review-card{

background:#3c3c3c;
padding:25px;
border-radius:15px;
box-shadow:0 5px 18px rgba(0,0,0,.08);

}



.review-card h3{

font-size:20px;

}



.review-card p{

line-height:1.6;

}

.faq-section{

padding:70px 20px;
background:#000;

}


.faq-container{

max-width:1000px;
margin:auto;

}


.faq-container h2{

text-align:center;
font-size:34px;
margin-bottom:15px;

}


.faq-intro{

text-align:center;
max-width:800px;
margin:0 auto 40px;
line-height:1.7;

}



.faq-item{

background:#3c3c3c;
border-radius:15px;
margin-bottom:20px;
padding:25px;

border-left:5px solid #d4af37;

}



.faq-item h3{

font-size:21px;
margin:0 0 15px;

color:#fff;

}



.faq-answer p{

line-height:1.7;
margin:0;

}

/* ==========================
   FOOTER SEO PREMIUM
========================== */


.seo-footer{

background:
linear-gradient(
135deg,
#090909,
#171717
);

color:#fff;

padding:70px 20px 0;

font-family:
Arial, Helvetica, sans-serif;

}



.footer-container{

max-width:1400px;

margin:auto;

display:grid;

grid-template-columns:
1.5fr repeat(4,1fr);

gap:40px;

}




.footer-logo{

width:230px;

margin-bottom:20px;

}



.footer-brand p{

color:#ccc;

line-height:1.7;

font-size:15px;

}




.footer-button{

display:inline-block;

margin-top:20px;

background:
linear-gradient(
45deg,
#ff0055,
#ff9900
);

color:white;

padding:14px 30px;

border-radius:40px;

text-decoration:none;

font-weight:bold;

transition:.3s;

}



.footer-button:hover{

transform:translateY(-4px);

box-shadow:
0 10px 25px rgba(255,0,80,.4);

}





.footer-column h3{

font-size:18px;

color:#ffcc00;

margin-bottom:20px;

border-bottom:
2px solid #ffcc00;

padding-bottom:10px;

}



.footer-column ul{

list-style:none;

padding:0;

margin:0;

}



.footer-column li{

margin-bottom:10px;

}



.footer-column a{

color:#ddd;

text-decoration:none;

font-size:14px;

transition:.3s;

}



.footer-column a:hover{

color:#ffcc00;

padding-left:8px;

}





.footer-contact p{

color:#ddd;

}





.social{

display:flex;

gap:10px;

margin-top:20px;

}



.social a{

background:#222;

padding:8px 15px;

border-radius:20px;

}




.footer-bottom{

margin-top:50px;

padding:25px;

text-align:center;

border-top:
1px solid rgba(255,255,255,.15);

color:#aaa;

font-size:14px;

}



.footer-bottom a{

color:#ffcc00;

}





/* MOBILE */

@media(max-width:992px){


.footer-container{

grid-template-columns:
repeat(2,1fr);

}



}



@media(max-width:600px){


.footer-container{

grid-template-columns:1fr;

}


.seo-footer{

padding-top:40px;

}


.footer-column h3{

cursor:pointer;

}


}


@media(max-width:600px){

.faq-container h2{

font-size:26px;

}


.faq-item h3{

font-size:18px;

}


}


@media(max-width:900px){

.reviews-grid{

grid-template-columns:repeat(2,1fr);

}

}



@media(max-width:600px){

.google-reviews-section h2{

font-size:25px;

}


.reviews-grid{

grid-template-columns:1fr;

}

}

@media (max-width:768px){

    .overlay{
        padding-top:8vh;
    }

    .overlay img{
        width:240px;
    }

    .subtitle{
        font-size:18px;
        margin-bottom:25px;
    }

    h2{
        font-size:28px;
    }

    .video-container video{
        width:100%;
        max-width:420px;
    }
}