html, body {
    max-width: 100%;
    /* Memotong paksa apapun yang meluber ke kiri/kanan halaman utama */
    overflow-x: hidden; 
    position: relative; 
}
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Poppins', serif; 
    color: #333;
    background-color: #fcfcfc;
}

body.locked { overflow: hidden; }

/* KELAS PLACEHOLDER (Pengganti Foto) */
.placeholder-photo, .placeholder-avatar {
    background-color: rgba(0, 0, 0, 0.1);
    display: flex;
    justify-content: center;
    align-items: center;
    color: #888;
    font-size: 0.8rem;
}
.placeholder-photo { width: 100%; height: 100%; border-radius: inherit; }
.placeholder-avatar { width: 150px; height: 150px; border-radius: 50%; margin: 0 auto 15px auto; }

/* HALAMAN COVER */
#cover-page {
    position: fixed; top: 0; left: 0; width: 100%; height: 100vh;
    
    /* GANTI BARIS BACKGROUND INI: 
       Lapisan hitam dipertebal agar kontras teks putih lebih maksimal */
    background: 
        linear-gradient(
            to bottom, 
            rgba(0, 0, 0, 0.3) 0%,    /* Naik jadi 0.3: Bagian atas agak diredupkan */
            rgba(0, 0, 0, 0.6) 50%,   /* Naik jadi 0.6: Bagian tengah sudah lumayan gelap */
            rgba(0, 0, 0, 0.95) 100%  /* Naik jadi 0.95: Hampir hitam pekat di area teks bawah */
        ),
        url('assets/bg_cover1.webp') center/cover;
        
    display: flex; justify-content: center; align-items: center; text-align: center;
    z-index: 9999; transition: transform 1s ease-in-out, opacity 1s ease-in-out;
    overflow: hidden; 
}

/* =========================================================
   ANIMASI BUNGA SUDUT
   ========================================================= */
.bunga-sudut {
    position: absolute;
    width: 250px; 
    max-width: 55vw; 
    pointer-events: none; 
    z-index: 5;
    opacity: 0; 
    translate: 0px 0px; 
    rotate: 0deg;
    scale: 1;
    will-change: translate, rotate, opacity;
}

.bunga-atas-kiri { 
    top: -70px; left: -70px; width: 230px; max-width: none; transform-origin: top left; 
    animation: masukAtasKiri 4s cubic-bezier(0.22, 1, 0.36, 1) forwards, ayunKiri 2s ease-in-out infinite alternate;
}
.bunga-atas-kanan { 
    top: -70px; right: -40px; width: 240px; max-width: none; transform-origin: top right;
    animation: masukAtasKanan 4s cubic-bezier(0.22, 1, 0.36, 1) forwards, ayunKanan 2.2s ease-in-out infinite alternate; 
}
.bunga-bawah-kiri { 
    bottom: -50px; left: -75px; width: 300px; max-width: none; transform-origin: bottom left;
    animation: masukBawahKiri 4s cubic-bezier(0.22, 1, 0.36, 1) forwards, ayunKiri 2.5s ease-in-out infinite alternate; 
}
.bunga-bawah-kanan { 
    bottom: -50px; right: -75px; width: 300px; max-width: none; transform-origin: bottom right;
    animation: masukBawahKanan 4s cubic-bezier(0.22, 1, 0.36, 1) forwards, ayunKanan 2.3s ease-in-out infinite alternate; 
}
@keyframes masukAtasKiri { 0% { opacity: 0; translate: -50px -50px; } 100% { opacity: 1; translate: 0px 0px; } }
@keyframes masukAtasKanan { 0% { opacity: 0; translate: 50px -50px; } 100% { opacity: 1; translate: 0px 0px; } }
@keyframes masukBawahKiri { 0% { opacity: 0; translate: -50px 50px; } 100% { opacity: 1; translate: 0px 0px; } }
@keyframes masukBawahKanan { 0% { opacity: 0; translate: 50px 50px; } 100% { opacity: 1; translate: 0px 0px; } }
/* Bunga Kiri (Atas & Bawah): Hanya berayun memutar ke kanan (ke dalam layar) */
@keyframes ayunKiri { 
    0% { transform: rotate(0deg) scale(1); } 
    100% { transform: rotate(6deg) scale(1.03); } 
}

@keyframes ayunKanan { 
    0% { transform: rotate(0deg) scale(1); } 
    100% { transform: rotate(-6deg) scale(1.03); } 
}
/* =========================================================
   ANIMASI DEKORASI BINGKAI FULL
   ========================================================= */
.dekor-bingkai-full {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    object-fit: cover; 
    pointer-events: none; 
    z-index: 4; 
    opacity: 0; 
    animation: munculBingkaiAman 1s ease-in-out 1s forwards;
}
@keyframes munculBingkaiAman {
    0% { opacity: 0; transform: scale(1.03); }
    100% { opacity: 1; transform: scale(1); }
}

/* =========================================================
   ANIMASI BINGKAI MERAH TENGAH
   ========================================================= */
.bingkai-tengah {
    position: absolute;
    top: 48%; left: 50%;
    transform: translate(-50%, -50%) scale(0.5);
    width: 420px; max-width: 100vw; height: auto;
    pointer-events: none; 
    z-index: 4; 
    opacity: 0;
    will-change: transform, opacity;
    animation: bingkaiMerahReveal 2s cubic-bezier(0.22, 1, 0.36, 1) 2s forwards;
}
@keyframes bingkaiMerahReveal {
    0% { opacity: 0; transform: translate(-50%, -50%) scale(0.5); }
    100% { opacity: 1; transform: translate(-50%, -50%) scale(1); }
}

#cover-page.slide-up { transform: translateY(-100%); opacity: 0; pointer-events: none; }
.cover-content {
    position: relative; 
    z-index: 20; 
    width: 100%; 
    display: flex; flex-direction: column; align-items: center;
}

/* =========================================================
   ANIMASI IKON CINCIN
   ========================================================= */
.ikon-cincin {
    position: relative; 
    width: 27px; max-width: 15vw; height: auto;
    margin-bottom: 5px; 
    pointer-events: none; z-index: 6; opacity: 0;
    animation: ikonCincinReveal 1s cubic-bezier(0.22, 1, 0.36, 1) 3s forwards;
}
@keyframes ikonCincinReveal {
    0% { opacity: 0; transform: scale(0.5); }
    100% { opacity: 1; transform: scale(1); }
}

/* =========================================================
   BAGIAN TAMU UNDANGAN (COVER)
   ========================================================= */
#cover-page .title-small, #cover-page .nama-mempelai { color: #ffffff; }
.nama-mempelai { 
    font-family: 
    'Cinzel Decorative', serif; 
    font-size: 1.7rem; 
    font-weight: 700; 
    margin-bottom: 155px; 
    color: #ffffff; 
}
.simbol-dan { 
    font-size: 1.2rem; 
    font-weight: 400; 
    vertical-align: middle; 
    margin: 0 5px;
    color: #ffffff; 
}
.title-small { 
    font-family: 
    'Cormorant Garamond', serif; 
    font-weight: 400; 
    font-size: 1rem; 
    margin-top: 20px; 
    margin-bottom: 10px; 
     color: #ffffff; 
}
.teks-kepada { 
    font-family: 
    'Cormorant Garamond', serif; 
     color: #ffffff; 
    margin-bottom: 12px; 
    font-size: 1rem;
}
 
.nama-tamu { 
    color: #ffffff; 
    margin-bottom: 5px; 
    font-size: 1rem;
    max-width: 200px; /* Membatasi lebar maksimal teks */
    margin: 0 auto;  /* Menengahkan blok teks secara horizontal */
}

#btn-buka {
    position: relative;
    background-color: #ba4b2e;
   color: #ffffff; 
    border: 1px solid rgba(255, 227, 190, 0.4);
    
    /* Padding diperkecil drastis */
    padding: 6px 16px; 
    border-radius: 30px; 
    
    cursor: pointer;
    font-family: 'Poppins', serif; 
    font-weight: 900;
    /* Font size diperkecil lagi */
    font-size: 0.65rem; 
    letter-spacing: 0.5px; 
    
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px; /* Jarak ikon dan teks dirapatkan */
    
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
    transition: all 0.3s ease;
    overflow: hidden;
    
    /* Mengatur ulang jarak agar tidak menabrak teks disclaimer */
    margin-top: 10px;
    margin-bottom: 20px; 
    z-index: 10;
}

/* Ukuran Ikon diperkecil */
#btn-buka svg {
    width: 12px;
    height: 12px;
}

/* Hover effect */
#btn-buka:hover {
    transform: translateY(-2px);
    background-color: #ffffff;
    box-shadow: 0 6px 15px rgba(255, 227, 190, 0.3);
}

/* Efek Kilau (Shimmer) */
#btn-buka::after {
    content: '';
    position: absolute;
    top: -50%;
    left: -60%;
    width: 15%;
    height: 200%;
    background: linear-gradient(
        to right, 
        transparent, 
        rgba(255, 255, 255, 0.5), 
        transparent
    );
    transform: rotate(30deg);
    animation: shimmerBtn 5s infinite;
}

@keyframes shimmerBtn {
    0% { left: -60%; }
    20% { left: 160%; } 
    100% { left: 160%; }
}
.disclaimer-nama { 
    font-size: 0.7rem; 
    color: #ffffff; 
    margin-top: -3px; /* Tambahkan sedikit margin atas di sini */
    font-style: italic; 
    opacity: 0.9; 
    max-width: 60%; /* Diperlebar sedikit agar teksnya tidak terlalu panjang ke bawah */
    line-height: 1.3; 
}
.tamu-section { 
    margin-top: 100px; 
    background: transparent !important; border: none !important;
    box-shadow: none !important; padding: 0 !important; width: 100%; display: flex;
    flex-direction: column; align-items: center; gap: 5px; 
}
/* =========================================================
   PENGUNCI POSISI COVER (ANTI BERGESER DI SEMUA HP)
   ========================================================= */

/* 1. Buka kotak pembungkus agar memenuhi tinggi layar HP penuh */
#cover-page .cover-content {
    position: absolute;
    top: 0; 
    left: 0;
    width: 100%;
    height: 100vh;
}

/* 2. Kunci elemen atas berpatokan dari ATAS layar */
#cover-page .title-small {
    position: absolute;
    top: 8%; /* Sebelumnya 33%, sekarang naik ke 23% */
    left: 0; 
    width: 100%; 
    text-align: center;
    margin: 0;
}

#cover-page .nama-mempelai {
    position: absolute;
    top: 12%; /* Sebelumnya 38%, sekarang naik ke 28% */
    left: 0; 
    width: 100%; 
    font-size: 34px;
    text-align: center;
    margin: 0;
}

/* 3. Kunci bagian tamu berpatokan dari BAWAH layar */
#cover-page .tamu-section {
    position: absolute;
    bottom: 12%; /* Paku di jarak 12% dari dasar layar bawah */
    left: 0; 
    width: 100%;
    margin-top: 0 !important;
}

/* TOMBOL DASAR */
button, .btn-wa, .btn-lokasi {
    background-color: #5B8FB9; color: white; border: none; padding: 10px 20px; 
    border-radius: 20px; cursor: pointer; font-family: 'Poppins', serif; 
    font-weight: 600; text-decoration: none; display: inline-block; margin-top: 10px;
}

#cover-page .title-small, #cover-page .nama-mempelai, #cover-page .teks-kepada,
#cover-page .nama-tamu, #cover-page #btn-buka, #cover-page .disclaimer-nama {
    opacity: 0; transform: translateY(20px); animation: teksCoverReveal 2s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
#cover-page .title-small { animation-delay: 0s; }
#cover-page .nama-mempelai { animation-delay: 0s; }
#cover-page .teks-kepada { animation-delay: 1s; }
#cover-page .nama-tamu { animation-delay: 1s; }
#cover-page #btn-buka { animation-delay: 1.5s; }
#cover-page .disclaimer-nama { animation-delay: 1.5s; }

