:root {
    /* Request Klien: Cream lembut */
    --bg-cream: #f2ece0; 
    
    /* GANTI HIJAU: Gunakan 'Olive Drab' atau 'Sage' agar tidak terlalu tajam */
    /* Kode lama: #264b09 (Terlalu kontras) */
    /* Kode baru: #4a5d3f (Hijau lumut lembut) atau #3f4f3a */
    --bg-green: #4a5d3f; 
}

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

html, body {
    max-width: 100%;
    overflow-x: hidden !important; /* Ini pisau pemotongnya */
}

body {
    font-family: 'Montserrat', sans-serif;
    overflow-x: hidden;
    background-color: var(--bg-green);
    
}

@font-face {
    font-family: 'Bembo'; /* Nama keluarganya */
    src: url('fonts/Bembo-Regular.otf') format('opentype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Bembo'; /* Namanya TETAP SAMA */
    src: url('fonts/Bembo-BoldItalic.otf') format('opentype');
    font-weight: normal; /* Atau bold jika itu font bold */
    font-style: italic;  /* Ini kuncinya: Browser akan pakai file ini jika teks dimiringkan */
}

.font-serif {
    font-family: 'Bembo', 'Times New Roman', serif;
}

/* COVER PAGE */
#cover-page {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: url('images/cover-bg.png') center/cover;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    transition: opacity 0.8s ease-out, visibility 0.8s ease-out;
}

#cover-page.hidden {
    opacity: 0;
    visibility: hidden;
}

#cover-page::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
}

.cover-content {
    position: relative;
    text-align: center;
    color: white;
    padding: 2rem;
}

.cover-content p.subtitle {
    font-size: 1.175rem;
    letter-spacing: 0.2em;
    margin-bottom: 1rem;
}

.cover-content h1 {
    font-size: 4rem;
    font-style: italic;
    margin: 0.5rem 0;
}

.cover-content .date {
    font-size: 1.175rem;
    margin-top: 1rem;
    margin-bottom: 3rem;
}

.cover-content .guest-name {
    font-size: 1.50rem;
    font-style: italic;
    margin: 2rem 0;
}

.btn-open {
    background: white;
    color: #333;
    padding: 0.875rem 2rem;
    border: none;
    border-radius: 2rem;
    cursor: pointer;
    font-size: 0.875rem;
    letter-spacing: 0.1em;
    margin-top: 2rem;
    transition: transform 0.3s;
}

.btn-open:hover {
    transform: scale(1.05);
}

/* NAVIGATION */
/* STICKY NAVIGATION BAR */
.sticky-nav {
    position: fixed;
    top: 50%;
    
    /* LOGIKA POSISI: */
    /* Kita tempelkan ke sisi kiri area "HP" (bukan kiri layar monitor) */
    /* left: 50%;  */
    /* Geser ke kiri sejauh setengah lebar HP (240px) */
    /* margin-left: 0px;  */
    
    /* Agar vertikal tetap di tengah */
    transform: translateY(-50%);
    
    z-index: 900;
    display: flex;
    flex-direction: column;
    gap: 15px;
    
    /* Background & Efek Kaca */
    background: rgba(255, 255, 255, 0.6);
    backdrop-filter: blur(5px);
    
    /* BENTUK TAB: */
    /* Rata di kiri (0), Bulat di kanan (25px) */
    border-radius: 0 25px 25px 0;
    
    /* Padding diatur agar ikon terlihat pas */
    padding: 20px 10px 20px 5px; 
    
    box-shadow: 2px 2px 10px rgba(0,0,0,0.1);
    
    /* Animasi muncul */
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.5s;
}

/* Agar nav muncul saat cover hilang */
body.opened .sticky-nav {
    visibility: visible;
    opacity: 1;
}

.nav-icon {
    width: 35px;
    height: 35px;
    background: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    cursor: pointer;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    transition: transform 0.2s, background 0.2s;
}

.nav-icon:hover {
    transform: scale(1.1);
    background: #264b09; /* Warna hijau saat hover */
    color: white; /* Icon jadi putih */
}

