/* =========================================
   Google Font Reset
========================================= */

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

:root{

    --gold:#C6A664;
    --cream:#FFF9F4;
    --dark:#3b2b24;
    --rose:#d8b4a0;
    --white:#ffffff;

}

html{

    scroll-behavior:smooth;

}

body{

    font-family:'Poppins',sans-serif;
    background:var(--cream);
    color:var(--dark);
    overflow-x:hidden;

}

/* =========================================
   Falling Petals Canvas
========================================= */

#petals{

    position:fixed;
    inset:0;
    pointer-events:none;
    z-index:1;

}

/* =========================================
   Loader
========================================= */

#loader{

    position:fixed;
    inset:0;
    background:#fffdfb;
    display:flex;
    justify-content:center;
    align-items:center;
    z-index:9999;

}

.loader-content{

    text-align:center;

}

.loader-content h1{

    font-family:'Great Vibes',cursive;
    color:var(--gold);
    font-size:55px;

}

.loader-content span{

    font-size:40px;
    display:block;
    margin:10px 0;

}

.loader-content p{

    margin-top:20px;
    letter-spacing:3px;
    text-transform:uppercase;
    font-size:12px;

}

/* =========================================
   Envelope
========================================= */

#opening{

    min-height:100vh;
    display:flex;
    justify-content:center;
    align-items:center;
    background:linear-gradient(#fffdfb,#f5ece5);

}

.envelope{

    width:340px;
    padding:50px;
    background:white;
    border-radius:20px;
    text-align:center;
    box-shadow:0 20px 60px rgba(0,0,0,.12);

}

.seal{

    width:80px;
    height:80px;
    margin:auto;
    background:var(--gold);
    border-radius:50%;
    margin-bottom:30px;

}

.envelope h1{

    font-family:'Great Vibes';
    color:var(--gold);
    font-size:55px;

}

.envelope h4{

    font-family:'Cormorant Garamond';
    margin-bottom:20px;

}

.envelope button{

    margin-top:30px;
    padding:15px 35px;
    border:none;
    border-radius:50px;
    background:var(--gold);
    color:white;
    cursor:pointer;
    transition:.3s;

}

.envelope button:hover{

    transform:translateY(-3px);

}

/* =========================================
   Hero
========================================= */

#hero{

    min-height:100vh;
    display:flex;
    justify-content:center;
    align-items:center;
    text-align:center;
    background:linear-gradient(rgba(255,255,255,.85),rgba(255,255,255,.85)),
    url("assets/images/bg.jpg") center/cover;

}

.overlay{

    max-width:900px;
    padding:20px;

}

.overlay p{

    letter-spacing:3px;
    text-transform:uppercase;

}

.overlay h1{

    font-family:'Great Vibes';
    font-size:90px;
    color:var(--gold);
    margin:30px 0;

}

.overlay span{

    display:block;
    font-size:60px;

}

.date{

    display:inline-block;
    margin-top:20px;
    padding:15px 30px;
    border:2px solid var(--gold);

}

/* =========================================
   Countdown
========================================= */

#countdown{

    padding:80px 20px;
    text-align:center;

}

.timer{

    display:flex;
    justify-content:center;
    gap:30px;
    flex-wrap:wrap;
    margin-top:40px;

}

.timer div{

    width:120px;
    background:white;
    padding:25px;
    border-radius:20px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);

}

.timer span{

    display:block;
    font-size:40px;
    color:var(--gold);

}

/* =========================================
   Couple
========================================= */

#couple{

    padding:100px 8%;
    display:grid;
    grid-template-columns:1fr auto 1fr;
    gap:40px;
    align-items:center;

}

.person{

    background:white;
    padding:40px;
    border-radius:20px;
    text-align:center;
    box-shadow:0 10px 30px rgba(0,0,0,.08);

}

.person h1{

    font-family:'Great Vibes';
    color:var(--gold);
    font-size:55px;
    margin:15px 0;

}

.person h2{

    font-family:'Cormorant Garamond';

}

.person p{

    margin:10px 0;

}

.heart{

    font-size:50px;
    color:var(--gold);

}

/* =========================================
   Quote
========================================= */

#quote{

    padding:100px 20px;
    text-align:center;

}

#quote h2{

    font-family:'Great Vibes';
    font-size:65px;
    color:var(--gold);

}

/* =========================================
   Events
========================================= */

#events{

    padding:100px 8%;
    text-align:center;

}

.cards{

    margin-top:40px;
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:25px;

}

.cards article{

    background:white;
    padding:35px;
    border-radius:20px;
    box-shadow:0 10px 25px rgba(0,0,0,.08);

}

.cards h3{

    color:var(--gold);

}

/* =========================================
   Venue
========================================= */

.venue{

    padding:100px 20px;
    text-align:center;

}

.venue a{

    display:inline-block;
    margin-top:25px;
    padding:15px 35px;
    background:var(--gold);
    color:white;
    text-decoration:none;
    border-radius:50px;

}

/* =========================================
   Footer
========================================= */

footer{

    padding:100px 20px;
    text-align:center;
    background:#f7efe8;

}

footer h1{

    font-family:'Great Vibes';
    color:var(--gold);
    font-size:70px;

}

footer h2{

    margin:20px 0;

}

/* =========================================
   Music Button
========================================= */

#musicBtn{

    position:fixed;
    right:25px;
    bottom:25px;
    width:60px;
    height:60px;
    border:none;
    border-radius:50%;
    background:var(--gold);
    color:white;
    font-size:22px;
    cursor:pointer;
    z-index:999;

}

/* =========================================
   Mobile
========================================= */

@media(max-width:768px){

#hero h1{

    font-size:60px;

}

#couple{

    grid-template-columns:1fr;

}

.heart{

    transform:rotate(90deg);

}

.envelope{

    width:90%;

}

}