@keyframes teksCoverReveal {
    0% { opacity: 0; transform: translateY(20px); }
    100% { opacity: 1; transform: translateY(0); }
}

/* SECTIONS UMUM */
.section {
    min-height: 100vh; padding: 60px 20px; display: flex; flex-direction: column;
    justify-content: center; align-items: center; text-align: center;
    position: relative; overflow: hidden; 
}
.hero-bg, .bg-light, .bg-gift, .bg-rsvp, .bg-penutup, .bg-gallery, .bg-turut {
    background-size: cover; background-position: center; background-attachment: scroll !important; 
}

/* =========================================================
   HALAMAN HERO
   ========================================================= */
.hero-bg {
    /* Hapus background-image lama atau biarkan sebagai cadangan jika video gagal muat */
    background-image: url('assets/bg_hero1.webp'); 
    position: relative;
    overflow: hidden;
    background-color: #000000; /* Warna gelap cadangan */
}

/* Pengaturan Video Background */
.video-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover; /* Memastikan video menutup layar seperti background-size: cover */
    z-index: 1; /* Lapisan paling bawah */
    pointer-events: none; /* Agar tidak bisa di-pause/klik oleh tamu */
    will-change: transform, opacity, filter;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    transform: translateZ(0); /* Memaksa browser terus memakai GPU */
}

/* Pastikan semua konten Hero muncul di atas video */
#hero .bunga-sudut,
#hero .bingkai-tengah,
#hero .cover-content {
    z-index: 2; /* Angka lebih tinggi dari video-bg */
}

/* Khusus untuk teks agar tetap terbaca jelas di atas video */
#hero .cover-content {
    position: relative;
    z-index: 5;
}
#hero .intro-text, #hero .tanggal, #hero .cd-box p { color: #000000; }
#hero .cd-box span { 
    background: rgba(48, 4, 28, 0.6); color: #000000; border: 1px solid #000000;
    width: 70px; height: 70px; display: flex; justify-content: center; align-items: center; 
    border-radius: 10px; font-size: 1.8rem; font-weight: bold; 
}

.mempelai-card, .event-card, .story-card, .atm-card, .rsvp-form-box, .wish-wall-box {
    background: rgba(255, 255, 255, 0.8); padding: 30px 20px; border-radius: 15px;
    width: 100%; max-width: 400px; margin: 15px auto; box-shadow: 0 5px 15px rgba(0,0,0,0.05); text-align: center;
}
.hero-content { display: flex; flex-direction: column; align-items: center; gap: 25px; width: 100%; padding: 0 15px; }

.nama-mempelai-vertikal {
    display: flex; 
    flex-direction: column; 
    justify-content: center; 
    align-items: center;
    font-family: 'Cinzel Decorative', serif; 
    font-size: 2.2rem; 
    font-weight: 700; 
    color: #000000; 
    line-height: 1.6;
}
.nama-mempelai-vertikal .simbol-dan 
{ font-size: 1.4rem; 
    margin: 8px 0; 
    font-family: 'Cinzel Decorative', serif; 
color: #000000
}
#hero .title-small { 
    margin: 0; 
    margin-top: -800px;
}

#hero { padding: 0; }
#hero .cover-content { 
    max-width: 320px; 
    margin-top: -50px; /* Semakin besar angka minusnya, semakin naik ke atas */
}
#hero .title-small { 
    font-family: 'Cormorant Garamond', serif;
    font-weight: 400; 
    font-size: 1rem;
    color: #000000;
    margin-top: 20px; 
    margin-bottom: 20px; }
#hero .intro-text { 
    font-size: 0.8rem; 
    line-height: 1.6; 
    margin: 25px auto 20px auto; 
    max-width: 600px; 
    padding: 0 25px; }
#hero .tanggal { font-size: 0.9rem; margin-top: 3px; margin-bottom: 5px; }
/* =========================================================
   REVISI FINAL HERO FRAME: KACA BURAM & STROKE ANIMATION (CLIP-PATH)
   Berdasarkan Referensi Safirah & Guruh
   ========================================================= */

/* 1. Latar Belakang Kaca Buram */
#hero .bingkai-tengah { 
    /* Dimensi & Bentuk Kapsul */
    width: 88%; 
    max-width: 360px; 
    height: 580px; 
    max-height: 85vh; 
    border-radius: 999px; 
    
    /* Warna Putih Transparan dengan Efek Kaca Buram */
    background: rgba(255, 255, 255, 0.85);
  ;
    
    /* Posisi Senter di Tengah Layar */
    position: absolute;
    top: 48%; 
    left: 50%;
    
    /* Disembunyikan sebelum animasi dimulai */
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.85); 
    
    pointer-events: none; 
    z-index: 4; 
    will-change: transform, opacity;
}

/* 2. Garis Oranye (Stroke) Menggunakan Pseudo-Element */
#hero .bingkai-tengah::before {
    content: ''; 
    position: absolute; 
    
    /* Jarak garis ke dalam dari tepi kaca buram (Inset 8px) */
    top: 8px; left: 8px; right: 8px; bottom: 8px;
    
    /* Menggambar Border Oranye Tema */
    border: 4px solid #d78457; 
    border-radius: 999px; /* Mengikuti bentuk kapsul luar */
    
    pointer-events: none;
    opacity: 0; 
    will-change: clip-path, opacity;
}

/* =========================================================
   3. ANIMASI MUNCUL & MENGGAMBAR
   ========================================================= */

/* A. Animasi Munculnya Kaca Buram (Membesar perlahan) */
@keyframes revealFrameKaca { 
    0% { opacity: 0; transform: translate(-50%, -50%) scale(0.85) translateY(20px); } 
    100% { opacity: 1; transform: translate(-50%, -50%) scale(1) translateY(0); } 
}

/* Kaca buram muncul di detik ke-4 */
body:not(.locked) #hero .bingkai-tengah { 
    animation: revealFrameKaca 4s cubic-bezier(0.16, 1, 0.3, 1) 4s forwards; 
}

/* B. Animasi 'Menggambar' Garis (Efek Sapuan Tirai Clip-Path) */
@keyframes drawStrokeSweepOrange {
    /* Tahap 1: Titik hilang di atas tengah */
    0% { opacity: 0; clip-path: inset(0% 50% 100% 50%); }
    
    /* Tahap 2: Menyapu ke kiri & kanan bagian atas */
    15% { opacity: 1; clip-path: inset(0% 0% 100% 0%); }
    
    /* Tahap 3: Menyapu ke bawah hingga menyelimuti seluruh bingkai */
    100% { opacity: 1; clip-path: inset(0% 0% 0% 0%); }
}

/* Garis oranye mulai 'digambar' di detik ke-6 (sesaat setelah kaca buram terlihat) */
body:not(.locked) #hero .bingkai-tengah::before { 
    animation: drawStrokeSweepOrange 3s ease-in-out 4s forwards; 
}
/* =========================================================
   DRAMATIC CINEMATIC ENTRY - HALAMAN HERO
   ========================================================= */

/* 1. Sembunyikan elemen awal (Tahan di belakang layar) */
body.locked #hero .bunga-sudut, 
body.locked #hero .dekor-bingkai-full,
body.locked #hero .bingkai-tengah, 
body.locked #hero .ikon-cincin,
body.locked #hero .title-small, 
body.locked #hero .nama-mempelai-vertikal,
body.locked #hero .intro-text, 
body.locked #hero .tanggal { 
    animation: none !important; 
    opacity: 0 !important; 
}

/* Pastikan opacity 0 sebelum animasi dimulai */
#hero .bunga-sudut,
#hero .bingkai-tengah,
#hero .cover-content,
#hero .ikon-cincin,
#hero .title-small, 
#hero .nama-mempelai-vertikal, 
#hero .intro-text, 
#hero .tanggal {
    opacity: 0;
}

body:not(.locked) #hero .bunga-atas-kiri { 
    animation: masukAtasKiri 4s cubic-bezier(0.22, 1, 0.36, 1) 3s forwards, ayunKiri 2s ease-in-out 3s infinite alternate; 
}
body:not(.locked) #hero .bunga-atas-kanan { 
    animation: masukAtasKanan 4s cubic-bezier(0.22, 1, 0.36, 1) 3s forwards, ayunKanan 2.2s ease-in-out 3s infinite alternate; 
}
body:not(.locked) #hero .bunga-bawah-kiri { 
    animation: masukBawahKiri 4s cubic-bezier(0.22, 1, 0.36, 1) 3s forwards, ayunKiri 2.5s ease-in-out 3s infinite alternate; 
}
body:not(.locked) #hero .bunga-bawah-kanan { 
    animation: masukBawahKanan 4s cubic-bezier(0.22, 1, 0.36, 1) 3s forwards, ayunKanan 2.3s ease-in-out 3s infinite alternate; 
}
/* 3. Animasi Bingkai Putih (Menunggu 4 Detik) */
body:not(.locked) #hero .bingkai-tengah { 
    animation: bingkaiMerahReveal 3s cubic-bezier(0.22, 1, 0.36, 1) 4s forwards; 
}

/* Memunculkan wadah konten setelah 4 detik */
body:not(.locked) #hero .cover-content {
    animation: simpleFadeIn 1s ease-out 4s forwards;
}

/* 4. Animasi Teks & Ikon (Menunggu 4.2 Detik - Keluar Bergantian) */
body:not(.locked) #hero .ikon-cincin { 
    animation: ikonCincinReveal 1.5s cubic-bezier(0.22, 1, 0.36, 1) 4.2s forwards; 
}
body:not(.locked) #hero .title-small { 
    animation: heroFadeDown 1.5s ease-out 4.4s forwards; 
}
body:not(.locked) #hero .nama-mempelai-vertikal { 
    animation: heroZoomIn 2s ease-out 4.6s forwards; 
}
body:not(.locked) #hero .intro-text { 
    animation: heroFadeUp 1.5s ease-out 4.8s forwards; 
}
body:not(.locked) #hero .tanggal { 
    animation: heroFadeRight 1.5s ease-out 5s forwards; 
}
/* =========================================================
   EFEK FADE VIDEO BACKGROUND (CINEMATIC)
   ========================================================= */

/* Memastikan video tersembunyi (gelap) sebelum cover dibuka */
body.locked #hero .video-bg {
    opacity: 0;
}

/* Memulai animasi video HANYA setelah tombol "Buka Undangan" diklik */
body:not(.locked) #hero .video-bg {
    animation: videoCinematicFade 3s ease-in-out forwards;
}

/* Animasi: Muncul dari gelap ke terang SAMBIL Zoom Out selama 3 detik */
@keyframes videoCinematicFade {
    0% { 
        opacity: 0; 
        filter: brightness(0.2); 
        transform: scale(1.3); /* Video membesar 30% di awal */
    }
    100% { 
        opacity: 1; 
        filter: brightness(1); 
        transform: scale(1); /* Video mengecil perlahan ke ukuran normal (Zoom Out) */
    }
}

/* KEYFRAMES TETAP SAMA */
@keyframes heroFadeDown { 0% { opacity: 0; transform: translateY(-20px); } 100% { opacity: 1; transform: translateY(0); } }
@keyframes heroZoomIn { 0% { opacity: 0; transform: scale(0.8); } 100% { opacity: 1; transform: scale(1); } }
@keyframes heroFadeUp { 0% { opacity: 0; transform: translateY(20px); } 100% { opacity: 1; transform: translateY(0); } }
@keyframes heroFadeRight { 0% { opacity: 0; transform: translateX(-20px); } 100% { opacity: 1; transform: translateX(0); } }
@keyframes countdownZoomIn { 0% { opacity: 0; transform: scale(0.5); } 100% { opacity: 1; transform: scale(0.75); } }
@keyframes zoomOutReveal { 0% { opacity: 0; transform: scale(1.5); } 100% { opacity: 1; transform: scale(1); } }
@keyframes slideFromLeft { 0% { opacity: 0; transform: translateX(-40px); } 100% { opacity: 1; transform: translateX(0); } }
@keyframes simpleFadeIn { 0% { opacity: 0; } 100% { opacity: 1; } }