/* Animasi putar untuk tombol musik jika sedang play */
.nav-icon.playing {
    animation: spin 3s linear infinite;
    background: #ffd1a1;
}

@keyframes spin {
    100% { transform: rotate(360deg); }
}

/* MAIN CONTENT */
#main-content {
    display: none;
}

#main-content.show {
    display: block;
}

#wedding-header {
    position: relative;
    width: 100%;
    height: 100vh; /* Tinggi selayar penuh */
    /* GANTI 'images/foto-mempelai.jpg' dengan foto prewed kamu */
    background: url('images/cover-bg.png') center/cover no-repeat; 
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center; /* Teks ada di tengah foto */
    text-align: center;
    color: white;
}

.header-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.3); /* Gelapkan foto sedikit biar teks jelas */
}

.header-content {
    position: relative;
    z-index: 10;
    padding-bottom: 5rem; /* Dorong ke atas sedikit dari sobekan kertas */
}

.small-title {
    font-size: 0.9rem;
    letter-spacing: 2px;
    /* text-transform: uppercase; */
    margin-bottom: 5rem;
    font-family: 'Montserrat', sans-serif;
}

.header-names {
    font-family: 'Bembo', serif; /* Atau ganti font script latin */
    font-size: 4rem;
    line-height: 1;
    margin-bottom: 1rem;
    font-style: italic;
    text-shadow: 0 2px 10px rgba(0,0,0,0.5);
}

.dan-symbol {
    font-size: 2.5rem;
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
}

.header-date {
    font-size: 1rem;
    /* background: rgba(255, 255, 255, 0.2); */
    padding: 55px 0px;
    border-radius: 20px;
    /* backdrop-filter: blur(5px); */
    display: inline-block;
}

/* SOBEKAN KERTAS KHUSUS HEADER */
.paper-ripped-header {
    position: absolute;
    bottom: -40px; /* Tempel di bawah */
    left: 0;
    right: 0;
    height: 80px;
    /* Gunakan gambar sobekan warna CREAM karena bawahnya section cream */
    background: url('images/tomrip-cream.png') center bottom/cover no-repeat;
    z-index: 2;
}

section {
    min-height: 100vh;
    padding: 4rem 1.5rem;
    position: relative;
}

#bride-groom{
    min-height: auto;
    height: auto;
    padding: 2rem 1.5rem 11rem 1.5rem;
}

#love-story{
    min-height: auto;
    height: auto;
    padding: 1rem 1.5rem 4rem 1.5rem;
}

#gift{
    min-height: auto;
    height: auto;
    padding: 7rem 1.5rem 11rem 1.5rem;
}

#footer{
    position: relative;
    min-height: auto;
    height: auto;
    
    /* PADDING BAWAH 10rem (sekitar 160px) */
    /* Ini memberi ruang kosong di bawah khusus untuk bunga */
    padding: 3rem 1.5rem 5rem 1.5rem !important;
    /* padding-bottom: 2rem !important; */
    
    /* Agar bunga yang offside terpotong rapi */
    overflow: hidden;
}

#time-place{
    min-height: auto;
    height: auto;
    padding: 1rem 1.5rem 5rem 1.5rem;
}

/* --- DRESSCODE SECTION --- */
#dresscode {
    min-height: auto;
    height: auto;
    padding: 1rem 1.5rem 11rem 1.5rem; /* Padding bawah agak besar buat bunga */
}

.dresscode-palette {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 1.5rem;
    margin-top: 2rem;
}

.color-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
}

.color-circle {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    box-shadow: 0 4px 10px rgba(0,0,0,0.15); /* Bayangan biar timbul */
    border: 3px solid white; /* Border putih biar rapi */
    transition: transform 0.3s ease;
}

.color-circle:hover {
    transform: scale(1.1); /* Efek membesar saat disentuh */
}

.color-item p {
    font-size: 0.75rem;
    font-weight: 600;
    color: #f2ece0; /* Warna teks hijau tema */
    font-family: 'Montserrat', sans-serif;
}

/* SECTION BACKGROUNDS */
.bg-cream {
    background: var(--bg-cream) !important;
}

