*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    background-image:
        linear-gradient(
            rgba(0,0,0,0.82),
            rgba(0,0,0,0.82)
        ),
        url("images/site-background.jpg");

    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
}

@media screen and (max-width:768px){

    body{

        background:
            linear-gradient(
                rgba(0,0,0,0.82),
                rgba(0,0,0,0.82)
            ),
            url("images/site-background-mobile.jpg");

        background-size:contain;
        background-position:top center;
        background-repeat:no-repeat;
        background-color:#000;
    }

}
.hero{
    position:relative;
    width:100%;
}

.hero-image{
    display:block;
    width:100%;
    height:auto;

    animation:heroGlow 3s infinite ease-in-out;
}

/* AREA CLICCABILE CHIAMA ORA */

.btn-call{
    position:absolute;
animation:neonPulse 2s infinite;
    left:67.3%;
    top:43.8%;

    width:22.7%;
    height:6.5%;

    background:transparent;
opacity:0;
cursor:pointer;

    border-radius:999px;
    z-index:999;
}

.btn-book{
    position:absolute;
animation:neonPulse 2s infinite;
    left:67.3%;
    top:52%;

    width:22.7%;
    height:6.5%;

    background:transparent;
opacity:0;
cursor:pointer;

    border-radius:999px;
    z-index:999;
}
/* VERSIONE MOBILE */

@media (max-width:768px){

    .hero{
        background-image:url("images/hero-mobile.jpg");
        background-size:contain;
        background-position:center top;
        background-repeat:no-repeat;
        background-color:#000;
    }

@media (max-width:768px){

    .pulse-call{

        left:11% !important;
        top:78% !important;

        width:78% !important;
        height:7% !important;
    }

    .pulse-book{

        left:11% !important;
        top:86.5% !important;

        width:78% !important;
        height:7% !important;
    }

}
    .btn-call{
        left:10%;
        top:78%;

        width:80%;
        height:7%;
    }

    .btn-book{
        left:10%;
        top:86.5%;

        width:80%;
        height:7%;
    }

}
header{
    position:fixed;
    top:0;
    left:0;

    width:100%;
    height:7vh;

    z-index:10000;

    background:rgba(0,0,0,0.7);

    backdrop-filter:blur(10px);
}

nav{
    width:100%;
    height:100%;

    display:flex;

    justify-content:center;
    align-items:center;

    gap:4%;
}

nav a{
    color:#01f9e4;

    text-decoration:none;

    font-size:1.2vw;

    font-weight:700;

    letter-spacing:0.15vw;

    transition:0.3s;
}

nav a:hover{
    color:white;
    text-shadow:0 0 15px #01f9e4;
}
.menu-toggle{
    display:none;
}

@media (max-width:768px){

    header{
        background:transparent;
        backdrop-filter:none;
        height:auto;
    }

    nav{
        position:absolute;
        top:15px;
        right:15px;

        width:auto;
        height:auto;

        display:block;
    }

    nav a{
        display:none;
    }

    .menu-toggle{
        display:block;

        color:#01f9e4;

        font-size:50px;
        line-height:1;

        cursor:pointer;

        text-shadow:0 0 15px #01f9e4;
    }

}
#mobile-menu{
    display:none;

    position:absolute;

    top:70px;
    right:10px;

    background:rgba(0,0,0,0.95);

    border:1px solid #01f9e4;

    border-radius:15px;

    padding:20px;

    min-width:220px;
}

#mobile-menu a{
    display:block;

    color:#01f9e4;

    text-decoration:none;

    font-size:22px;

    padding:12px 0;
}

#mobile-menu a:hover{
    color:white;
}
.page-container{
    padding-top:120px;
    max-width:1400px;
    margin:auto;
    color:white;
    padding-left:20px;
    padding-right:20px;
}

.page-container h1{
    color:#01f9e4;
    font-size:60px;
    margin-bottom:40px;
}

.service-card{
    background:#111;
    border:1px solid #01f9e4;
    border-radius:15px;
    padding:30px;
    margin-bottom:20px;
    font-size:28px;
}
.services-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
    gap:30px;
}

.service-card{
    background:#111;

    border:1px solid #01f9e4;

    border-radius:25px;

    padding:40px;

    text-align:center;

    transition:.3s;
}

.service-card:hover{
    transform:translateY(-8px);

    box-shadow:0 0 20px #01f9e4;
}

.icon{
    font-size:60px;

    margin-bottom:20px;
}

.service-card h2{
    color:#01f9e4;

    margin-bottom:20px;
}

.service-card p{
    color:white;

    line-height:1.7;
}

@media (max-width:768px){

    .service-card{
        padding:25px;
    }

    .icon{
        font-size:50px;
    }

}
.contact-grid{
    display:grid;

    grid-template-columns:
    repeat(auto-fit,minmax(280px,1fr));

    gap:20px;

    width:100%;
}