/* =========================================================
   NEW DESIGN STYLE HALAMAN AYAT (WHITE CARD CONCEPT)
   ========================================================= */
#ayat { 
    position: relative; 
    overflow: hidden; 
    min-height: 100vh; 
    display: flex; 
    justify-content: center; 
    align-items: center; 
    padding: 80px 20px; 
}
.bg-ayat { 
    background: linear-gradient(135deg, #bd5521, #DC8052); 
}

/* 1. KOTAK PUTIH DENGAN BACKGROUND TEXTURE TRANSPARAN */
#ayat .cover-content { 
    /* --- BAGIAN YANG DIUBAH MULAI DARI SINI --- */
    background-color: #ffffff; /* Cadangan jika gambar gagal muat */
    
    /* Menumpuk lapisan putih 85% di atas gambar bg_profil1.webp */
    background-image: 
        linear-gradient(rgba(255, 255, 255, 0.75), rgba(255, 255, 255, 0.85)), 
        url('assets/bg_profil1.webp');
        
    background-size: cover;
    background-position: center;
    /* --- BAGIAN YANG DIUBAH SELESAI --- */

    padding: 30px 20px; 
    border-radius: 20px; 
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15); 
    width: 100%;
    max-width: 340px; 
    z-index: 10; 
    text-align: center; 
    display: flex; 
    flex-direction: column; 
    align-items: center; 
    gap: 15px; 
    overflow: hidden; 
    margin-top: 0; 
}

/* 2. STYLE FOTO HEADER DI DALAM KOTAK PUTIH */
.foto-ayat-header {
    width: calc(100% + 40px); /* Melebar penuh menyentuh tepi padding kotak */
    margin-top: -30px; /* Menarik foto ke atas menyentuh sudut rounded luar kotak */
    margin-bottom: 10px; /* Jarak foto ke teks Bismillah */
    height: 250px; /* Tinggi foto */
    object-fit: cover; /* Foto tidak gepeng */
    border-bottom: 1px solid rgba(0,0,0,0.05); /* Garis batas halus dibawah foto */
}

/* 3. STYLE TEKS BISMILLAH DI DALAM KOTAK */
.img-bismillah { 
    width: 175px; max-width: 45%; height: auto; 
    opacity: 0.8; 
    margin-top: 10px;
    margin-bottom: 5px; 
}

/* 4. MENGUBAH WARNA TEKS MENJADI GELAP (Agar kontras di kotak putih) */
.teks-ayat { 
    font-family: 'Poppins', sans-serif; 
    font-size: 0.8rem; 
    line-height: 1.6; 
    
    /* GANTI WARNA INI: Dari Krem (#ffe3be) menjadi Maroon Gelaptema */
    color: #000000; 
    
    font-style: italic; 
    margin: 0; 
    padding: 0 15px; /* Padding samping dikecilkan sedikit */
    width: 100%; 
    text-align: center; 
}

.sumber-ayat { 
    font-family: 'Cinzel', serif; 
    font-size: 0.9rem; 
    
    /* GANTI WARNA INI: Menjadi warna Terakota (#ba4b2e) agar senada */
    color: #030303; 
    
    letter-spacing: 2px; 
    font-weight: bold; 
    margin-top: 5px; 
}

#ayat .reveal-ayat { opacity: 0; pointer-events: none; }
/* =========================================================
   PERBAIKAN ANIMASI AYAT (INDEPENDENT SMART SCROLL)
   ========================================================= */
/* Sembunyikan jika belum discroll */
.reveal-ayat:not(.active) { 
    opacity: 0; 
    animation: none !important; 
    pointer-events: none; 
}
/* Bingkai (Kotak Putih) dan Foto Header */
/* Kotak Putih muncul duluan */
.cover-content.reveal-ayat.active { animation: heroFadeUp 1.5s ease-out 0s forwards; pointer-events: auto; }

/* Foto Header muncul di dalam kotak (pakai animasi zoom atau fade) */
.foto-ayat-header.reveal-ayat.active { animation: zoomOutReveal 1.5s ease-out 0.3s forwards; opacity: 0; pointer-events: auto; }

/* Konten Teks (Delay disesuaikan sedikit) */
.img-bismillah.reveal-ayat.active { animation: simpleFadeIn 1.5s ease-out 0.5s forwards; opacity: 0; pointer-events: auto; }
.teks-ayat.reveal-ayat.active { animation: heroZoomIn 1.5s ease-out 0.7s forwards; opacity: 0; pointer-events: auto; }
.sumber-ayat.reveal-ayat.active { animation: heroFadeUp 1.5s ease-out 0.9s forwards; opacity: 0; pointer-events: auto; }

/* Bunga Sudut Ayat berulang saat discroll */
.bunga-atas-kiri.reveal-ayat.active { animation: masukAtasKiri 4s cubic-bezier(0.22, 1, 0.36, 1) forwards, ayunKiri 8s ease-in-out infinite alternate; pointer-events: auto; }
.bunga-atas-kanan.reveal-ayat.active { animation: masukAtasKanan 4s cubic-bezier(0.22, 1, 0.36, 1) forwards, ayunKanan 8.5s ease-in-out infinite alternate; pointer-events: auto; }
.bunga-bawah-kiri.reveal-ayat.active { animation: masukBawahKiri 4s cubic-bezier(0.22, 1, 0.36, 1) forwards, ayunKiri 7.5s ease-in-out infinite alternate; pointer-events: auto; }
.bunga-bawah-kanan.reveal-ayat.active { animation: masukBawahKanan 4s cubic-bezier(0.22, 1, 0.36, 1) forwards, ayunKanan 9s ease-in-out infinite alternate; pointer-events: auto; }

/* Bingkai dan Konten Ayat berulang saat discroll */
.bingkai-tengah.reveal-ayat.active { animation: bingkaiMerahReveal 3s cubic-bezier(0.22, 1, 0.36, 1) 0s forwards; pointer-events: auto; }
.img-bismillah.reveal-ayat.active { animation: zoomOutReveal 1.5s ease-out 0.2s forwards; opacity: 0; pointer-events: auto; }
.teks-ayat.reveal-ayat.active { animation: heroZoomIn 1.5s ease-out 0.4s forwards; opacity: 0; pointer-events: auto; }
.sumber-ayat.reveal-ayat.active { animation: heroFadeUp 1.5s ease-out 0.6s forwards; opacity: 0; pointer-events: auto; }

/* =========================================================
   STYLE HALAMAN PROFIL
   ========================================================= */
.bg-profil {
    background-image: url('assets/bg_profil1.webp'); background-size: cover; background-position: center;
    background-attachment: fixed !important; position: relative; overflow: hidden; min-height: 100vh;
    display: flex; justify-content: center; align-items: center; padding: 80px 20px;
}
/* =========================================================
   SHAPE BINGKAI PROFIL (KAPSUL PUTIH SOLID, TANPA BLUR)
   ========================================================= */
#profil .bingkai-tengah { 
    width: 90%; 
    max-width: 380px; 
    height: calc(100% - 120px); 
    border-radius: 999px; 
    background: rgba(255, 255, 255, 0.85); 
    border: 4px solid #d78457; 
    position: absolute;
    top: 48%; 
    left: 50%;
    pointer-events: none; 
    z-index: 4; 
    
    /* 👇 UBAH DUA BARIS BAWAH INI 👇 */
    transform: translate(-50%, -50%) scale(1); /* Ukuran langsung normal (scale 1) */
    opacity: 1; /* Langsung terlihat penuh */
}
.judul-profil { 
    font-family: 'Cinzel Decorative', serif; 
    color: #000000; 
    text-align: center; 
    margin-bottom: 20px; }
.judul-profil .we-are { 
    display: block; 
    font-size: 1.2rem; 
    letter-spacing: 4px; 
    margin-bottom: 5px; }
.judul-profil .getting-married { 
    display: block; 
    font-size: 1.2rem; 
    font-weight: 600; }
.teks-pengantar-profil { 
    font-family: 'Poppins', sans-serif; 
    font-size: 0.8rem; 
    color: #000000; 
    text-align: center; 
    line-height: 1.6; 
    margin-top: -15px; 
    margin-bottom: 35px; 
    margin-top: -10px; 
    padding: 0 13px; 
    width: 85%; }
.profil-susun-container { display: flex; flex-direction: column; align-items: center; width: 100%; }
.profil-item { 
    display: flex; 
    flex-direction: column; 
    align-items: center; 
    text-align: center; 
    color: #000000;
    .profil-item {
    /* ... kode lama display flex, align items, dll ... */
    position: relative; /* SANGAT PENTING: Menjadi patokan tumpukan */
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    color: #ffe3be;
} 
}
/* =========================================================
   FOTO PROFIL MEMPELAI (BENTUK KAPSUL VERTIKAL)
   ========================================================= */
.foto-bulat { 
    /* 1. Ubah Proporsi Lebar dan Tinggi */
    width: 160px;  /* Lebar sedikit dirampingkan */
    height: 240px; /* Tinggi ditambah agar memanjang ke bawah (vertikal) */
    
    /* 2. Jadikan Kapsul / Round Sempurna */
    border-radius: 999px; 
    
    object-fit: cover; /* Menjaga agar foto tidak gepeng / penyok */
    border: none; 
    
    /* Padding tipis untuk bingkai emasnya */
    padding: 3px; 
    
    /* Gradasi bingkai (tetap dipertahankan karena sudah mewah) */
    background: linear-gradient(
        135deg, 
        rgba(255, 227, 190, 0.8) 0%,     
        rgba(255, 255, 255, 1) 15%,   
        rgba(255, 227, 190, 0.1) 50%,  
        rgba(255, 255, 255, 1) 85%,   
        rgba(255, 227, 190, 0.8) 100%    
    );
    
    margin-bottom: 25px; 
    
    /* 👇 GANTI BARIS BOX-SHADOW INI 👇 */
    box-shadow: 0 8px 15px rgba(0, 0, 0, 0.25);
    position: relative; /* Wajib agar z-index aktif */
    z-index: 2; /* Tumpukan Nomor 2 (Di Depan Bunga) */
    /* -------------------------- */
}

/* =========================================================
   SISTEM TRACKING FOTO & BUNGA PENGINTIP
   ========================================================= */

/* 1. Wadah pembungkus (Ukurannya akan otomatis memeluk foto) */
.foto-wrapper {
    position: relative; /* Ini kunci utamanya! Menjadi pusat koordinat baru */
    display: inline-block;
    margin-bottom: 25px; /* Pindahkan margin bawah dari foto ke wadah ini */
}

/* 2. Pastikan margin bawah di foto asli direset agar tidak dobel */
.foto-bulat {
    position: relative;
    z-index: 2; /* Foto wajib di depan */
    margin-bottom: 0 !important; 
}

/* 3. Posisi Bunga (Sekarang koordinatnya dihitung dari FOTO, bukan layar) */
.bunga-ngintip {
    position: absolute;
    z-index: 1; /* Bunga di belakang foto */
    width: 140px; /* Ukuran bunga */
    
    /* --- KOORDINAT MENGINTIP (Pasti akurat di semua HP) --- */
    top: -25px;   /* Angka minus = ditarik sedikit ke atas melewati ujung foto */
    left: -50px;  /* Angka minus = ditarik keluar ke kiri melewati batas foto */
    
    pointer-events: none;
}