.bg-green {
    background: var(--bg-green) !important;
    color: #fcfcfc;
}

div[style*="url('images/bunga"] {
    /* Turunkan saturasi 20% dan naikkan kecerahan 10% agar kesan pastel */
    filter: saturate(0.75) brightness(1.1) contrast(0.9);
}

.sticky-nav .nav-icon:hover, 
.btn-submit,
.btn-copy,
.btn-page.active {
    background-color: var(--bg-green) !important;
}

/* PAPER RIPPED EFFECT - PERBAIKAN */
/* Paper Ripped Hijau untuk bagian atas section hijau */
.paper-ripped-top {
    position: absolute;
    top: -1px; /* Hindari gap */
    left: 0;
    right: 0;
    height: 100px; /* Tinggi lebih besar */
    background: url('images/toprip-hijau.png') center top/cover no-repeat;
    z-index: 2;
}

/* Paper Ripped Cream untuk bagian bawah section hijau */
.paper-ripped-bottom {
    position: absolute;
    bottom: -10px; /* Hindari gap */
    left: 0;
    right: 0;
    height: 100px; /* Tinggi lebih besar */
    background: url('images/tomrip-cream.png') center bottom/cover no-repeat;
    z-index: 2;
}

/* Untuk section cream yang butuh paper ripped hijau di bawah */
#bride-groom .paper-ripped-bottom {
    background: url('images/toprip-hijau.png') bottom center/cover no-repeat;
    bottom: -1px;
    height: 150px;
}

#bride-groom::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    right: -1px;
    height: 100px;
    background: url('images/toprip-hijau.png') bottom center/cover no-repeat;
    z-index: 20;
    pointer-events: none;
}

/* Untuk section love-story yang butuh paper ripped hijau di bawah */
#love-story .paper-ripped-bottom {
    background: url('images/tomrip-cream.png') center bottom/cover no-repeat;
}

#love-story::after {
    content: '';
    position: absolute;
    bottom: -50px;
    left: 0;
    right: 0;
    height: 100px;
    transform: rotate(180deg);
    background: url('images/tomrip-cream.png') bottom center/cover no-repeat;
    z-index: 2;
    pointer-events: none;
}

#time-place .paper-ripped-bottom {
    background: url('images/toprip-hijau.png') center bottom/cover no-repeat;
}


#wishes::after {
    content: '';
    position: absolute;
    bottom: -50px;
    left: 0;
    right: 0;
    height: 100px;
    transform: rotate(180deg);
    background: url('images/tomrip-cream.png') bottom center/cover no-repeat;
    z-index: 2;
    pointer-events: none;
}

/* FLORAL DECORATION - 3 VARIASI */
.floral-decoration {
    width: 250px;
    height: 100px;
    margin: 0 auto 2rem;
    background: url('images/bunga1.png') center/contain no-repeat;
}

.flower-container {
    position: relative;
    width: 100%;
    height: auto;
    min-height: 100px;
}

/* Base class untuk semua bunga */
.flower {
    position: absolute;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

/* Ukuran bunga */
.flower-small {
    width: 80px;
    height: 80px;
}

.flower-medium {
    width: 150px;
    height: 100px;
}

.flower-large {
    width: 250px;
    height: 150px;
}

/* Posisi bunga - Horizontal */
.flower-left {
    left: 0;
}

.flower-center {
    left: 50%;
    transform: translateX(-50%);
}

.flower-right {
    right: 0;
}

/* Posisi bunga - Vertical */
.flower-top {
    top: 0;
}

.flower-middle {
    top: 50%;
    transform: translateY(-50%);
}

.flower-bottom {
    bottom: 0;
}

/* Kombinasi center-middle */
.flower-center.flower-middle {
    transform: translate(-50%, -50%);
}

/* Jenis bunga */
.flower-1 {
    background-image: url('images/bunga1.png');
}

.flower-2 {
    background-image: url('images/bunga2.png');
}

.flower-3 {
    background-image: url('images/bunga3.png');
}

/* Rotasi bunga (opsional) */
.flower-rotate-90 {
    transform: rotate(90deg);
}

.flower-rotate-180 {
    transform: rotate(180deg);
}

.flower-rotate-270 {
    transform: rotate(270deg);
}

/* Flip bunga (opsional) */
.flower-flip-h {
    transform: scaleX(-1);
}

.flower-flip-v {
    transform: scaleY(-1);
}

/* Z-index untuk layer bunga */
.flower-back {
    z-index: 1;
}

.flower-front {
    z-index: 3;
}

/* BUNGA OVERFLOW - Keluar dari Container */
.flower-overflow {
    overflow: visible !important;
}

/* Posisi bunga ekstrem (keluar dari batas) */
.flower-top-right-corner {
    position: absolute;
    top: -50px;  /* Naik ke atas */
    right: -50px; /* Keluar ke kanan */
    width: 280px;
    height: 200px;
    z-index: 10;
}

/* Untuk section dengan bunga overflow */
section.has-overflow-flower {
    overflow: visible;
    position: relative;
}

/* Khusus bride-groom section */
#bride-groom {
    overflow: visible;
}