.contact-card{
    background:#111;

    border:1px solid #01f9e4;

    border-radius:20px;

    padding:20px;

    text-align:center;

    color:white;

    min-height:180px;

    transition:.3s;
}

.contact-card:hover{
    transform:translateY(-5px);

    box-shadow:0 0 20px rgba(1,249,228,.3);
}

.contact-card h2{
    color:#01f9e4;

    margin-bottom:15px;

    font-size:28px;
}

.contact-card p{
    margin-bottom:20px;

    line-height:1.5;
}

.contact-btn{
    display:inline-block;

    background:#01f9e4;

    color:black;

    text-decoration:none;

    padding:12px 25px;

    border-radius:999px;

    font-weight:bold;
}

.contact-btn:hover{
    background:white;
}

.google-map{
    width:100%;

    margin-top:40px;

    border-radius:20px;

    overflow:hidden;

    border:1px solid #01f9e4;
}

.google-map iframe{
    display:block;

    width:100%;
    height:500px;

    border:0;
}
.about-card{
    max-width:1000px;

    margin:0 auto 60px;

    background:#111;

    border:1px solid #01f9e4;

    border-radius:20px;

    padding:40px;
}

.about-card h2{
    color:#01f9e4;

    text-align:center;

    margin-bottom:30px;

    font-size:40px;
}

.about-card p{
    color:white;

    line-height:1.9;

    margin-bottom:20px;

    font-size:20px;
}

.values{
    display:grid;

    grid-template-columns:
    repeat(auto-fit,minmax(280px,1fr));

    gap:25px;
}

.value-card{
    background:#111;

    border:1px solid #01f9e4;

    border-radius:20px;

    padding:30px;

    text-align:center;
}

.value-icon{
    font-size:50px;

    margin-bottom:20px;
}

.value-card h3{
    color:#01f9e4;

    margin-bottom:15px;
}

.value-card p{
    color:white;
}

@media (max-width:768px){

    .about-card{
        padding:25px;
    }

    .about-card h2{
        font-size:30px;
    }

    .about-card p{
        font-size:18px;
    }

}
.gallery-grid{

    display:grid;

    grid-template-columns:
    repeat(auto-fit,minmax(350px,1fr));

    gap:25px;
}

.gallery-grid img{

    width:100%;

    height:300px;

    object-fit:cover;

    border-radius:20px;

    border:1px solid #01f9e4;

    transition:.3s;
}

.gallery-grid img:hover{

    transform:scale(1.03);

    box-shadow:0 0 20px #01f9e4;
}
footer{
    margin-top:80px;

    background:rgba(0,0,0,0.75);

    backdrop-filter:blur(10px);

    border-top:1px solid rgba(1,249,228,.4);
}

.footer-content{
    max-width:1400px;

    margin:auto;

    padding:40px 20px;

    text-align:center;
}

.footer-content h3{
    color:#01f9e4;

    margin-bottom:15px;
}

.footer-content p{
    color:white;

    margin-bottom:10px;
}

.footer-links{
    margin:25px 0;

    display:flex;

    justify-content:center;

    gap:30px;

    flex-wrap:wrap;
}

.footer-links a{
    color:#01f9e4;

    text-decoration:none;
}

.footer-links a:hover{
    color:white;
}

.copyright{
    opacity:.7;
    font-size:14px;
}
.reviews-hero{

    position:absolute;

    left:2%;
    top:70%;

    width:30%;

    height:50%;

    z-index:3000;
}

.elfsight-app-d3e7e860-c12f-457e-94ab-708672e7a4e2{

    width:100%;
    height:50%;
}

@media (max-width:768px){

    .reviews-hero{

        position:relative;

        left:auto;
        top:auto;

        width:95%;

        margin:20px auto;
    }

}
@keyframes neonPulse {

    0%{
        box-shadow:
        0 0 10px #01f9e4,
        0 0 20px #01f9e4;
    }

    50%{
        box-shadow:
        0 0 25px #01f9e4,
        0 0 50px #01f9e4;
    }

    100%{
        box-shadow:
        0 0 10px #01f9e4,
        0 0 20px #01f9e4;
    }

}
@keyframes heroGlow {

    0%{
        filter:brightness(1);
    }

    50%{
        filter:brightness(1.20);
    }

    100%{
        filter:brightness(1);
    }

}
.pulse-call,
.pulse-book{

    position:absolute;

    border-radius:999px;

    z-index:998;

    animation:pulseCTA 2s infinite;
}
.pulse-call{

    left:67.3%;
    top:43.8%;

    width:22.7%;
    height:6.5%;
}
.pulse-book{

    left:67.3%;
    top:52%;

    width:22.7%;
    height:6.5%;
}
@keyframes pulseCTA{

    0%{
        box-shadow:
        0 0 0 0 rgba(1,249,228,.9);
    }

    100%{
        box-shadow:
        0 0 0 25px rgba(1,249,228,0);
    }

}