/* Animasi Muncul Bunga (Mengikuti yang sudah ada) */
.bunga-ngintip.reveal-profil.active { 
    animation: heroFadeUp 1.5s ease-out 0.2s forwards; 
    opacity: 0; 
}
/* Memicu Animasi saat di-scroll masuk layar */
.bunga-hiasan-profil.reveal-profil.active {
    /* Menggunakan animasi heroFadeUp yang sudah Anda miliki agar senada */
    animation: heroFadeUp 2s ease-out forwards; 
}
.nama-panggilan { font-family: 'Cinzel Decorative', serif; font-size: 1.3rem; margin-bottom: 15px; }
.nama-lengkap { 
    font-family: 'Poppins', sans-serif; 
    font-size: 1rem; font-weight: 600; margin-bottom: 15px; letter-spacing: 1px; }
.status-anak { font-size: 0.7rem; margin-bottom: 15px; font-style: italic; line-height: 1.6; opacity: 0.9; }
/* =========================================================
   TOMBOL INSTAGRAM PROFIL (GRADASI)
   ========================================================= */
.btn-ig-profil { 
    display: inline-block; 
    color: #ffffff; /* Teks warna putih solid */
    text-decoration: none; 
    font-size: 0.65rem; /* Sedikit dibesarkan agar teks putih lebih terbaca */
    padding: 8px 24px; /* Padding dibuat agak tebal agar tombol terlihat empuk */
    border-radius: 20px; 
    font-weight: bold; 
    position: relative; 
    z-index: 50; 
    pointer-events: auto; 
    
    /* Menghilangkan garis pinggir karena kita pakai gradasi solid */
    border: none; 
    
    /* --- GRADASI WARNA --- */
    /* Menggabungkan #d78457 dengan warna tema #ba4b2e */
    background: linear-gradient(135deg, #d78457 0%, #ba4b2e 100%);
    
    /* Bayangan lembut bernuansa hangat */
    box-shadow: 0 4px 10px rgba(186, 75, 46, 0.3);
    transition: all 0.3s ease;
}

/* Efek saat tombol disentuh/diklik */
.btn-ig-profil:hover, .btn-ig-profil:active { 
    transform: translateY(-2px); /* Tombol sedikit terangkat */
    box-shadow: 0 6px 15px rgba(186, 75, 46, 0.5); /* Bayangan membesar */
    
    /* Membalik arah gradasi saat di-hover untuk efek interaktif */
    background: linear-gradient(135deg, #ba4b2e 0%, #d78457 100%);
}
.simbol-dan-profil { font-family: 'Cinzel Decorative', serif; font-size: 2rem; color: #000000; margin: 30px 0; }
/* =========================================================
   IKON BUCKET BUNGA DI HALAMAN PROFIL
   ========================================================= */
#profil .ikon-bucket-profil {
    width: 125px; /* Atur ukuran lebar gambar di sini */
    height: auto;
    margin-bottom: -5px; /* Mengatur jarak antara gambar dengan teks WE ARE */
    margin-top: -50px; /* Mengatur jarak antara gambar dengan teks WE ARE */
    z-index: 10;
}

/* Animasi Muncul untuk Ikon Bucket Profil */
.ikon-bucket-profil.reveal-profil.active { 
    animation: heroFadeDown 1.5s ease-out 0s forwards; 
    opacity: 0; 
}

#profil .profil-susun-container .profil-item:last-child {
    margin-bottom: 40px; /* Tambahkan atau kurangi angka ini sesuai selera */
}
#profil .cover-content { max-width: 340px; z-index: 10; display: flex; flex-direction: column; align-items: center; padding-top: 70px; padding-bottom: 70px; gap: 15px; }

#profil .reveal-profil { opacity: 0; pointer-events: none; }
/* =========================================================
   PERBAIKAN ANIMASI PROFIL (INDEPENDENT SMART SCROLL)
   ========================================================= */
/* Sembunyikan elemen sebelum masuk layar */
.reveal-profil:not(.active) { 
    opacity: 0 !important; 
    animation: none !important; 
    pointer-events: none; 
}
.profil-item.reveal-profil:not(.active) * { 
    opacity: 0 !important; 
    animation: none !important; 
}

/* Bunga Sudut Profil berulang saat discroll */
.bunga-atas-kiri.reveal-profil.active { animation: masukAtasKiri 4s cubic-bezier(0.22, 1, 0.36, 1) forwards, ayunKiri 2s ease-in-out 3s infinite alternate;  }
.bunga-atas-kanan.reveal-profil.active { animation: masukAtasKanan 4s cubic-bezier(0.22, 1, 0.36, 1) forwards, ayunKanan 2.2s ease-in-out 3s infinite alternate;  }
.bunga-bawah-kiri.reveal-profil.active { animation: masukBawahKiri 4s cubic-bezier(0.22, 1, 0.36, 1) forwards, ayunKiri 7.5s ease-in-out infinite alternate; pointer-events: auto; }
.bunga-bawah-kanan.reveal-profil.active { animation: masukBawahKanan 4s cubic-bezier(0.22, 1, 0.36, 1) forwards, ayunKanan 9s ease-in-out infinite alternate; pointer-events: auto; }

/* Bingkai dan Header Profil */
.bingkai-tengah.reveal-profil.active { animation: bingkaiMerahReveal 1.5s cubic-bezier(0.22, 1, 0.36, 1) 0s forwards; pointer-events: auto; }
.judul-profil.reveal-profil.active { animation: heroZoomIn 1.5s ease-out 0s forwards; opacity: 0; pointer-events: auto;}
.teks-pengantar-profil.reveal-profil.active { animation: heroFadeUp 1.5s ease-out 0.2s forwards; opacity: 0; pointer-events: auto;}
.simbol-dan-profil.reveal-profil.active { animation: heroZoomIn 1.5s ease-out 0s forwards; opacity: 0; pointer-events: auto;}

/* Detail Foto dan Teks Mempelai (Delay dipersingkat agar langsung muncul) */
.profil-item.reveal-profil.active { opacity: 1 !important; pointer-events: auto; }
.profil-item.reveal-profil.active img { animation: heroZoomIn 1.5s ease-out 0s forwards; opacity: 0; }
.profil-item.reveal-profil.active h2 { animation: slideFromLeft 1s ease-out 0.2s forwards; opacity: 0; }
.profil-item.reveal-profil.active h3 { animation: simpleFadeIn 1s ease-out 0.4s forwards; opacity: 0; }
.profil-item.reveal-profil.active p { animation: simpleFadeIn 1s ease-out 0.6s forwards; opacity: 0; }
.profil-item.reveal-profil.active a { animation: heroFadeUp 1s ease-out 0.8s forwards; opacity: 0; pointer-events: auto; }
/* Mematikan paksa animasi khusus untuk bingkai profil agar stay/diam */
#profil .bingkai-tengah.reveal-profil,
#profil .bingkai-tengah.reveal-profil.active,
#profil .bingkai-tengah.reveal-profil:not(.active) {
    animation: none !important;
    opacity: 1 !important;
    transform: translate(-50%, -50%) scale(1) !important;
}

/* =========================================================
   STYLE HALAMAN COUNTDOWN (BACKGROUND SOLID WARNA)
   ========================================================= */
.bg-countdown {
    /* Menghapus gambar dan menggantinya dengan warna solid */
    background-color: #d78457 !important;
    background-image: none !important; 
    
    background-attachment: scroll !important; 
    padding: 0 !important; 
    display: flex; 
    flex-direction: column; 
    justify-content: flex-start;
}
.slider-container { position: relative; width: 100%; height: 60vh; overflow: hidden; }
.slides { display: flex; width: 300%; height: 100%; animation: slideAnimasi 15s infinite; }
.slide { width: 100%; height: 100%; }
.slide img { width: 100%; height: 100%; object-fit: cover; }
@keyframes slideAnimasi { 0%, 30% { transform: translateX(0); } 33%, 63% { transform: translateX(-33.33%); } 66%, 96% { transform: translateX(-66.66%); } 100% { transform: translateX(0); } }

/* =========================================================
   REDESIGN COUNTDOWN (TEMA KREM TERANG ELEGAN)
   ========================================================= */