#bride-groom .flower-container {
    overflow: visible;
}

/* Variasi bunga untuk section berbeda */
#time-place .floral-decoration {
    background: url('images/bunga2.png') center/contain no-repeat;
}

#love-story .floral-decoration {
    background: url('images/bunga3.png') center/contain no-repeat;
}

#wishes .floral-decoration:first-child {
    background: url('images/bunga1.png') center/contain no-repeat;
}

#wishes .floral-decoration:last-of-type {
    background: url('images/bunga2.png') center/contain no-repeat;
}

.bg-green .floral-decoration:last-child {
    background: url('images/bunga3.png') center/contain no-repeat;
}

/* --- PAGINATION CONTROLS --- */
#pagination-controls {
    position: relative; 
    z-index: 50; /* KUNCI UTAMA: Angkat ke atas layer bunga/kertas */
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 1.5rem;
    margin-bottom: 2rem;
}

/* Desain Tombol Pagination */
.btn-page {
    background-color: white;
    color: #264b09; /* Hijau Tua */
    border: 1px solid #264b09;
    padding: 0.5rem 0.8rem;
    border-radius: 0.5rem;
    cursor: pointer;
    font-family: 'Montserrat', sans-serif;
    font-size: 0.875rem;
    transition: all 0.3s ease;
}

/* Efek saat mouse diarahkan */
.btn-page:hover {
    background-color: #ffe4b5; /* Cream terang */
    transform: translateY(-2px);
}

/* Desain Tombol yang Sedang Aktif (Halaman saat ini) */
.btn-page.active {
    background-color: #264b09;
    color: white;
    font-weight: bold;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}

/* TYPOGRAPHY */
h2 {
    font-size: 2.5rem;
    text-align: center;
    margin-bottom: 2rem;
}

.couple-names {
    font-size: 3.5rem;
    text-align: center;
    font-style: italic;
    line-height: 1.2;
}

/* COUNTDOWN */
.countdown {
    display: flex;
    justify-content: center;
    gap: 1rem;
    margin: 2rem 0;
}

.countdown-item {
    background: #FFF8E7;
    padding: 1.5rem 2rem;
    border-radius: 0.5rem;
    text-align: center;
}

.countdown-item .number {
    font-size: 2rem;
    font-weight: bold;
    color: #264b09;
}

.countdown-item .label {
    font-size: 0.75rem;
    color: #666;
}

/* LOVE STORY */
.story-item {
    display: flex;
    gap: 1rem;
    margin-bottom: 2rem;
}

