* { margin:0; padding:0; box-sizing:border-box; }
body {
    font-family: 'Montserrat', sans-serif;
    background: #f9f5f0;
    color: #5d4037;
    line-height: 1.7;
    overflow-x: hidden;
}

/* Cover */
.cover {
    position: fixed;
    top:0; left:0; width:100%; height:100vh;
    background: url('https://images.unsplash.com/photo-1506905925346-21bda4d32df4?ixlib=rb-4.0.3&auto=format&fit=crop&w=1350&q=90') center/cover no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    z-index: 999;
}
.overlay {
    position: absolute;
    top:0; left:0; width:100%; height:100%;
    background: rgba(45, 35, 25, 0.65);
}
.cover-content { position: relative; color:#fff; padding:20px; }
.flower-deco { font-size:2rem; letter-spacing:15px; margin-bottom:20px; }
.cover h1 { font-family:'Cormorant Garamond'; font-size:4.5rem; margin:20px 0; }
.sub { font-size:1.3rem; letter-spacing:5px; }
.date-big { font-family:'Libre Baskerville'; font-size:1.8rem; margin:30px 0; letter-spacing:3px; }
.to span { font-size:1.8rem; font-weight:600; }
.btn-open {
    margin-top:40px;
    padding:14px 40px;
    background:#8d5524;
    color:#fff;
    border:none;
    border-radius:50px;
    font-size:1.1rem;
    cursor:pointer;
    box-shadow:0 5px 15px rgba(0,0,0,0.3);
}
.fairy-lights {
    position:absolute;
    top:0; left:0; width:100%; height:100%;
    background: url('https://i.ibb.co.com/9hH7Y8g/fairy-lights.png') repeat;
    opacity:0.2;
    pointer-events:none;
}

/* Main */
.main { display:none; min-height:100vh; padding-bottom:80px; }

/* Hero */
.hero {
    height:80vh;
    background: linear-gradient(rgba(0,0,0,0.3),rgba(0,0,0,0.5)), url('https://images.unsplash.com/photo-1515939755233-1da0d44eb1fd?ixlib=rb-4.0.3&auto=format&fit=crop&w=1350&q=90') center/cover;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    color:#fff;
}
.wood-frame {
    background: rgba(141, 85, 36, 0.85);
    padding:50px 80px;
    border:8px solid #d9b38c;
    border-radius:5px;
}
.title { font-family:'Cormorant Garamond'; font-size:5rem; }
.title span { margin:0 25px; font-size:3rem; }
.tagline { font-style:italic; margin-top:15px; font-size:1.3rem; }

/* Quote */
.quote-section { padding:80px 20px; text-align:center; background:#f9f5f0; }
.paper {
    max-width:800px;
    margin:0 auto;
    background:#fffdf9;
    padding:50px 40px;
    border-radius:8px;
    box-shadow:0 10px 30px rgba(0,0,0,0.1);
    border:1px solid #e0d6c9;
}
.ayat { font-family:'Libre Baskerville'; font-size:1.35rem; line-height:2; color:#5d4037; }
.sura { margin-top:25px; font-size:1.1rem; color:#8d5524; }

/* Couple */
.couple {
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:center;
    gap:40px;
    padding:80px 20px;
    background:#fffdf9;
}
.polaroid {
    background:#fff;
    padding:15px 15px 40px;
    box-shadow:0 10px 30px rgba(0,0,0,0.2);
    transform:rotate(-3deg);
    max-width:300px;
}
.polaroid img { width:100%; height:350px; object-fit:cover; }
.polaroid p { text-align:center; margin-top:20px; font-weight:500; }
.love { font-size:4rem; color:#c19a6b; }

/* Event */
.event { padding:60px 20px; text-align:center; }
.wood-board {
    background: url('https://i.ibb.co/8cgrM7Y/wood-texture.jpg');
    color:#fff;
    padding:40px 30px;
    margin:30px auto;
    max-width:500px;
    border-radius:8px;
    box-shadow:0 10px 30px rgba(0,0,0,0.3);
}
.wood-board h2 { font-size:2.2rem; margin-bottom:15px; }
.loc { margin-top:15px; font-weight:600; }
.btn-map {
    display:inline-block;
    margin-top:20px;
    padding:12px 30px;
    background:#c19a6b;
    color:#fff;
    text-decoration:none;
    border-radius:50px;
}

/* Gallery */
.gallery { padding:60px 20px; background:#f9f5f0; }
.gallery-grid {
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(150px,1fr));
    gap:15px;
    max-width:1000px;
    margin:0 auto;
}
.gallery-grid img { width:100%; height:200px; object-fit:cover; border-radius:8px; box-shadow:0 5px 15px rgba(0,0,0,0.2); }

/* Countdown */
.countdown-section { text-align:center; padding:80px 20px; background:#fffdf9; }
#countdown {
    display:flex;
    justify-content:center;
    gap:25px;
    margin-top:30px;
    flex-wrap:wrap;
}
#countdown div {
    background:#8d5524;
    color:#fff;
    padding:20px;
    border-radius:10px;
    min-width:100px;
    box-shadow:0 5px 15px rgba(0,0,0,0.3);
}
#countdown span { display:block; font-size:2.5rem; font-weight:bold; }
#countdown small { font-size:0.9rem; }

/* RSVP */
.rsvp-section { padding:80px 20px; }
.rsvp-section form { max-width:500px; margin:0 auto; }
.rsvp-section input,
.rsvp-section select,
.rsvp-section textarea {
    width:100%;
    padding:14px;
    margin:12px 0;
    border:1px solid #d9b38c;
    border-radius:8px;
    background:#fffdf9;
}
.rsvp-section button {
    width:100%;
    padding:14px;
    background:#8d5524;
    color:#fff;
    border:none;
    border-radius:8px;
    cursor:pointer;
    font-size:1.1rem;
}

/* Music Button */
.music-btn {
    position:fixed;
    bottom:20px; right:20px;
    background:rgba(141,85,36,0.9);
    color:#fff;
    padding:12px 18px;
    border-radius:50px;
    cursor:pointer;
    z-index:100;
    box-shadow:0 5px 15px rgba(0,0,0,0.3);
}

/* Responsive */
@media (max-width:768px) {
    .title { font-size:3.5rem; }
    .title span { font-size:2rem; }
    .cover h1 { font-size:3.5rem; }
}