/* Area Gradient menyatu dengan mulus ke bawah */
.gradient-overlay-premium {
    position: absolute;
    bottom: 0; left: 0; width: 100%; height: 180px;
    background: linear-gradient(to bottom, transparent, #DC8052);
}

.countdown-content-premium {
    flex: 1;
    padding: 20px 20px 80px 20px; 
    display: flex; flex-direction: column; align-items: center;
    z-index: 5;
    width: 100%;
    
    /* Fallback warna solid */
    background-color: #DC8052; 
    
    /* GRADASI SOFT TERHUBUNG: Dimulai dari #d78457 agar menyatu dengan overlay di atasnya, 
       kemudian turun perlahan ke warna krem/peach yang lebih soft */
    background-image: linear-gradient(to bottom,#DC8052,#c66230 ); 
}


/* =========================================================
   IKON BUCKET BUNGA DI HALAMAN COUNTDOWN
   ========================================================= */
.ikon-bucket-countdown {
    width: 180px; 
    max-width: 50vw; 
    height: auto;
    margin-top: -20px; 
    margin-bottom: 20px; 
    z-index: 10;
    opacity: 0; 
}

/* Memasukkan ikon ke dalam urutan animasi pintar (smart scroll) */
.countdown-content-premium.reveal-countdown.active .ikon-bucket-countdown { 
    animation: heroFadeDown 1.5s ease-out 0s forwards !important; 
}
.title-save-date-premium {
    font-family: 'Cinzel Decorative', serif;
    /* Warna diubah jadi Terakota agar kontras dengan krem */
    color: #ffffff; 
    font-size: 2rem; margin-bottom: 10px; letter-spacing: 4px; text-transform: uppercase; font-weight: bold;
}

/* =========================================================
   WARNA ORNAMEN PEMBATAS COUNTDOWN (PUTIH)
   ========================================================= */
.ornament-divider {
    margin-bottom: 30px;
    
    color: #EAA580; 
    fill: #EAA580;
    
    /* 👇 INI KUNCINYA: Filter diubah jadi trik pemutih murni 👇 */
    filter: brightness(0) invert(1);
}

/* Jika ada elemen path di dalam SVG-nya */
.ornament-divider path {
    fill: #EAA580;
}

/* Desain Kotak Countdown (Solid White Card) */
.countdown-elegant { display: flex; justify-content: center; align-items: center; gap: 8px; margin-bottom: 35px; }

.cd-item {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    width: 65px; height: 75px;
    background: #ffffff; /* Kotak jadi putih bersih */
    border: 1px solid rgba(186, 75, 46, 0.2); /* Garis tepi kemerahan halus */
    border-radius: 12px;
    box-shadow: 0 10px 20px rgba(186, 75, 46, 0.08); /* Bayangan lembut */
}

.cd-item span {
    font-size: 1.8rem; font-family: 'Cinzel Decorative', serif; font-weight: 700;
    /* Angka jadi Marun Gelap */
    color: #d78457; 
    line-height: 1; margin-bottom: 4px;
}

.cd-item p {
    font-size: 0.75rem; font-weight: bold;
    /* Label jadi Terakota */
    color: #d78457; 
    text-transform: uppercase; letter-spacing: 1px; margin: 0;
}

.cd-separator {
    font-size: 1.5rem; color: #ffffff; font-family: 'Cinzel Decorative', serif; font-weight: bold; margin-top: -15px;
}

.teks-undangan-countdown {
    /* Teks pengantar jadi gelap agar terbaca */
    color: #ffffff; 
    font-size: 0.85rem; line-height: 1.6; max-width: 325px; margin-bottom: 35px; text-align: center; opacity: 0.85; font-weight: 500;
}

/* =========================================================
   TOMBOL TANDAI KALENDER (OUTLINE PUTIH ELEGAN & STROKE SVG)
   ========================================================= */

/* 1. Desain Kotak Tombol Utama */
.btn-calendar-premium {
    background: transparent; /* Tanpa fill (Tembus pandang) */
    color: #ffffff;          /* Teks warna putih */
    border: 3px solid #ffffff; /* Garis pinggir warna putih tipis */
    
    padding: 12px 28px; 
    font-size: 0.9rem; 
    border-radius: 30px;
    font-family: 'Cormorant Garamond', serif; 
    font-weight: 700; 
    letter-spacing: 1.5px; 
    text-transform: uppercase;
    cursor: pointer; 
    display: flex; 
    align-items: center; 
    gap: 10px;
    transition: all 0.3s ease; 
    box-shadow: none; /* Bayangan dihapus agar clean */
}

/* 2. Pengaturan Ikon Kalender (SVG) Paksa Stroke */
.btn-calendar-premium svg,
.btn-calendar-premium svg * { 
    width: 18px; 
    height: 18px; 
    
    fill: none !important; /* Paksa matikan fill/isi */
    stroke: #ffffff !important; /* Paksa stroke warna putih */
    
    /* 👇 Ketebalan garis ikon. Sesuaikan angka ini (misal 2px, 2.5px, atau 3px) 👇 */
    stroke-width: 2px !important; 
    
    stroke-linecap: round !important; 
    stroke-linejoin: round !important;
    transition: all 0.3s ease;
}

/* 3. Efek saat tombol disentuh/diklik (Hover Kotak) */
.btn-calendar-premium:hover, 
.btn-calendar-premium:active {
    background: #ffffff;    /* Tombol terisi putih solid saat disentuh */
    color: #d78457;         /* Teks berubah jadi warna latar (Salem) agar terbaca */
    border-color: #ffffff;
    transform: translateY(-3px); 
    box-shadow: 0 8px 20px rgba(255, 255, 255, 0.3); /* Cahaya putih halus */
}

/* 4. Efek ikon (SVG) saat tombol disentuh */
.btn-calendar-premium:hover svg, 
.btn-calendar-premium:active svg,
.btn-calendar-premium:hover svg *, 
.btn-calendar-premium:active svg * {
    fill: none !important; 
    stroke: #d78457 !important; /* Stroke ikon ikut berubah jadi salem */
}

/* =========================================================
   PERBAIKAN ANIMASI COUNTDOWN (INDEPENDENT SMART SCROLL)
   ========================================================= */
/* Sembunyikan isi countdown jika belum discroll */
.countdown-content-premium.reveal-countdown:not(.active) * {
    opacity: 0 !important;
    animation: none !important;
}

/* Muncul berurutan ketika di-scroll */
.countdown-content-premium.reveal-countdown.active .title-save-date-premium { animation: eleganReveal 1s ease-out 0.2s forwards !important; opacity: 0; }
.countdown-content-premium.reveal-countdown.active .ornament-divider { animation: eleganReveal 1s ease-out 0.2s forwards !important; opacity: 0; }
.countdown-content-premium.reveal-countdown.active .countdown-elegant { animation: eleganReveal 1.5s ease-out 0.4s forwards !important; opacity: 0; }
.countdown-content-premium.reveal-countdown.active .teks-undangan-countdown { animation: eleganReveal 1s ease-out 0.7s forwards !important; opacity: 0; }
.countdown-content-premium.reveal-countdown.active .btn-calendar-premium { animation: eleganReveal 1s ease-out 1s forwards !important; opacity: 0; pointer-events: auto; }
/* =========================================================
   STYLE HALAMAN EVENT (REDESIGN: TEMA KREM TERANG)
   ========================================================= */
.bg-event {
    /* Fallback warna mengikuti awal gradasi */
    background-color: #EAA580 !important;
    
    /* GRADASI MENYAMBUNG: Dimulai dari #EAA580 (ujung bawah countdown), 
       turun perlahan ke warna krem/peach yang lebih terang (#F5C7B1) */
    background-image: linear-gradient(to bottom,#c66230 ) !important; 
    

    
    background-attachment: scroll !important;
    
    /* 👇 UBAH BAGIAN INI 👇 */
    min-height: auto; /* Hapus paksaan tinggi selayar penuh */
    display: flex; 
    justify-content: center; 
    align-items: flex-start; /* Paksa konten untuk merapat ke ATAS, bukan di tengah */
    position: relative; 
    overflow: hidden; 
    
    /* Atas 0px, Kanan 20px, Bawah 30px, Kiri 20px */
    padding: 0px 20px 30px 20px; 
}

.event-container.rampingkan { 
    max-width: 320px; 
    margin: 0 auto; 
    
    /* 👇 HAPUS JARAK ATAS DI WADAH INI 👇 */
    padding-top: 0px; 
    padding-bottom: 0px; /* Bawah juga dinolkan karena sudah diwakili oleh bg-event */
    
    z-index: 10; 
    position: relative;
}


/* 3. REDESIGN KARTU ACARA (KAPSUL BERSARANG / NESTED CAPSULE) */

/* Lapisan Pertama (Bawah): Berisi Gambar Tekstur */
/* 3. REDESIGN KARTU ACARA (KAPSUL BINGKAI / THICK STROKE) */

/* Lapisan Pertama (Bawah): Berfungsi seperti bingkai/stroke tebal bertekstur */
.event-card-premium {
    background-color: transparent; 
    background-image: url('assets/bg_profil1.webp'); 
    background-size: cover;
    background-position: center;
    
    border-radius: 999px; /* Bentuk Kapsul Sempurna */
    
    /* 👇 KUNCI RASI NYA ADA DI SINI 👇 */
    /* Jarak 20px SAMA RATA di semua sisi. 
       Ini akan membuat gambar terlihat seperti bingkai setebal 20px */
    padding: 20px; 
    
    margin-bottom: 40px;
    position: relative;
    box-shadow: 0 15px 35px rgba(186, 75, 46, 0.2); 
    text-align: center;
    border: 1px solid rgba(186, 75, 46, 0.3); 
}

/* Hilangkan garis tipis bawaan lama */
.event-card-premium::before {
    display: none;
}

/* Lapisan Kedua (Dalam): Kotak Putih Transparan (LEBIH BENING) */
.event-card-inner {
    /* Angka 0.5 berarti transparan 50%, teks akan tetap terbaca tapi background lebih bening */
    background: rgba(255, 255, 255, 0.85); 
    
    border-radius: 999px; 
    width: 100%;
    height: 100%;
    
    /* Padding disesuaikan dengan revisi sebelumnya (Atas 35px agar mepet ke atas) */
    padding: 35px 15px 70px 15px; 
    
    display: flex;
    flex-direction: column;
    align-items: center;
    
   
}

/* =========================================================
   IKON BUCKET BUNGA DI HALAMAN EVENT (AKAD & RESEPSI)
   ========================================================= */
.ikon-bucket-event {
    width: 150px; /* Ukuran lebih kecil dari countdown (180px) */
    height: auto;
    margin-top: 5px; /* Sedikit naik ke atas agar tidak terlalu mepet judul */
    margin-bottom: 25px;
    z-index: 10;
    opacity: 0;
    transition: all 0.3s ease;
}

/* Animasi muncul saat kartu event menjadi aktif (di-scroll) */
.event-card-premium.reveal.active .ikon-bucket-event {
    animation: heroFadeDown 1.5s ease-out 0.2s forwards !important;
}

/* Sembunyikan pembungkus ikon lama jika masih ada sisa CSS-nya */
.event-icon-wrapper {
    display: none;
}

/* Judul Acara (Akad Nikah / Resepsi) */
.title-small-event { 
    font-size: 1.8rem; 
    color: #080808; /* Ganti ke Marun Gelap agar tegas */
    margin-bottom: 5px; 
    font-family: 'Cinzel Decorative', serif;
    letter-spacing: 1px;
}

/* Tanggal & Waktu Acara */
.tanggal-event { 
    font-weight: 700; 
    color: #000000; /* Terakota */
    font-size: 1.05rem;
}

.waktu-event {
    font-size: 1.05rem;
    font-weight: bold;
    color: #020202; /* Marun Gelap */
    margin-top: 5px;
    margin-bottom: 18px;
}

/* Teks Keterangan & Alamat */
.teks-penghubung { 
    color: #000000; 
    font-size: 0.9rem;
    font-weight: bold;
    margin-bottom: 20px;
    opacity: 0.8;
}

.alamat-event {
    color: #050505; 
    font-size: 0.85rem; 
    line-height: 1.6;
    margin-bottom: 25px;
    opacity: 0.9;
}

/* 4. TOMBOL MAPS (SESUAIKAN DENGAN TOMBOL IG & CALENDAR) */
.btn-lokasi-premium {
    background: linear-gradient(135deg, #d78457 0%, #ba4b2e 100%);
    color: #ffffff;
    border: none;
    padding: 12px 28px;
    font-size: 0.85rem;
    border-radius: 30px;
    font-family: 'Cormorant Garamond', serif;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
    transition: all 0.3s ease;
    box-shadow: 0 5px 15px rgba(186, 75, 46, 0.3);
}

.btn-lokasi-premium:hover { 
    background: linear-gradient(135deg, #ba4b2e 0%, #d78457 100%);
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(186, 75, 46, 0.5);
    color: #ffffff;
}
/* =========================================================
   ANIMASI EVENT SCROLL (DIPERBAIKI AGAR INDEPENDEN)
   ========================================================= */
@keyframes eleganReveal { 
    0% { opacity: 0; transform: translateY(50px); } 
    100% { opacity: 1; transform: translateY(0); } 
}

/* 1. Sembunyikan elemen jika belum mendapat class .active dari Javascript */
.event-card-premium.reveal:not(.active) { 
    opacity: 0 !important; 
    animation: none !important; 
}


/* Karena sekarang dipicu masing-masing, delay panjang dihapus agar langsung muncul saat discroll */
.event-card-premium.reveal.active { 
    opacity: 0; 
    animation: eleganReveal 1.5s cubic-bezier(0.22, 1, 0.36, 1) 0.1s forwards !important; 
}
/* =========================================================
   STYLE HALAMAN GALLERY (PREMIUM DESIGN)
   ========================================================= */
.bg-gallery {
    background-image: linear-gradient(to bottom,#DC8052 ) !important; 
    background-size: cover;
    background-position: center;
    background-attachment: fixed !important; /* Efek Parallax */
    position: relative;
    padding: 80px 15px;
    min-height: 100vh;
}



.gallery-container {
    position: relative;
    z-index: 2; /* Agar konten berada di atas overlay */
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
}

.title-gallery {
    font-family: 'Cinzel Decorative', serif;
    color: #ffffff;
    font-size: 2.2rem;
    margin-bottom: 5px;
    text-align: center;
}

/* Container Utama Grid */
.gallery-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* Dasar 2 kolom */
    gap: 10px; /* Jarak antar foto */
    margin-top: 30px;
}

.gallery-item {
    width: 100%;
    /* Diubah menjadi vertikal (portrait) dengan rasio 3:4 */
    aspect-ratio: 3 / 4; 
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid rgba(255, 227, 190, 0.2);
    box-shadow: 0 8px 15px rgba(0, 0, 0, 0.3);
    background-color: rgba(255, 227, 190, 0.1);
    opacity: 0; /* Wajib ada untuk animasi zoom-in */
}

/* Pengaturan khusus untuk foto yang MELEBAR (Galeri 3 & 6) */
.gallery-item.wide {
    grid-column: span 2; /* Mengambil 2 kolom sekaligus */
    /* Bentuk melebar landscape (16:9 atau 21:9) */
    aspect-ratio: 16 / 9; 
}

.gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

/* Hover effect tetap dipertahankan */
.gallery-item:hover img {
    transform: scale(1.08);
}

/* =========================================================
   ANIMASI KHUSUS GALLERY (Diperhalus & Diperlambat)
   ========================================================= */
@keyframes zoomInElegant {
    0% { 
        opacity: 0; 
        transform: scale(0.5); 
    }
    100% { 
        opacity: 1; 
        transform: scale(1); 
    }
}

/* Perbaikan Animasi Judul Gallery (Mencegah efek double/bentrok) */
.header-gallery.reveal:not(.active) {
    opacity: 0 !important;
    animation: none !important;
}

.header-gallery.reveal.active {
    transition: none !important; /* Mematikan transition bawaan agar tidak berbayang */
    animation: eleganReveal 1.5s cubic-bezier(0.22, 1, 0.36, 1) 0s forwards !important;
}

/* Durasi animasi diubah dari 0.8s menjadi 1.5s agar membukanya pelan dan mulus.
   Jeda antar foto juga diatur lebih renggang (0.3s -> 0.6s -> 0.9s dst) */
#gallery.active .gallery-item.delay-1 { animation: zoomInElegant 2s cubic-bezier(0.22, 1, 0.36, 1) 0.3s forwards; }
#gallery.active .gallery-item.delay-2 { animation: zoomInElegant 2s cubic-bezier(0.22, 1, 0.36, 1) 0.6s forwards; }
#gallery.active .gallery-item.delay-3 { animation: zoomInElegant 2s cubic-bezier(0.22, 1, 0.36, 1) 0.9s forwards; }
#gallery.active .gallery-item.delay-4 { animation: zoomInElegant 2s cubic-bezier(0.22, 1, 0.36, 1) 1.2s forwards; }
#gallery.active .gallery-item.delay-5 { animation: zoomInElegant 2s cubic-bezier(0.22, 1, 0.36, 1) 1.5s forwards; }
#gallery.active .gallery-item.delay-6 { animation: zoomInElegant 2s cubic-bezier(0.22, 1, 0.36, 1) 1.8s forwards; }

/* =========================================================
   NAVIGASI BAWAH (VERSI RAMPING & ELEGAN)
   ========================================================= */
.footer-wrapper {
    position: fixed;
    bottom: 20px; /* Jarak dari batas bawah layar */
    left: 0;
    width: 100%;
    display: flex;
    justify-content: center;
    z-index: 1000;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events: none; /* Mencegah area kosong di samping menu menghalangi klik */
}

/* Kelas untuk menyembunyikan navigasi saat scroll ke bawah */
.footer-wrapper.nav-hidden {
    transform: translateY(150%);
}

.nav-bottom {
    background: rgba(255, 255, 255, 0.85); /* Warna merah tema transparan */
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 227, 190, 0.3);
    padding: 6px 12px; /* DIPERKECIL: Membuat kapsul lebih pipih/ramping */
    border-radius: 40px; /* Bentuk kapsul membulat */
    display: flex;
    gap: 8px; /* DIPERKECIL: Jarak antar ikon agar lebih rapat */
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.4);
    pointer-events: auto; /* Mengaktifkan klik khusus di area kapsul */
}

.nav-btn {
    width: 36px;  /* DIPERKECIL: Ukuran bulatan tombol (sebelumnya mungkin 45-50px) */
    height: 36px; /* DIPERKECIL: Ukuran bulatan tombol */
    border-radius: 50%;
    background-color: transparent;
    color: #000000; 
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    font-size: 1.1rem; /* DIPERKECIL: Ukuran ikon/teks di dalamnya */
    transition: all 0.3s ease;
}

/* Efek saat tombol ditekan/disentuh */
.nav-btn:hover, .nav-btn:active {
    background-color: #d78457;
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(255, 227, 190, 0.3);
}
/* =========================================================
   STYLE GAMBAR IKON NAVIGASI BAWAH
   ========================================================= */
.nav-btn img {
    width: 18px;  /* Mengatur ukuran gambar agar proporsional di dalam kapsul */
    height: 18px;
    object-fit: contain;
    transition: all 0.3s ease;
}

/* Mengubah ikon PNG berwarna hitam menjadi putih murni saat disentuh */
.nav-btn:hover img, 
.nav-btn:active img {
    filter: brightness(0) invert(1);
}

#music-toggle { position: fixed; bottom: 85px; right: 20px; width: 36px; height: 36px; border-radius: 50%; z-index: 101; display: none; justify-content: center; align-items: center; font-size: 1.1rem; font-weight: bold; background-color: #d78457; color: #ffffff; border: none; box-shadow: 0 4px 10px rgba(0,0,0,0.3); cursor: pointer; transition: all 0.3s ease; }
#music-toggle:active { background-color: #d78457; transform: translateY(-3px); box-shadow: 0 6px 12px rgba(0,0,0,0.4); }

.reveal { opacity: 0; transform: translateY(30px); transition: all 0.6s ease-out; }
.reveal.active { opacity: 1; transform: translateY(0); }
.hidden { display: none; }
.show { display: block; }

/* DEKORASI PISAH (ATAS & BAWAH) */
.dekor-pisah { position: absolute; left: 0; width: 100%; height: auto; pointer-events: none; z-index: 4; opacity: 0; }
.dekor-atas { top: 0; } .dekor-bawah { bottom: 0; }
#cover-page .dekor-pisah { animation: munculBingkaiAman 1.5s ease-in-out 1s forwards; }
body.locked #hero .dekor-pisah { animation: none !important; opacity: 0 !important; }
body:not(.locked) #hero .dekor-pisah { animation: munculBingkaiAman 1.5s ease-in-out 0.2s forwards; }
#ayat.active .dekor-pisah.reveal-ayat, #profil.active .dekor-pisah.reveal-profil, #event.active .dekor-pisah.reveal-event { animation: munculBingkaiAman 1.5s ease-in-out 0.5s forwards; }

/* MODE DESKTOP */
@media (min-width: 500px) {
    body { width: 100%; max-width: 414px; margin: 0 auto; box-shadow: 0 0 50px rgba(0,0,0,0.15); }
    #cover-page { width: 414px !important; left: 50% !important; transform: translateX(-50%) !important; }
    #cover-page.slide-up { transform: translate(-50%, -100%) !important; }
    .footer-wrapper { width: 414px; left: 50%; transform: translateX(-50%); }
    #music-toggle { right: calc(50vw - 207px + 20px) !important; }

    /* PERBAIKAN FINAL ANTI-ZOOM */
    .bg-profil, .bg-event, .bg-countdown, .bg-gallery, .bg-story, .bg-rsvp, .bg-turut, .bg-penutup {
        background-attachment: scroll !important; 
        background-size: 100% auto !important; 
        background-repeat: repeat !important; 
        background-position: top center !important; 
    }
}
@media (hover: hover) { #music-toggle:hover { background-color: #865013; transform: translateY(-3px); box-shadow: 0 6px 12px rgba(0,0,0,0.4); } }

/* =========================================================
   STYLE HALAMAN OUR STORY (FUTURISTIC & ELEGANT)
   ========================================================= */
.bg-story {
    /* Mengubah gradasi menjadi warna solid persis seperti halaman Countdown */
    
 background-image: url('assets/bg_profil1.webp'); 
 background-size: cover; 
 background-position: center;
 background-attachment: fixed !important; position: relative; overflow: hidden; min-height: 100vh;
 display: flex; 
 justify-content: center; 
 align-items: center; 
 padding: 50px 20px;

}

/* Hilangkan overlay karena kita sudah pakai gradasi warna solid */
.overlay-story {
    display: none; 
}

.story-container {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 450px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.title-story {
    font-family: 'Cinzel Decorative', serif; 
    color: #ffffff; /* Warna teks sesuai permintaan */
    font-size: 2.2rem; 
    margin-bottom: 5px; 
    text-align: center;
    text-shadow: 0 0 15px rgba(255, 227, 190, 0.3);
}

.story-slider-wrapper {
    position: relative;
    width: 100%;
    overflow: hidden;
    padding: 20px 0 40px 0;
}

.story-slider {
    display: flex;
    transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
    width: 100%;
}

.story-slide {
    min-width: 100%;
    padding: 0 15px;
    box-sizing: border-box;
}

/* KARTU MENGAMBANG FUTURISTIK */
.story-card {
    background: rgba(255, 255, 255, 0.70); 
    border: 4px solid #d78457; /* Border warna ffe3be */
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 25px 45px rgba(0, 0, 0, 0.5), inset 0 0 20px rgba(255, 227, 190, 0.05);
    text-align: center;
    position: relative;
}

.floating-effect { animation: floatAnim 6s ease-in-out infinite; }
.delay-float-1 { animation-delay: 1s; }
.delay-float-2 { animation-delay: 2s; }

@keyframes floatAnim {
    0% { transform: translateY(0px); }
    50% { transform: translateY(-12px); box-shadow: 0 35px 55px rgba(0, 0, 0, 0.6), inset 0 0 20px rgba(255, 227, 190, 0.1); }
    100% { transform: translateY(0px); }
}

.story-img-wrapper {
    position: relative;
    width: 100%;
    height: 220px;
    border-bottom: 1px solid rgba(255, 227, 190, 0.2);
}

.story-img-wrapper img {
    width: 100%; height: 100%; object-fit: cover;
    opacity: 0.85; filter: grayscale(20%) sepia(10%);
    transition: all 0.5s ease;
}

.story-card:hover .story-img-wrapper img {
    opacity: 1; filter: grayscale(0%) sepia(0%); transform: scale(1.05);
}

/* Lencana Tanggal Futuristik */
.story-date-badge {
    position: absolute;
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
    background: #d78457; /* Background badge pakai warna ffe3be */
    color: #ffffff; /* Teks warna background agar sangat kontras dan terbaca */
    padding: 6px 20px;
    border-radius: 30px;
    font-size: 0.8rem;
    font-weight: 900;
    font-family: 'Poppins', serif;
    box-shadow: 0 5px 15px rgba(255, 227, 190, 0.4);
    z-index: 3;
    white-space: nowrap;
}

.story-content {
    padding: 35px 20px 25px 20px;
}

.story-phase {
    font-family: 'Cinzel Decorative', serif;
    color: #000000; /* Warna teks sesuai permintaan */
    font-size: 1.5rem;
    margin-bottom: 15px;
    letter-spacing: 1px;
}

.story-text {
    font-family: 'Poppins', serif;
    color: rgba(0, 0, 0, 0.85); /* Warna ffe3be tapi sedikit transparan agar tidak bertabrakan dengan judul */
    font-size: 0.9rem;
    line-height: 1.6;
}

/* Navigasi Panah */
.story-nav {
    position: absolute;
    top: 45%;
    transform: translateY(-50%);
    background: rgba(230, 100, 35, 0.6);
    border: 1px solid rgba(255, 227, 190, 0.3);
    color: #ffe3be; /* Warna panah */
    width: 35px; height: 35px;
    border-radius: 50%;
    cursor: pointer;
    z-index: 10;
    display: flex; justify-content: center; align-items: center;
    backdrop-filter: blur(5px);
    transition: all 0.3s ease;
}
.story-nav:hover { background: #ffe3be; color: #000000; }
.story-nav.prev { left: 5px; }
.story-nav.next { right: 5px; }

/* Indikator Titik */
.story-dots {
    display: flex; gap: 8px; justify-content: center; margin-top: 10px;
}
.story-dots .dot {
    width: 10px; height: 10px;
    background: rgba(255, 227, 190, 0.3); /* Titik pasif */
    border-radius: 50%; cursor: pointer;
    transition: all 0.3s ease;
}
.story-dots .dot.active {
    background: #ffe3be; /* Titik aktif */
    width: 25px; border-radius: 10px;
    box-shadow: 0 0 10px rgba(255, 227, 190, 0.5);
}

/* =========================================================
   STYLE HALAMAN GIFT (PREMIUM DESIGN: ATM & KADO)
   ========================================================= */
.bg-gift {
    background-image: url('assets/bg_galeri.webp'); 
    background-size: cover !important; 
    background-repeat: no-repeat !important; 
    background-position: top center !important; 
    background-attachment: fixed !important;
    min-height: 100vh; 
    display: flex; 
    justify-content: center; 
    align-items: center;
    position: relative; 
    overflow: hidden; 
    padding: 60px 20px;
}

.header-gift {
    text-align: center;
    margin-bottom: 35px;
    display: flex;
    flex-direction: column;
    align-items: center;
    z-index: 10;
}

.title-gift {
    font-family: 'Cinzel Decorative', serif;
    font-size: 2.2rem;
    color: #ffffff;
    margin-bottom: 30px; 
    margin-top: 20px;
}

.subtitle-gift {
    font-family: 'Poppins', serif;
    color: #ffffff;
    font-size: 0.8rem;
    line-height: 1.6;
    opacity: 0.9;
    max-width: 320px;
    margin: 0 auto;
}

.gift-cards-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    z-index: 10;
}

.gift-item-wrapper {
    width: 100%;
    display: flex;
    justify-content: center;
    /* UBAH BARIS INI: 
       Sebelumnya 20px atau 25px, naikkan menjadi 40px atau 50px */
    margin-bottom: 40px; 
}

/* -------------------------------------------
   A. DESAIN KARTU ATM MEWAH (BCA & E-WALLET)
   ------------------------------------------- */
.atm-card-design {
    width: 100%;
    max-width: 340px;
    aspect-ratio: 1.586 / 1;
    /* Gradasi Orange ke Putih */
    background: linear-gradient(135deg, #d78457 0%, #ffffff 100%);
    border: 1px solid rgba(215, 132, 87, 0.3); /* Warna border disesuaikan */
    border-radius: 18px;
    padding: 22px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12); /* Shadow diperhalus (Soft Shadow) */
    position: relative;
    overflow: hidden;
}

.atm-card-design::after {
    content: '';
    position: absolute;
    top: -50%; left: -50%; width: 200%; height: 200%;
    /* Efek pantulan cahaya diubah putih agar cocok dengan tema terang */
    background: linear-gradient(to bottom right, rgba(255, 255, 255, 0.8) 0%, transparent 40%, transparent 100%);
    transform: rotate(30deg);
    pointer-events: none;
}

.atm-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    z-index: 2; 
}

.atm-chip {
    width: 42px;
    height: auto;
    filter: drop-shadow(0 2px 3px rgba(0,0,0,0.15));
}

.atm-bank-name {
    font-family: 'Poppins', serif;
    color: #2d2d2d; /* Hitam elegan/Abu gelap */
    font-size: 1.15rem;
    font-weight: 900;
    letter-spacing: 2px;
    text-shadow: none; /* Shadow dihapus agar terlihat profesional & bersih */
    text-transform: uppercase;
}

.atm-body {
    text-align: left;
    z-index: 2;
}

.atm-number {
    font-family: 'Courier New', monospace;
    font-size: 1.5rem;
    color: #1a1a1a; /* Hitam pekat untuk nomor rekening */
    font-weight: bold;
    letter-spacing: 3px;
    text-shadow: none;
    margin-top: 10px;
}

.atm-footer {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    z-index: 2;
}

.atm-holder {
    display: flex;
    flex-direction: column;
    text-align: left;
}

.atm-label {
    font-family: Arial, sans-serif;
    font-size: 0.6rem;
    color: #666666; /* Abu-abu netral untuk label */
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 700;
    margin-bottom: 3px;
}

.atm-name {
    font-family: 'Poppins', serif;
    font-size: 1.1rem;
    color: #2d2d2d;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-weight: 700;
    text-shadow: none;
}

.btn-copy-inside {
    background: #ba4b2e; /* Tombol Marun/Orange Gelap sebagai kontras utama */
    border: none;
    color: #ffffff; /* Teks tombol putih */
    padding: 6px 16px;
    border-radius: 8px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 6px;
    font-family: Arial, sans-serif;
    font-size: 0.75rem;
    font-weight: bold;
    text-transform: uppercase;
    transition: all 0.3s ease;
    box-shadow: 0 4px 10px rgba(186, 75, 46, 0.3);
}

.btn-copy-inside svg { width: 14px; height: 14px; }

.btn-copy-inside:hover { 
    background: #2d2d2d; /* Tombol berubah jadi gelap elegan saat ditekan */
    color: #ffffff; 
    transform: scale(1.05); 
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.2);
}

/* -------------------------------------------
   B. DESAIN KARTU KADO FISIK (GLASSMORPHISM)
   ------------------------------------------- */
.gift-card-premium {
    border-radius: 16px;
    padding: 30px 20px;
    width: 100%;
    max-width: 350px;
    text-align: center;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    
    /* Gradasi disamakan dengan desain ATM */
    background: linear-gradient(135deg, #d78457 0%, #ffffff 100%);
    border: 1px solid rgba(215, 132, 87, 0.3);
    justify-content: space-between;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
}

.gift-card-premium::before {
    content: '';
    position: absolute;
    top: 0; left: 50%; transform: translateX(-50%);
    width: 60%; height: 3px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.9), transparent);
}

/* Memastikan nama "Kirim Kado Fisik" yang ada di HTML ikut berubah warna */
.bank-name {
    color: #2d2d2d !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1) !important;
    font-weight: 700;
}

.gift-icon-wrapper svg {
    width: 40px; height: 40px;
    stroke: #ba4b2e; /* Ikon kado berubah jadi warna tema */
    margin-bottom: 15px;
    opacity: 1;
}

.rek-name {
    margin-bottom: 8px; 
    font-family: 'Poppins', sans-serif; 
    color: #1a1a1a; /* Teks gelap */
    font-size: 1.1rem; 
    font-weight: bold;
}

.alamat-kado {
    font-size: 0.95rem; 
    line-height: 1.5; 
    color: #555555; /* Abu-abu agar beda hierarki dengan nama penerima */
    margin-bottom: 20px;
}

.btn-copy-premium {
    background-color: #ba4b2e; /* Solid background untuk tombol utama */
    color: #ffffff;
    border: none;
    padding: 10px 28px;
    font-size: 0.85rem;
    border-radius: 30px;
    font-family: 'Cormorant Garamond', serif;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    cursor: pointer;
    transition: all 0.3s ease;
    margin-top: 15px;
    box-shadow: 0 5px 15px rgba(186, 75, 46, 0.3);
}

.btn-copy-premium:hover, .btn-copy-premium:active { 
    background-color: #2d2d2d; 
    color: #ffffff; 
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}

/* -------------------------------------------
   C. TOMBOL WHATSAPP CONFIRM
   ------------------------------------------- */
.wa-confirm-wrapper {
    margin-top: 20px;
    text-align: center;
    z-index: 10;
}

.wa-text {
    color: #ffffff;
    font-size: 0.95rem;
    margin-bottom: 15px;
    font-style: italic;
    opacity: 0.9;
}

.btn-wa-premium {
    background-color: #3d9327;
    color: #ffffff; 
    border: none;
    padding: 8px 24px;
    font-size: 0.9rem;
    border-radius: 20px;
    font-family: 'Poppins', serif;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    transition: all 0.3s ease;
    box-shadow: 0 5px 15px rgba(82, 12, 35, 0.2);
}

.btn-wa-premium:hover, .btn-wa-premium:active {
    background-color: #753008;
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(176, 13, 65, 0.4);
}

/* =========================================================
   STYLE HALAMAN RSVP (PREMIUM & GLASSMORPHISM)
   ========================================================= */
.bg-rsvp {
    background-image: url('assets/bg_cover1.webp'); /* Sama persis dengan Gallery */
    background-size: cover;
    background-position: center;
    background-attachment: fixed !important; /* Efek Parallax */
    position: relative;
    padding: 80px 20px;
    min-height: 100vh;
}

.overlay-rsvp {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(215, 132, 87, 0.2);
    z-index: 1;
}

.rsvp-container {
    position: relative;
    z-index: 2; /* Agar berada di atas overlay */
    width: 100%;
    max-width: 450px;
    margin: 0 auto;
}

.header-rsvp {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.title-rsvp {
    font-family: 'Cinzel Decorative', serif;
    color: #ffffff;
    font-size: 2.2rem;
    margin-bottom: 5px;
}

.subtitle-rsvp {
    font-family: 'Poppins', serif;
    color: #ffffff;
    font-size: 0.8rem;
    line-height: 1.6;
    opacity: 0.9;
    margin-bottom: 30px;
}

/* Kotak Form dan Wall Glassmorphism */
.rsvp-form-box, .wish-wall-box {
    background: rgba(101, 19, 3, 0.45);
    border: 1px solid rgba(255, 227, 190, 0.25);
    border-radius: 16px;
    padding: 30px 20px;
    margin-bottom: 25px;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2);
}

/* =========================================================
   Styling Input Form (Background Putih, Teks Hitam, Font Biasa)
   ========================================================= */
.form-group {
    margin-bottom: 15px;
}

.form-group input, .form-group select, .form-group textarea {
    width: 100%;
    background-color: #ffffff; /* Background diubah menjadi putih solid */
    border: 1px solid rgba(255, 227, 190, 0.8); /* Garis batas tetap ada sentuhan emas/krem */
    color: #111111; /* Teks diubah menjadi hitam */
    padding: 12px 15px;
    border-radius: 8px;
    font-family: Arial, Helvetica, sans-serif; /* Font diubah ke standar/biasa agar jelas */
    font-size: 1rem;
    outline: none;
    transition: all 0.3s ease;
}

/* Warna Placeholder (Teks petunjuk sebelum diketik) */
.form-group input::placeholder, .form-group textarea::placeholder {
    color: #888888; /* Diubah jadi abu-abu agar kontras di atas putih */
    font-family: Arial, Helvetica, sans-serif;
}

/* Efek saat form diklik (Fokus) */
.form-group input:focus, .form-group select:focus, .form-group textarea:focus {
    border-color: #c1121f; /* Garis batas berubah merah saat diketik */
    box-shadow: 0 0 8px rgba(193, 18, 31, 0.3);
}

/* Khusus Dropdown Select (Pilihan Kehadiran) */
.form-group select option {
    background-color: #ffffff; /* Background pilihan jadi putih */
    color: #111111; /* Teks pilihan jadi hitam */
}

/* Tombol Submit Premium */
.btn-submit {
    width: 100%;
    background-color: transparent;
    color: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.6);
    padding: 12px;
    font-size: 1rem;
    border-radius: 30px;
    font-family: 'Cormorant Garamond', serif;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    cursor: pointer;
    transition: all 0.3s ease;
    margin-top: 10px;
}

.btn-submit:hover, .btn-submit:active {
    background-color: #ffe3be;
    color: #30041c;
    border-color: #ffe3be;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(255, 227, 190, 0.2);
}

/* Area Scroll untuk Buku Tamu */
.wish-messages {
    max-height: 250px;
    overflow-y: auto;
    padding-right: 5px;
}

/* Styling Scrollbar Kustom agar Estetik */
.wish-messages::-webkit-scrollbar { width: 5px; }
.wish-messages::-webkit-scrollbar-track { background: rgba(255, 227, 190, 0.1); border-radius: 10px; }
.wish-messages::-webkit-scrollbar-thumb { background: rgba(255, 227, 190, 0.4); border-radius: 10px; }
/* =========================================================
   STYLE BALON UCAPAN BUKU TAMU (BACKGROUND PUTIH & FONT STANDAR)
   ========================================================= */
.wish-item {
    background-color: #ffffff; /* Latar putih solid */
    border: 1px solid #dddddd; /* Garis batas abu-abu halus */
    padding: 15px;
    border-radius: 12px;
    margin-bottom: 12px;
    text-align: left;
    transition: transform 0.3s ease;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15); /* Tambahan sedikit bayangan agar menonjol */
}