.story-icon {
    width: 40px;
    height: 40px;
    background: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.story-content h3 {
    font-size: 1.25rem;
    margin-bottom: 0.5rem;
}

.story-content p {
    font-size: 0.875rem;
    line-height: 1.6;
}

/* GIFT CARDS */
.gift-card {
    background: #FFF8E7;
    padding: 1.5rem;
    border-radius: 0.5rem;
    margin-bottom: 1rem;
    
    /* TAMBAHAN BARU: Flexbox */
    display: flex;
    justify-content: space-between; /* Jarak maksimal antara teks dan tombol */
    align-items: center; /* Posisi vertikal di tengah */
    gap: 1rem; /* Jarak aman agar teks tidak menabrak tombol */
}

/* Pastikan teks tidak terlalu lebar sampai menutupi tombol */
.gift-text {
    flex: 1; /* Mengambil sisa ruang yang ada */
}

.gift-card h4 {
    font-weight: 600;
    margin-bottom: 0.25rem; /* Sedikit dirapatkan */
    font-size: 0.775rem; /* Opsional: sesuaikan ukuran font judul */
    color: #264b09;
}

.gift-card p {
    font-size: 0.85rem;
    margin-bottom: 0; /* Hapus margin bawah karena sudah di tengah */
    line-height: 1.4;
    color: #264b09;
}

.btn-copy {
    background: #264b09;
    color: white;
    /* Ubah padding agar tombol lebih compact/kecil */
    padding: 0.5rem 1rem; 
    border: none;
    border-radius: 2rem;
    cursor: pointer;
    font-size: 0.75rem; /* Font tombol diperkecil sedikit */
    white-space: nowrap; /* Mencegah teks tombol turun baris */
    flex-shrink: 0; /* Mencegah tombol gepeng jika teks alamat panjang */
    height: fit-content;
}

/* FORM */
.wish-form {
    max-width: 500px;
    margin: 0 auto 3rem;
}

.wish-form input,
.wish-form select,
.wish-form textarea {
    width: 100%;
    padding: 0.875rem;
    border: 1px solid #ddd;
    border-radius: 0.5rem;
    margin-bottom: 1rem;
    font-family: inherit;
}

.wish-form textarea {
    resize: vertical;
    min-height: 100px;
}

.btn-submit {
    width: 100%;
    background: #264b09;
    color: white;
    padding: 0.875rem;
    border: none;
    border-radius: 0.5rem;
    cursor: pointer;
    font-size: 1rem;
}

/* WISH CARDS */
.wish-card {
    background: white;
    padding: 1.5rem;
    border-radius: 0.5rem;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    margin-bottom: 1rem;
}

.wish-card h4 {
    font-weight: 600;
    margin-bottom: 0.5rem;
}

.wish-card p {
    font-size: 0.875rem;
    color: #555;
}

/* UTILITIES */
.footer-couple-img {
    text-align: center; /* Memastikan gambar ada di tengah */
    margin-bottom: 2rem; /* Jarak ke hiasan bunga di bawahnya */
    margin-top: 1rem;    /* Jarak dari teks "Kami Yang Berbahagia" */
}

.couple-img{
    text-align: center; /* Memastikan gambar ada di tengah */
    margin-bottom: 1rem; /* Jarak ke hiasan bunga di bawahnya */
    margin-top: 1rem; 
}

.couple-img img{
    max-width: 350px; /* Batasi lebar maksimal agar tidak terlalu besar di HP */
    width: 100%;      /* Agar mengecil otomatis jika layar sangat sempit */
    height: auto;     /* Menjaga proporsi gambar */
    display: inline-block;
}

.footer-couple-img img {
    max-width: 130px; /* Batasi lebar maksimal agar tidak terlalu besar di HP */
    width: 100%;      /* Agar mengecil otomatis jika layar sangat sempit */
    height: auto;     /* Menjaga proporsi gambar */
    display: inline-block;
}

.max-w-md {
    max-width: 500px;
    margin: 0 auto;
}

.text-center {
    text-align: center;
}

.mb-2 { margin-bottom: 0.5rem; }
.mb-4 { margin-bottom: 1rem; }
.mb-8 { margin-bottom: 2rem; }

/* VENUE IMAGE */
.venue-image {
    /* LEBAR PENUH: Tarik gambar ke kiri & kanan sejauh 1.5rem (sesuai padding section) */
    width: calc(100% + 3rem);
    margin-left: -1.5rem;
    margin-right: -1.5rem;
    
    /* POSISI KE BAWAH: Tarik gambar ke bawah sejauh 4rem (sesuai padding bawah section) */
    /* Ini akan membuat gambar turun dan tertutup efek sobekan kertas */
    margin-bottom: -4rem; 
    margin-top: -5rem;

    /* PENTING: Matikan batas lebar maksimal agar bisa melebar penuh */
    max-width: none;
    
    /* Atur tinggi gambar (bisa diubah sesuai selera, misal 450px) */
    height: 500px;
    
    /* Hapus sudut melengkung agar terlihat menyatu dengan layar */
    border-radius: 0;
    
    overflow: hidden;
    padding: 0;
    position: relative;
    z-index: 1; /* Pastikan gambar ada di BELAKANG efek kertas sobek */
}

.venue-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* BUTTON MAPS */
.btn-maps {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: #FFF8E7;
    color: #264b09;
    padding: 0.875rem 1.5rem;
    border-radius: 2rem;
    text-decoration: none;
    font-size: 0.875rem;
    transition: background 0.3s;
}

.btn-maps:hover {
    background: #FFE4B5;
}

@media (max-width: 380px) {
    .cover-content h1 {
        font-size: 3rem;
    }
    
    .couple-names {
        font-size: 2.5rem;
    }
    
    h2 {
        font-size: 2rem;
    }

    /* Paper ripped lebih kecil di mobile */
    .paper-ripped-top,
    .paper-ripped-bottom {
        height: 60px;
    }

    .floral-decoration {
        width: 180px;
        height: 70px;
    }
}

/* --- ZONA KHUSUS MOBILE (IPHONE 8, SE, ANDROID) --- */
@media screen and (max-width: 480px) {

    /* 1. KECILKAN FONT HEADER & NAMA */
    .couple-img{
    text-align: center; /* Memastikan gambar ada di tengah */
    margin-bottom: 1rem; /* Jarak ke hiasan bunga di bawahnya */
    margin-top: 1rem; 
}

    .couple-img img{
        max-width: 280px; /* Batasi lebar maksimal agar tidak terlalu besar di HP */
        width: 100%;      /* Agar mengecil otomatis jika layar sangat sempit */
        height: auto;     /* Menjaga proporsi gambar */
        display: inline-block;
    }

    h2 {
        font-size: 1.5rem !important; /* Judul section lebih kalem */
        margin-bottom: 1.5rem;
    }

    .small-title {
        font-size: 0.75rem !important;
        letter-spacing: 1px !important;
        margin-bottom: 2rem !important;
    }

    /* 4. PERBAIKAN BUBBLE UCAPAN (WISHES) SEMPIT */
    section#wishes {
        padding-left: 2rem !important; /* Kurangi padding section */
        padding-right: 2rem !important;
    }

    .wish-card {
        padding: 1rem !important; /* Kurangi padding dalam kartu */
        margin-bottom: 0.8rem;
    }

    .wish-card h4 {
        font-size: 0.8rem; /* Nama pengirim agak kecil */
    }

    /* Form Input juga dirapikan */
    .wish-form input, 
    .wish-form select, 
    .wish-form textarea {
        padding: 0.6rem;
        font-size: 0.85rem;
    }

    /* 5. NAVIGASI LEBIH RAMPING */
    .sticky-nav {
        padding: 12px 0px 12px 0px !important;
        width: 45px; /* Lebar fix */
        border-radius: 0 15px 15px 0;
    }
    
    .nav-icon {
        width: 28px !important;
        height: 28px !important;
        font-size: 0.9rem !important;
    }

    /* 6. GIFT CARD (Supaya Tombol Salin Rapi) */
    .gift-card {
        padding: 2rem;
        flex-direction: column; /* Susun atas-bawah */
        align-items: flex-start;
    }

    .btn-open {
        padding: 0.775rem 1.5rem;
        border-radius: 1rem;
        cursor: pointer;
        font-size: 0.675rem;
        letter-spacing: 0.1em;
        margin-top: 3rem;
        transition: transform 0.3s;
    }
    
    .btn-copy {
        width: 100%; /* Tombol lebar penuh */
        margin-top: 0.1rem;
        text-align: center;
        padding: 0.4rem;
    }

    .story-content{
        padding-right: 1rem;
    }

    p{
        font-size: 0.9rem !important; /* Naikkan sedikit */
    }

    /* 1. Bunga Atas (yang menutupi "Awal Bertemu") */
    /* Di HTML kamu pakai bottom: 440px. Kita ganti posisinya biar naik ke atas judul */
    div[style*="bottom: 440px"] {
        bottom: auto !important; /* Matikan posisi bawah */
        top: -25px !important;       /* Pindah ke paling atas section */
        
        height: 120px !important;
        margin-top: -60px !important; /* Tarik naik setengah biar estetik */
    }

    /* 2. Bunga Bawah (yang menutupi "Pernikahan") */
    /* Ini sebenarnya bunga dari section Gift (bottom: 870px) yang "bocor" ke atas */
    div[style*="bottom: 870px"] {
        bottom: auto !important;
        top: -75px !important;      /* Reset ke atas section Gift */
        right: -220px !important; /* Tempel di kanan */
        margin-top: -50px !important; /* Biar nangkring di perbatasan kertas */
    }

    div[style*="bottom: 450px"]{
        bottom: auto !important; /* Matikan posisi bawah yang aneh */
        top: -230px !important;   /* Pindah ke ATAS section */
        right: -20px !important;
    }

    div[style*="bottom: 650px"]{
        bottom: auto !important; /* Matikan posisi bawah yang aneh */
        top: -140px !important;   /* Pindah ke ATAS section */
        /* right: -20px !important; */
    }

    /* Target bunga di footer */
    #footer div[style*="bottom: 0px"] {
        bottom: -20px !important; /* Turunin dikit biar ga ngambang */
    }

    #time-place{
        min-height: auto;
        height: auto;
        padding: 1rem 1.5rem 4rem 1.5rem;
    }

    /* 1. PERBAIKAN SECTION AGAR TIDAK SEMPIT */
    section#gift, section#wishes {
        padding-left: 2rem !important;  /* Kurangi dari 2rem jadi 1rem */
        padding-right: 2rem !important;
    }

    /* 2. PERBAIKAN GIFT CARD (BIAR LANGSING) */
    .gift-card {
        padding: 1rem !important;      /* GANTI DARI 2rem JADI 1rem */
        flex-direction: row !important; /* Balikin ke samping biar hemat tempat */
        align-items: center !important;
        gap: 0.8rem !important;
        margin-bottom: 0.8rem !important;
    }
    
    /* Tombol Salin biar rapi di HP */
    .btn-copy {
        width: auto !important;
        padding: 0.4rem 0.8rem !important;
        font-size: 0.7rem !important;
    }

    /* 3. PAKSA TEKS KECIL (OVERRIDE !IMPORTANT) */
    
    /* Judul di dalam kartu (Bank/Nama Pengirim) */
    .gift-text h4, .wish-card h4 {
        font-size: 0.75rem !important; /* Ukuran pas */
        margin-bottom: 0.2rem !important;
    }

    /* Isi teks di dalam kartu (No Rek/Ucapan) */
    .gift-text p, .wish-card p {
        font-size: 0.65rem !important; /* KUNCI: Pakai !important buat maksa */
        line-height: 1.3 !important;
        margin: 0 !important;
    }

    /* 4. PERBAIKAN WISH CARD */
    .wish-card {
        padding: 1rem !important;
        margin-bottom: 0.8rem;
    }
    
    /* Form input biar ga kegedean */
    .wish-form input, 
    .wish-form select, 
    .wish-form textarea {
        padding: 0.6rem;
        font-size: 0.85rem !important;
    }

    .countdown {
        gap: 0.5rem !important; /* Rapatkan jarak antar kotak */
        margin: 1.5rem 0 !important;
    }
    
    .countdown-item {
        padding: 0.8rem 0.5rem !important; /* Kotaknya jadi lebih ramping */
        width: 80px !important; /* Lebar fix biar seragam */
    }

    .countdown-item .number {
        font-size: 1.5rem !important; /* Angka tidak terlalu raksasa */
        margin-bottom: 0.2rem !important;
    }

    .countdown-item .label {
        font-size: 0.7rem !important; /* Tulisan 'Hari/Jam' lebih kecil */
    }
}