:root{
    --appleBlue:#0071e3;
    --text:#1d1d1f;
    --sub:#6e6e73;
}

/* ===== BODY ===== */

body{

    font-family:Inter,sans-serif;

    background:
    radial-gradient(circle at top left,#d8f1ff,#ffffff),
    radial-gradient(circle at bottom right,#f2e7ff,#ffffff);

    overflow-x:hidden;

    user-select:none;
    -webkit-user-select:none;
    -moz-user-select:none;

}


/* ===== NAVBAR ===== */

.navbar{

    backdrop-filter:blur(20px);

    background:rgba(255,255,255,.75);

}

.logo-main{

    width:100%;
    max-width:200px;

}


/* ===== HERO ===== */

.hero{

    padding:60px 20px 40px;

    text-align:center;

}

.hero h1{

    font-size:clamp(2.5rem,6vw,5rem);

    font-weight:800;

}

.hero-gradient{

    background:
    linear-gradient(
    90deg,
    #007aff,
    #5e5ce6,
    #ff2d55
    );

    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;

}

.school-badge{

    width:100%;
    max-width:300px;

    margin:20px auto;

}


/* ===== TITOLI ===== */

.section-title{

    text-align:center;

    font-weight:800;

    margin:35px 0 25px;

}


/* ===== CARD GAMES ===== */

.game-card{

    background:white;

    padding:35px;

    height:100%;

    border-radius:35px;

    box-shadow:
    0 10px 40px rgba(0,0,0,.08);

    transition:.4s;

}

.game-card:hover{

    transform:
    translateY(-10px);

}

.game-img{

    height:120px;

    object-fit:contain;

    margin-bottom:25px;

}


/* ===== BOTTONI ===== */

.apple-btn{

    display:table;

    margin:30px auto 0;

    padding:12px 28px;

    border:none;

    border-radius:50px;

    background:var(--appleBlue);

    color:white;

    text-decoration:none;

    font-weight:600;

    transition:.35s;

    box-shadow:
    0 10px 30px rgba(0,113,227,.2);

}

.apple-btn:hover{

    transform:
    translateY(-3px);

    background:#0a84ff;

    color:white;

}

.apple-btn-outline{

    display:inline-block;

    padding:12px 28px;

    border-radius:50px;

    border:2px solid var(--appleBlue);

    color:var(--appleBlue);

    text-decoration:none;

    transition:.35s;

}

.apple-btn-outline:hover{

    background:var(--appleBlue);

    color:white;

}


/* ===== SEZIONI ===== */

.story{

    padding:50px 0;

}

.story-box{

    background:white;

    padding:35px;

    border-radius:35px;

}


/* ===== SICILIA ===== */

.sicily-image-box{

    background:white;

    padding:25px;

    border-radius:35px;

    box-shadow:
    0 20px 60px rgba(0,0,0,.06);

}

.sicily-map{

    width:100%;

    border-radius:20px;

    transition:.5s;

}

.sicily-map:hover{

    transform:scale(1.02);

}

.map-caption{

    margin-top:10px;

    text-align:center;

    line-height:1.8;

    color:var(--sub);

}


/* ===== LABEL ===== */

.apple-label{

    display:flex;

    width:fit-content;

    margin:auto;

    justify-content:center;

    align-items:center;

    padding:8px 18px;

    border-radius:50px;

    background:var(--appleBlue);

    color:white;

    font-size:.8rem;

    font-weight:600;

}


/* ===== CONTATTI ===== */

.contact-card{

    background:white;

    padding:35px;

    border-radius:35px;

    box-shadow:
    0 20px 60px rgba(0,0,0,.06);

}

.contact-item{

    height:100%;

    padding:10px 0;

    border-bottom:
    1px solid rgba(0,0,0,.06);

}

.contact-item:last-child{

    border:none;

}

.contact-item span{

    display:block;

    margin-bottom:5px;

    font-size:.9rem;

    color:var(--sub);

}

.contact-item strong{

    font-size:1.25rem;

    color:var(--text);

}

.whatsapp strong{

    color:#1fa855;

}

.green strong{

    color:#00a651;

}

.contact-text{

    max-width:500px;

    margin:auto;

    line-height:2;

    color:var(--sub);

}


/* ===== SOCIAL ===== */

.social-icons{

    margin:30px 0 35px;

    display:flex;

    justify-content:center;

    align-items:center;

    gap:18px;

    flex-wrap:wrap;

}

.social-icons a{

    width:65px;
    height:65px;

    display:flex;

    justify-content:center;

    align-items:center;

    border-radius:50%;

    text-decoration:none;

    font-size:1.6rem;

    color:var(--appleBlue);

    background:white;

    box-shadow:
    0 8px 25px rgba(0,0,0,.08);

    transition:.35s;

}

.social-icons a:hover{

    transform:
    translateY(-5px)
    scale(1.06);

    background:var(--appleBlue);

    color:white;

}


/* ===== AUDIO ===== */

.music-btn{

    position:fixed;

    right:20px;
    bottom:20px;

    width:60px;
    height:60px;

    border:none;

    border-radius:50%;

    background:var(--appleBlue);

    color:white;

    z-index:999;

}


/* ===== FOOTER ===== */

.footer{

    margin-top:50px;

    padding:35px 20px;

    text-align:center;

    line-height:1.7;

    background:rgba(255,255,255,.65);

    backdrop-filter:blur(20px);

    border-top:
    1px solid rgba(0,0,0,.05);

}


/* ===== RESPONSIVE ===== */

@media(max-width:768px){

    .apple-btn{

        width:100%;

    }

    .social-icons a{

        width:58px;
        height:58px;

        font-size:1.4rem;

    }

    .contact-card{

        padding:30px;

    }

    .contact-item{

        text-align:center;

    }

    .contact-item strong{

        font-size:1.1rem;

        word-break:break-word;

    }

    .story-title,
    .story-text{

        text-align:center;

    }

}