.wish-item:hover {
    transform: translateX(5px); 
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.2);
}

.wish-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
    border-bottom: 1px dashed #ffffff; /* Garis putus-putus abu-abu */
    padding-bottom: 8px;
}

.wish-name {
    color: #111111; /* Teks nama hitam pekat */
    font-family: Arial, Helvetica, sans-serif; /* Font biasa */
    font-size: 1rem;
    font-weight: bold;
}

.wish-status {
    font-size: 0.75rem;
    padding: 4px 12px;
    border-radius: 20px;
    font-family: Arial, Helvetica, sans-serif; /* Font biasa */
    font-weight: bold;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.wish-text {
    color: #333333; /* Teks ucapan abu-abu gelap/hitam */
    font-family: Arial, Helvetica, sans-serif; /* Font biasa */
    font-size: 0.95rem;
    margin: 0;
    line-height: 1.5;
    font-style: normal; /* Dibuat tegak (tidak miring) agar makin mudah dibaca */
}
/* =========================================================
   STYLE HALAMAN PENUTUP (ELEGANT BACKGROUND)
   ========================================================= */
.bg-penutup {
    background-image: url('assets/bg_penutup1.webp');
    background-size: cover;
    background-position: center top; 
    background-attachment: fixed !important; 
    position: relative;
    min-height: 100vh;
    display: flex;
    justify-content: center;
    align-items: flex-end; 
    
    /* UBAH BARIS INI: 15vh diganti menjadi 8vh (semakin kecil angka = semakin ke bawah) */
    padding: 0 20px 95px 20px !important; 
    
    overflow: hidden;
}

.overlay-penutup {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    /* Gradasi Terakota (#ba4b2e) */
    background: linear-gradient(
        to bottom, 
        rgba(186, 75, 46, 0.05) 0%,   /* Sangat transparan di bagian atas agar foto terlihat */
        rgba(186, 75, 46, 0.4) 50%,   /* Transisi memudar di tengah */
        rgba(186, 75, 46, 0.95) 100%  /* Hampir solid di bawah agar teks mudah dibaca */
    );
    z-index: 1;
}

.penutup-container {
    position: relative;
    z-index: 2; /* Agar teks di atas overlay */
    text-align: center;
    width: 100%;
    max-width: 400px;
}

.nama-mempelai-penutup {
    font-family: 'Cinzel Decorative', serif;
    color: #ffffff;
    font-size: 1.8rem;
    margin-bottom: 0;
    text-shadow: 0 5px 15px rgba(0, 0, 0, 0.6); /* Bayangan hitam agar teks menonjol */
}

.teks-penutup {
    font-family: 'Cormorant Garamond', serif;
    color: rgba(255, 255, 255, 0.95);
    font-size: 1rem;
    line-height: 1.6;
    font-style: italic;
    margin-bottom: 30px;
    text-shadow: 0 3px 8px rgba(0, 0, 0, 0.6);
}

.terima-kasih {
    font-family: 'Cinzel Decorative', serif;
    color: #ffffff;
    font-size: 1.1rem;
    letter-spacing: 4px;
    text-transform: uppercase;
    text-shadow: 0 3px 8px rgba(0, 0, 0, 0.6);
}

/* Animasi Dekorasi Atas Bawah khusus halaman Our Story */
#story:not(.active) .dekor-pisah {
    opacity: 0 !important;
    animation: none !important;
}

#story.active .dekor-pisah {
    opacity: 0;
    animation: munculBingkaiAman 1s ease-in-out 0s forwards !important;
}
/* =========================================================
   ANIMASI DEKORASI BAWAH - HALAMAN COUNTDOWN
   ========================================================= */
#countdown-baru:not(.active) .dekor-pisah {
    opacity: 0 !important;
    animation: none !important;
}

#countdown-baru.active .dekor-pisah {
    opacity: 0;
    animation: munculBingkaiAman 1s ease-in-out 0s forwards !important;
    z-index: 10; /* Memastikan dekorasi berada di atas background tapi tidak menutupi tombol */
}
/* =========================================================
   ANIMASI DEKORASI ATAS - HALAMAN GALLERY
   ========================================================= */
#gallery:not(.active) .dekor-pisah {
    opacity: 0 !important;
    animation: none !important;
}

#gallery.active .dekor-pisah {
    opacity: 0;
    animation: munculBingkaiAman 1s ease-in-out 0s forwards !important;
    z-index: 10; /* Memastikan dekorasi berada di atas overlay transparan */
}
/* =========================================================
   EDIT ANIMASI DEKORASI ATAS (HALAMAN EVENT)
   ========================================================= */
#event.active .dekor-atas.reveal-event {
    /* Format: nama-animasi | durasi | gaya-gerak | waktu-tunda (delay) | forwards */
    animation: munculBingkaiAman 1s ease-in-out 0s forwards !important;
}
/* =========================================================
   PERBAIKAN FINAL BACKGROUND DESKTOP (PROFIL DISAMAKAN DENGAN EVENT)
   ========================================================= */
@media (min-width: 500px) {
    /* 1. Matikan Parallax untuk SEMUA halaman di Desktop */
    html body #hero,
    html body #ayat,
    html body #profil,
    html body #countdown-baru,
    html body #event,
    html body #story,
    html body #gallery,
    html body #gift,
    html body #rsvp,
    html body #penutup {
        background-attachment: scroll !important; 
        background-position: top center !important; 
    }

    /* 2. Kelompok Halaman yang menggunakan pola (Fitting 100% Lebar) */
    /* Kita masukkan #profil ke sini agar tidak nge-zoom */
    html body #profil,
    html body #event, 
    html body #gift {
        background-size: 100% auto !important; 
        background-repeat: repeat !important;
    }

    /* 3. Kelompok Halaman yang menggunakan foto estetik (Full Cover) */
    html body #story,
    html body #gallery,
    html body #rsvp, 
    html body #penutup {
        background-size: cover !important; 
        background-repeat: no-repeat !important;
    }
}
/* =========================================================
   2. REDESIGN CREDIT (TEMA KREM ELEGANT)
   ========================================================= */
.credit-wrapper {
    position: absolute;
    bottom: 95px; /* Posisikan 95px dari bawah, memberi ruang untuk navigasi */
    left: 0;
    width: 100%;
    display: flex;
    justify-content: center;
    z-index: 100;
    pointer-events: auto;
    margin: 0;
    padding: 0;
}

.credit-box {
    background-color: #ffe3be; /* Warna Krem Tema */
    color: #ba4b2e; /* Teks Marun/Terakota */
    border: 2px solid #d78457;
    padding: 6px 20px;
    border-radius: 50px;
    text-decoration: none;
    font-family: 'Poppins', serif;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    gap: 6px;
    transition: all 0.3s ease;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.4);
}

.credit-box span {
    font-size: 0.75rem;
    font-weight: 400;
    text-transform: none;
    font-style: italic;
    color: #555555; /* Abu-abu agar 'Design by' tidak terlalu mencolok */
}

.credit-box:hover, .credit-box:active {
    background-color: #ba4b2e;
    color: #ffffff;
    border-color: #ffffff;
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.6);
}

.credit-box:hover span, .credit-box:active span {
    color: rgba(255, 255, 255, 0.8);
}

/* =========================================================
   3. REDESIGN NAVIGASI (MENETAP DI PENUTUP)
   ========================================================= */
.footer-wrapper {
    position: absolute; /* Mengunci posisinya DI DALAM halaman penutup */
    bottom: 25px; /* Berada paling bawah layar penutup */
    left: 0;
    width: 100%;
    display: flex;
    justify-content: center;
    z-index: 1000;
    pointer-events: auto;
    
    /* 🔴 MATIKAN EFEK JS: 
       Memaksa JS agar tidak menyembunyikan menu ini saat discroll */
    transform: none !important; 
    transition: none !important;
}

/* Memastikan class nav-hidden dari Javascript tidak berfungsi lagi */
.footer-wrapper.nav-hidden {
    transform: none !important;
}

/* Desain Kapsul Navigasi */
.nav-bottom {
    background: linear-gradient(135deg, #d78457 0%, #ba4b2e 100%); /* Tema Terakota */
    border: 2px solid #ffe3be; /* Garis tepi warna Krem */
    padding: 8px 15px;
    border-radius: 50px;
    display: flex;
    gap: 10px;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.5);
}

.nav-btn {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: transparent;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all 0.3s ease;
}

/* Ikon Gambar di dalam tombol */
.nav-btn img {
    width: 18px;
    height: 18px;
    object-fit: contain;
    /* Mengubah ikon asli (hitam) menjadi Putih murni */
    filter: brightness(0) invert(1);
    transition: all 0.3s ease;
}

/* Efek saat Navigasi Disentuh */
.nav-btn:hover, .nav-btn:active {
    background-color: #ffe3be; /* Berubah Krem */
    transform: translateY(-3px);
    box-shadow: 0 4px 10px rgba(255, 227, 190, 0.4);
}

.nav-btn:hover img, .nav-btn:active img {
    /* Mengubah ikon kembali menjadi Gelap (Hitam/Marun pekat) agar terbaca di atas Krem */
    filter: brightness(0);
}
/* =========================================================
   STYLE HALAMAN TURUT MENGUNDANG (VERSI TERBARU)
   ========================================================= */
.bg-turut {
   
    background-image: url('assets/bg_galeri.webp'); 
    background-size: cover !important; 
    background-repeat: no-repeat !important; 
    background-position: top center !important; 
    background-attachment: fixed !important;
    min-height: 100vh; 
    display: flex; 
    justify-content: center; 
    align-items: center;
    position: relative; 
    overflow: hidden; 
    padding: 60px 20px;
}

/* Menambahkan overlay agar teks tetap terbaca, sama seperti RSVP */
.bg-turut::before {
    content: '';
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(215, 132, 87, 0.2); /* Overlay oranye transparan */
    z-index: 1;
}

.turut-container {
    position: relative;
    z-index: 2; /* Di atas overlay */
    max-width: 340px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 30px;
}

/* Desain Kotak: Putih dengan Stroke #d78457 */
.doa-card, .turut-card {
    background: #ffffff !important; /* Putih Solid */
    border: 2px solid #d78457;    /* Stroke Oranye Tema */
    padding: 35px 20px;
    border-radius: 20px;
    text-align: center;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15);
}

/* Warna Teks di Dalam Kotak Putih (Diubah jadi gelap agar kontras) */
.title-doa, .title-turut {
    font-family: 'Cinzel Decorative', serif;
    font-size: 1.2rem;
    margin-bottom: 5px;
    font-weight: bold;
    color: #ba4b2e; /* Marun tema untuk judul */
}

.doa-arab {
    font-size: 1.5rem;
    margin-bottom: 10px;
    line-height: 1.6;
    font-family: serif;
    color: #1a1a1a;
}

.doa-latin {
    font-size: 0.85rem;
    font-style: italic;
    margin-bottom: 10px;
    color: #555555;
}

.doa-terjemahan {
    font-size: 0.8rem;
    line-height: 1.5;
    font-weight: 400;
    color: #333333;
    font-style: italic;
}

/* =========================================================
   STYLE LIST TURUT MENGUNDANG (DENGAN SIMBOL)
   ========================================================= */
.list-turut {
    list-style: none;
    padding: 0;
    margin-top: 20px;
    text-align: left; /* Diubah ke kiri agar simbol sejajar rapi */
    display: inline-block; /* Membuat list tetap berada di tengah kotak */
}

.list-turut li {
    font-family: 'Poppins', sans-serif;
    font-size: 0.85rem;
    color: #333333;
    margin-bottom: 12px;
    line-height: 1.4;
    position: relative;
    padding-left: 25px; /* Memberi ruang untuk simbol di kiri */
}

/* Simbol di sebelah kiri nama */
.list-turut li::before {
    content: "◈"; /* Anda bisa ganti dengan "❤" atau "✦" */
    position: absolute;
    left: 0;
    color: #d78457; /* Warna sesuai stroke kotak */
    font-size: 1rem;
    top: -2px;
}

/* Menghapus garis pemisah lama agar tidak bertumpuk dengan simbol */
.list-turut li:not(:last-child)::after {
    display: none;
}
