:root {
    --warna-utama: #5D6450;
    --warna-kedua: #FCFBF8;
    --hijau-muda: #AAB59B;
    --hijau-pucat: #E8EBDD;
    --emas: #B79542;
    --tinta: #4B4E45;
    --kabur: #777A70;
    --garis: #E8E4D9;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    background:
        radial-gradient(circle at 15% 8%, rgba(218,222,209,.22), transparent 24%),
        radial-gradient(circle at 88% 78%, rgba(224,219,205,.2), transparent 25%),
        linear-gradient(180deg, #fff 0%, var(--warna-kedua) 55%, #fbfaf6 100%);
    color: var(--tinta);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
    font-size: 16px;
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
}

body.punya-latar::before { display:none; }
body.punya-latar::after { display:none; }

.bingkai { max-width: 460px; margin: 0 auto; padding: 0 22px; }

/* HERO BOTANICAL */
.sampul {
    min-height: 100vh;
    min-height: 100dvh;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 52px 18px 72px;
    background:
        radial-gradient(circle at 50% 29%, rgba(224,229,216,.45), transparent 28%),
        linear-gradient(180deg, #fff 0%, #fcfbf8 100%);
}
.sampul::before, .sampul::after {
    content: '';
    position: absolute;
    width: 170px;
    height: 210px;
    border-radius: 50%;
    background: rgba(232,235,225,.24);
    filter: blur(1px);
    pointer-events: none;
}
.sampul::before { left: -105px; top: 70px; transform: rotate(-24deg); }
.sampul::after { right: -112px; bottom: 90px; transform: rotate(28deg); }

.hero-content { width: min(100%, 440px); position: relative; z-index: 3; }
.pembuka {
    margin: 0 0 15px;
    font-size: 11px;
    letter-spacing: .28em;
    text-transform: uppercase;
    color: #7F8178;
}

.floral-photo-wrap {
    width: min(82vw, 330px);
    aspect-ratio: 1;
    position: relative;
    margin: 0 auto 20px;
}
.photo-ring {
    position: absolute;
    inset: 21px;
    border-radius: 50%;
    padding: 7px;
    background: #fff;
    border: 2px solid rgba(183,149,66,.86);
    box-shadow: 0 0 0 8px rgba(255,255,255,.96), 0 14px 34px rgba(80,88,68,.14);
}
.photo-ring::before {
    content: '';
    position: absolute;
    inset: -9px;
    border: 1px solid rgba(183,149,66,.35);
    border-radius: 50%;
}
.hero-photo {
    width: 100%; height: 100%; display: block;
    object-fit: cover; object-position: center;
    border-radius: 50%;
}

/* Daun dekoratif berbasis CSS agar tema tetap mandiri tanpa dependensi aset luar. */
.daun { position: absolute; width: 68px; height: 34px; z-index: 2; opacity: .92; }
.daun::before, .daun::after { content:''; position:absolute; display:block; }
.daun::before {
    width: 100%; height: 1px; background: #7B8B73; left:0; top: 50%; transform: rotate(var(--stem, 0deg)); transform-origin:center;
}
.daun::after {
    width: 23px; height: 11px; border-radius: 100% 0 100% 0;
    background: linear-gradient(140deg,#AAB79E,#72866E);
    box-shadow: 23px -8px 0 -1px #91A38A, 43px 5px 0 -2px #A4B29B;
    transform: rotate(var(--leaf, 0deg));
}
.daun-1 { left: 14px; top: 62px; transform: rotate(-28deg); --stem:-16deg; --leaf:-22deg; }
.daun-2 { left: 34px; top: 116px; transform: rotate(-44deg) scale(.9); --stem:-18deg; --leaf:-36deg; }
.daun-3 { right: 12px; top: 70px; transform: rotate(27deg); --stem:14deg; --leaf:24deg; }
.daun-4 { right: 25px; top: 121px; transform: rotate(44deg) scale(.92); --stem:18deg; --leaf:35deg; }
.daun-5 { left: 40px; bottom: 44px; transform: rotate(210deg) scale(.85); --stem:-14deg; --leaf:-22deg; }
.daun-6 { right: 42px; bottom: 44px; transform: rotate(150deg) scale(.85); --stem:15deg; --leaf:24deg; }

.bunga { position:absolute; width:52px; height:52px; z-index:4; border-radius:50%; filter: drop-shadow(0 5px 8px rgba(70,80,59,.08)); }
.bunga::before {
    content:''; position:absolute; inset:6px; border-radius:50%;
    background:
      radial-gradient(circle at 50% 50%, #CDBE87 0 9%, transparent 10%),
      radial-gradient(circle at 50% 17%, #F0EEE5 0 22%, transparent 23%),
      radial-gradient(circle at 83% 50%, #F0EEE5 0 22%, transparent 23%),
      radial-gradient(circle at 50% 83%, #F0EEE5 0 22%, transparent 23%),
      radial-gradient(circle at 17% 50%, #F0EEE5 0 22%, transparent 23%),
      radial-gradient(circle at 19% 19%, #F5F2E9 0 19%, transparent 20%),
      radial-gradient(circle at 81% 19%, #F5F2E9 0 19%, transparent 20%),
      radial-gradient(circle at 19% 81%, #F5F2E9 0 19%, transparent 20%),
      radial-gradient(circle at 81% 81%, #F5F2E9 0 19%, transparent 20%);
}
.bunga-1 { left: 5px; bottom: 50px; transform: rotate(-12deg) scale(.85); }
.bunga-2 { right: -1px; top: 105px; transform: rotate(8deg) scale(.92); }
.bunga-3 { left: 6px; top: 112px; transform: rotate(-8deg) scale(.72); }

.nama-pasangan {
    font-family: 'Great Vibes', 'Brush Script MT', cursive;
    font-size: clamp(42px, 13vw, 64px);
    font-weight: 400;
    line-height: .98;
    color: #5B5E53;
    margin: 0 auto;
    max-width: 100%;
}
.nama-pasangan > span { display: inline; }
.dan { color: #9B9D92; margin: 0 7px; }

.hero-date-block { margin-top: 17px; }
.date-caption {
    display:block; font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:#86887F; margin-bottom:5px;
}
.date-elegant {
    margin:0;
    font-family:'Cormorant Garamond', Georgia, serif;
    font-size:27px;
    font-weight:600;
    letter-spacing:.11em;
    color:#5D6057;
    text-transform:uppercase;
}

.hitung-mundur { display:flex; justify-content:center; gap:8px; margin:18px 0 0; }
.hm-kotak { min-width:58px; padding:8px 4px; border:0; border-top:1px solid var(--garis); border-bottom:1px solid var(--garis); background:transparent; }
.hm-angka { font-family:'Cormorant Garamond',Georgia,serif; font-size:25px; font-weight:600; color:var(--warna-utama); line-height:1; font-variant-numeric:tabular-nums; }
.hm-label { display:block; margin-top:3px; font-size:9px; text-transform:uppercase; letter-spacing:.12em; color:#8A8D84; }


.hero-orangtua{
  width:min(100%,380px);
  margin:18px auto 0;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:14px;
  color:#6F5F57;
}
.hero-orangtua-item{display:flex;flex-direction:column;align-items:center;gap:1px;min-width:0}
.hero-orangtua-label{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:#A18D82;margin-bottom:3px}
.hero-orangtua-item strong{font-family:'Cormorant Garamond',Georgia,serif;font-size:14px;font-weight:600;line-height:1.25;text-align:center}
.hero-orangtua-dan{font-family:'Cormorant Garamond',Georgia,serif;font-size:12px;color:#A98270;line-height:1}
.hero-orangtua-divider{width:1px;height:42px;background:rgba(169,130,112,.34)}
@media (max-width:560px){
  .hero-orangtua{gap:9px;margin-top:15px}
  .hero-orangtua-item strong{font-size:12.5px}
  .hero-orangtua-label{font-size:8px;letter-spacing:.14em}
}

.pelat { margin: 22px auto 0; padding: 13px 20px; max-width: 300px; background:rgba(255,255,255,.82); border:1px solid #E5E2D8; box-shadow:0 8px 25px rgba(66,73,59,.06); }
.pelat-label { font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:#8A8C82; margin:0 0 2px; }
.pelat-nama { font-family:'Cormorant Garamond',Georgia,serif; font-size:23px; font-weight:600; color:#575A51; margin:0; line-height:1.3; }
.pelat-catatan { font-size:11px; color:#8A8C82; margin:4px 0 0; }

.hero-watermark { position:absolute; color:rgba(189,193,177,.34); font-size:88px; font-family:Georgia,serif; line-height:1; z-index:1; }
.hero-watermark-top { left:-9px; top:-12px; transform:rotate(-20deg); }
.hero-watermark-bottom { right:-7px; bottom:-20px; transform:rotate(26deg); }
.hero-scroll { position:absolute; bottom:20px; left:50%; transform:translateX(-50%); font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:#8D8F86; z-index:3; white-space:nowrap; }
.hero-scroll i { display:block; width:1px; height:26px; margin:6px auto 0; background:#BCC0B3; animation:scroll-line 1.8s ease-in-out infinite; transform-origin:top; }
@keyframes scroll-line { 0%,100%{transform:scaleY(.45);opacity:.45} 50%{transform:scaleY(1);opacity:1} }

.bagian { padding:56px 0; border-top:1px solid var(--garis); text-align:center; }
.bagian-judul { font-family:'Cormorant Garamond',Georgia,serif; font-size:30px; font-weight:500; color:var(--warna-utama); margin:0 0 7px; }
.bagian-sub { font-size:13.5px; color:var(--kabur); margin:0 0 30px; }
.dekorasi-pemisah { display:flex; align-items:center; gap:12px; color:#9CA48F; margin:10px 0 0; }
.dekorasi-pemisah span { height:1px; flex:1; background:var(--garis); }
.dekorasi-pemisah b { font-size:18px; font-weight:400; }

.kutipan-teks { margin:0 0 24px; padding:0; }
.kutipan-teks p { font-family:'Cormorant Garamond',Georgia,serif; font-style:italic; font-size:20px; line-height:1.7; color:var(--warna-utama); margin:0 0 10px; }
.kutipan-teks cite { display:block; font-style:normal; font-size:12.5px; letter-spacing:.04em; color:var(--kabur); }
.sambutan-teks { font-size:14.5px; line-height:1.75; color:var(--tinta); margin:0 auto; max-width:380px; }

.acara { border:1px solid var(--garis); padding:24px 22px; margin-bottom:16px; background:rgba(255,255,255,.7); box-shadow:0 10px 25px rgba(66,73,59,.045); }
.acara-jenis { font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--emas); margin:0 0 8px; }
.acara-nama { font-family:'Cormorant Garamond',Georgia,serif; font-size:24px; font-weight:600; margin:0 0 10px; }
.acara-baris { font-size:14.5px; margin:3px 0; }
.acara-tempat { color:var(--kabur); font-size:14px; margin:10px 0 0; }
.acara-peta { display:inline-block; margin-top:14px; padding:8px 18px; border:1px solid var(--warna-utama); color:var(--warna-utama); text-decoration:none; font-size:13px; letter-spacing:.06em; }
.acara-peta:hover { background:var(--warna-utama); color:#fff; }

.grid-galeri { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; }
.galeri-item { display:block; aspect-ratio:1; overflow:hidden; cursor:zoom-in; }
.galeri-item:nth-child(6n+1) { grid-column:span 2; grid-row:span 2; }
.galeri-item img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .35s ease; }
.galeri-item:hover img { transform:scale(1.04); }

.garis-waktu { display:flex; flex-direction:column; gap:28px; text-align:left; }
.kisah-item { display:flex; flex-direction:column; gap:14px; border:1px solid var(--garis); overflow:hidden; background:rgba(255,255,255,.72); }
.kisah-foto { display:block; width:100%; aspect-ratio:16/10; object-fit:cover; }
.kisah-teks { padding:4px 20px 20px; }
.kisah-waktu { font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--emas); margin:0 0 6px; }
.kisah-judul { font-family:'Cormorant Garamond',Georgia,serif; font-size:21px; font-weight:600; margin:0 0 8px; }
.kisah-cerita { font-size:14.5px; color:var(--tinta); margin:0; line-height:1.75; }

.tombol-musik { position:fixed; right:18px; bottom:18px; z-index:900; width:46px; height:46px; border-radius:50%; border:1px solid #DDDACC; background:rgba(255,255,255,.94); color:var(--warna-utama); box-shadow:0 7px 18px rgba(0,0,0,.10); cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:18px; }
.tombol-musik.berputar .ikon-musik { animation:musik-putar 2.4s linear infinite; }
@keyframes musik-putar { from{transform:rotate(0)} to{transform:rotate(360deg)} }

.bagian-amplop { padding-bottom:44px; }
.daftar-amplop { display:flex; flex-direction:column; gap:14px; }
.kartu-amplop { display:flex; gap:16px; align-items:center; border:1px solid var(--garis); padding:16px; background:rgba(255,255,255,.72); text-align:left; }
.amplop-qr { width:84px; height:84px; object-fit:contain; border-radius:2px; background:#fff; border:1px solid var(--garis); flex-shrink:0; }
.amplop-bank { font-weight:600; font-size:15px; margin:0 0 4px; }
.amplop-nomor { font-variant-numeric:tabular-nums; font-size:15px; margin:0 0 4px; display:flex; align-items:center; gap:8px; }
.tombol-salin-amplop { font-size:11.5px; font-weight:600; padding:2px 9px; border-radius:99px; border:1px solid var(--warna-utama); background:transparent; color:var(--warna-utama); cursor:pointer; }
.amplop-anama,.amplop-catatan { font-size:13px; color:var(--kabur); margin:0; }

.bagian-rsvp,.bagian-ucapan { padding-bottom:44px; }
.pesan-notifikasi { padding:11px 16px; border-radius:4px; font-size:14px; margin-bottom:18px; text-align:left; }
.pesan-notifikasi.pesan-success{background:#EAF2ED;color:#3F6B4F}.pesan-notifikasi.pesan-error{background:#FBEEEC;color:#A8443C}.pesan-notifikasi.pesan-warning{background:#FBF6E9;color:#8A6516}
.kotak-rsvp-terisi { background:rgba(255,255,255,.74); border:1px solid var(--garis); padding:14px 16px; margin-bottom:20px; text-align:left; font-size:14px; }
.kotak-rsvp-terisi p{margin:0}.rsvp-ubah-catatan{color:var(--kabur);font-size:12.5px;margin-top:4px!important}
.form-rsvp,.form-ucapan{ text-align:left; max-width:380px; margin:0 auto; }
.bidang-rsvp{margin-bottom:16px}.bidang-rsvp label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:var(--tinta)}.wajib-tanda{color:#A8443C;font-weight:400}
.bidang-rsvp input[type=text],.bidang-rsvp input[type=number],.bidang-rsvp textarea{width:100%;padding:10px 12px;font-family:inherit;font-size:14.5px;color:var(--tinta);background:#fff;border:1px solid var(--garis)}
.bidang-rsvp input:focus,.bidang-rsvp textarea:focus{outline:none;border-color:var(--warna-utama)}
.pilihan-hadir{display:flex;gap:16px;flex-wrap:wrap;padding:4px 0}.pilihan-hadir label{display:flex;align-items:center;gap:6px;font-weight:400;font-size:14px;margin:0}.pilihan-hadir input{width:auto;margin:0}
.tombol-kirim{width:100%;padding:12px;border:0;background:var(--warna-utama);color:#fff;font-family:inherit;font-size:14.5px;font-weight:600;letter-spacing:.02em;cursor:pointer}.tombol-kirim:hover{opacity:.92}
.daftar-ucapan{max-width:380px;margin:28px auto 0;display:flex;flex-direction:column;gap:12px;text-align:left}.kartu-ucapan{border-left:2px solid var(--emas);padding:4px 0 4px 14px}.ucapan-nama{font-weight:600;font-size:13.5px;margin:0 0 3px}.ucapan-isi{font-size:13.5px;color:var(--tinta);margin:0;line-height:1.6}

.lightbox{position:fixed;inset:0;z-index:1000;background:rgba(20,18,14,.94);display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;transition:opacity .22s ease}.lightbox.tampak{opacity:1}.lightbox[hidden]{display:none}.lightbox-gambar{max-width:min(94vw,720px);max-height:88vh;object-fit:contain;border-radius:2px;transform:scale(.96);transition:transform .22s ease,opacity .18s ease}.lightbox.tampak .lightbox-gambar{transform:scale(1)}.lightbox-gambar.memuat{opacity:0}.lightbox-tutup,.lightbox-nav{position:absolute;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);color:#fff;cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;line-height:1}

.kaki { padding:44px 0 54px; text-align:center; border-top:1px solid var(--garis); color:var(--kabur); font-size:13px; }
.kaki-nama { font-family:'Great Vibes','Brush Script MT',cursive; font-size:30px; color:var(--warna-utama); margin:0 0 6px; }
.jebakan-spam { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; overflow:hidden!important; opacity:0!important; }
.siap-muncul { opacity:1; transform:none; transition:opacity .65s ease,transform .65s ease; }
.siap-muncul.tampil { opacity:1; transform:none; }

@media (max-width: 380px) {
    .floral-photo-wrap { width: 300px; }
    .photo-ring { inset: 22px; }
    .nama-pasangan { font-size: 42px; }
    .date-elegant { font-size:24px; }
    .hm-kotak { min-width:53px; }
}
@media (prefers-reduced-motion: reduce) { html{scroll-behavior:auto}.hero-scroll i{animation:none}.siap-muncul{transition:none}.tombol-musik.berputar .ikon-musik{animation:none} }

/* ==========================================================
   BOTANICAL SERENITY — AUTUMN FLORAL EDITORIAL
   Referensi visual: putih hangat + terracotta + apricot + botanical.
   Override ini sengaja diletakkan di paling bawah agar struktur tema
   asli dan semua class data tetap utuh.
   ========================================================== */
:root{
  --warna-utama:#7A2D1F;
  --warna-kedua:#FCF8F2;
  --hijau-muda:#8E9A7E;
  --hijau-pucat:#EEF0E7;
  --emas:#D1A55F;
  --aksen-aprikot:#E7A06E;
  --tinta:#4B3A34;
  --kabur:#8A7770;
  --garis:#E9DED4;
}
body{
  background:#FCF8F2;
  color:var(--tinta);
}
.bingkai{max-width:460px;padding:0 20px}
.sampul.tema-botanical-terracotta{
  min-height:100vh;
  min-height:100dvh;
  padding:48px 16px 52px;
  justify-content:flex-start;
  background:
    radial-gradient(circle at 50% 42%, rgba(245,232,215,.34), transparent 34%),
    linear-gradient(180deg,#FFFCF8 0%,#FCF8F2 100%);
}
.sampul.tema-botanical-terracotta::before,
.sampul.tema-botanical-terracotta::after{display:none}
.hero-content{width:min(100%,430px);z-index:4}
.hero-kicker{
  margin:0;
  font-size:clamp(54px,15vw,82px);
  line-height:.9;
  font-weight:800;
  letter-spacing:-.045em;
  color:var(--warna-utama);
  font-family:'Segoe UI',Arial,sans-serif;
}
.hero-label{
  margin:28px 0 16px;
  font-size:11px;
  letter-spacing:.34em;
  text-transform:uppercase;
  color:#8A7368;
}
.floral-photo-wrap{
  width:min(78vw,330px);
  aspect-ratio:1;
  margin:0 auto 16px;
}
.floral-photo-wrap .wreath-layer{
  position:absolute;
  inset:-22px;
  background:url('./floral-wreath.svg') center/contain no-repeat;
  pointer-events:none;
  z-index:1;
}
.photo-ring{
  inset:18px;
  padding:7px;
  border:3px solid rgba(209,165,95,.96);
  box-shadow:0 0 0 5px rgba(255,255,255,.96),0 13px 30px rgba(103,62,46,.12);
  z-index:2;
}
.photo-ring::before{inset:-8px;border:1px solid rgba(122,45,31,.22)}
.hero-photo{object-position:center}
.hero-floral{position:absolute;z-index:1;pointer-events:none;width:180px;height:150px;background-size:contain;background-repeat:no-repeat;opacity:.88}
.hero-floral-tl{top:-4px;left:-22px;background-image:url('./floral-corner.svg')}
.hero-floral-tr{top:-3px;right:-28px;transform:scaleX(-1);background-image:url('./floral-corner.svg');opacity:.36}
.hero-floral-bl{bottom:10px;left:-34px;transform:scaleY(-1);background-image:url('./floral-corner.svg');opacity:.34}
.hero-floral-br{bottom:-10px;right:-20px;background-image:url('./floral-corner-br.svg');opacity:.78}
.nama-pasangan{
  font-size:clamp(42px,12vw,62px);
  line-height:1;
  color:var(--warna-utama);
  text-shadow:0 1px 0 #fff;
}
.nama-pasangan .dan{color:#A98270;margin:0 6px}
.hero-date-editorial{margin-top:18px}
.date-caption{
  margin-bottom:10px;
  color:#7E6A61;
  font-size:11px;
  letter-spacing:.28em;
}
.editorial-date-row{display:flex;align-items:center;justify-content:center;gap:10px}
.date-box{
  height:54px;
  min-width:130px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--warna-utama);
  color:#fff8f1;
  font-size:17px;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
  box-shadow:4px 5px 0 rgba(231,160,110,.92);
}
.date-day{
  width:78px;
  color:var(--aksen-aprikot);
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:72px;
  line-height:.82;
  font-weight:600;
}
.date-year{min-width:128px}
.hero-countdown{margin:22px auto 0;gap:6px;max-width:350px}
.hm-kotak{min-width:69px;padding:8px 4px;border-top:1px solid #E5D8CE;border-bottom:1px solid #E5D8CE}
.hm-angka{font-size:25px;color:var(--warna-utama)}
.hm-label{color:#8C7C74;letter-spacing:.14em}
.hero-venue{
  margin:20px auto 0;
  max-width:330px;
  color:#7D6B62;
  text-align:center;
}
.hero-venue strong{display:block;color:var(--warna-utama);font-size:15px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:2px}
.hero-venue span{display:block;font-size:12px;line-height:1.5}
.pelat{margin-top:20px;border:1px solid #E4D6CB;background:rgba(255,253,250,.92);box-shadow:0 9px 24px rgba(90,44,30,.06)}
.pelat-label{color:#92766B}.pelat-nama{color:var(--warna-utama)}
.hero-scroll{bottom:13px;color:#8E7A70}
.hero-scroll i{background:#BBA392}
.bagian{padding:58px 0;border-top:1px solid var(--garis);position:relative}
.bagian::before,.bagian::after{content:'';position:absolute;width:120px;height:105px;background-size:contain;background-repeat:no-repeat;pointer-events:none;opacity:.22}
.bagian::before{top:-8px;left:-44px;background-image:url('./floral-corner.svg');transform:rotate(-12deg)}
.bagian::after{bottom:-15px;right:-42px;background-image:url('./floral-corner-br.svg');transform:rotate(168deg)}
.bagian-judul{color:var(--warna-utama);font-size:32px}
.bagian-sub{color:#8A756C}
.dekorasi-pemisah{color:var(--aksen-aprikot)}
.dekorasi-pemisah span{background:#E4D6CB}
.kutipan-teks p{color:var(--warna-utama)}
.acara,.kisah-item,.kartu-amplop,.kotak-rsvp-terisi{
  border-color:#E5D9CF;background:rgba(255,252,248,.82);box-shadow:0 10px 25px rgba(92,48,34,.045)
}
.acara-jenis,.kisah-waktu{color:var(--aksen-aprikot)}
.acara-nama,.kisah-judul{color:var(--warna-utama)}
.acara-peta{border-color:var(--warna-utama);color:var(--warna-utama)}
.tombol-kirim{background:var(--warna-utama)}
.kartu-ucapan{border-left-color:var(--aksen-aprikot)}
.kaki{background:#FBF5EE;color:#8B786D;border-top-color:#E7D9CE}
.kaki-nama{color:var(--warna-utama)}
.tombol-musik{border-color:#E2D2C5;color:var(--warna-utama);background:#FFFDF9}

@media (max-width:390px){
  .date-box{min-width:103px;font-size:14px}
  .date-day{width:64px;font-size:62px}
  .date-year{min-width:103px}
  .floral-photo-wrap{width:76vw}
  .hero-kicker{font-size:54px}
}

/* ==========================================================
   GOLDEN NOIR — FRONT COVER OVERRIDE
   Referensi: charcoal / antique gold, oval portrait, premium.
   Semua struktur/data tema tetap dipertahankan.
   ========================================================== */
:root{
  --gn-bg:#17181d;
  --gn-bg-2:#202127;
  --gn-gold:#c5a36a;
  --gn-gold-soft:#b99961;
  --gn-cream:#f3eee5;
  --gn-muted:#c9c1b5;
}

body{background:#17181d;color:var(--gn-cream)}
.sampul.tema-golden-noir{
  min-height:100vh;
  min-height:100dvh;
  padding:52px 18px 42px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  position:relative;
  background:
    radial-gradient(circle at 50% 38%, rgba(197,163,106,.10), transparent 33%),
    linear-gradient(180deg,#1a1b20 0%,#15161a 100%);
}
.sampul.tema-golden-noir::before{
  content:'';position:absolute;inset:18px;border:1px solid rgba(197,163,106,.18);pointer-events:none;
}
.sampul.tema-golden-noir::after{
  content:'';position:absolute;inset:26px;border:1px solid rgba(255,255,255,.035);pointer-events:none;
}
.sampul.tema-golden-noir .hero-floral{display:none}
.sampul.tema-golden-noir .hero-content{
  width:min(100%,430px);position:relative;z-index:3;text-align:center;
}
.sampul.tema-golden-noir .hero-kicker{
  margin:0 auto 14px;
  max-width:360px;
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:clamp(22px,6vw,30px);
  line-height:1.1;
  font-weight:600;
  letter-spacing:.01em;
  color:var(--gn-cream);
  text-transform:none;
}
.sampul.tema-golden-noir .hero-label{
  margin:0 0 18px;
  font-size:10px;
  letter-spacing:.34em;
  color:var(--gn-gold);
}
.sampul.tema-golden-noir .floral-photo-wrap{
  width:min(72vw,300px);
  aspect-ratio:1.34 / 1;
  margin:0 auto 18px;
  position:relative;
}
.sampul.tema-golden-noir .wreath-layer{display:none}
.sampul.tema-golden-noir .photo-ring{
  inset:0;
  position:absolute;
  padding:0;
  border:0;
  overflow:hidden;
  border-radius:50% / 44%;
  background:
    radial-gradient(circle at 50% 44%,rgba(197,163,106,.9),rgba(166,133,75,.72) 65%,rgba(117,90,52,.45) 100%);
  box-shadow:0 0 0 1px var(--gn-gold),0 0 0 5px rgba(197,163,106,.12),0 0 0 8px rgba(197,163,106,.78),0 18px 42px rgba(0,0,0,.4);
}
.sampul.tema-golden-noir .photo-ring::before{
  content:'';position:absolute;inset:8px;border:1px solid rgba(242,224,188,.75);border-radius:50% / 44%;z-index:3;pointer-events:none;
}
.sampul.tema-golden-noir .photo-ring::after{
  content:'';position:absolute;inset:-5px;border:1px solid rgba(197,163,106,.42);border-radius:50% / 44%;z-index:2;pointer-events:none;
}
.sampul.tema-golden-noir .hero-photo{
  position:absolute;inset:7px;width:calc(100% - 14px);height:calc(100% - 14px);object-fit:cover;object-position:center 38%;border-radius:50% / 44%;filter:saturate(.92) contrast(.98);z-index:1;
}
.sampul.tema-golden-noir .nama-pasangan{
  margin:0 0 18px;
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:clamp(35px,10vw,52px);
  line-height:.95;
  font-weight:600;
  color:var(--gn-gold);
  text-shadow:none;
}
.sampul.tema-golden-noir .nama-pasangan span{color:var(--gn-gold)}
.sampul.tema-golden-noir .nama-pasangan .dan{color:#f0e9dc;margin:0 7px}
.sampul.tema-golden-noir .hero-orangtua{
  margin:0 auto 14px;
  max-width:330px;
  display:grid;
  grid-template-columns:1fr 1px 1fr;
  align-items:stretch;
  gap:14px;
  color:var(--gn-cream);
}
.sampul.tema-golden-noir .hero-orangtua-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.sampul.tema-golden-noir .hero-orangtua-label{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--gn-gold);margin-bottom:3px}
.sampul.tema-golden-noir .hero-orangtua-item strong{font-family:'Cormorant Garamond',Georgia,serif;font-size:14px;line-height:1.18;font-weight:500;color:#eee8dd}
.sampul.tema-golden-noir .hero-orangtua-dan{font-size:11px;color:#8e8b84}
.sampul.tema-golden-noir .hero-orangtua-divider{background:rgba(197,163,106,.33)}
.sampul.tema-golden-noir .hero-penerima{max-width:340px;margin:12px auto 0;padding:0 8px}
.sampul.tema-golden-noir .hero-penerima-label{margin:0 0 6px;font-size:11px;color:#f0ebe1}
.sampul.tema-golden-noir .hero-penerima-nama{margin:0 0 8px;font-family:'Cormorant Garamond',Georgia,serif;font-size:22px;color:var(--gn-gold);line-height:1.05}
.sampul.tema-golden-noir .hero-penerima-text{margin:0 auto 14px;max-width:310px;font-size:11.5px;line-height:1.55;color:#d8d1c6}
.sampul.tema-golden-noir .hero-buka{display:inline-flex;align-items:center;justify-content:center;min-width:156px;padding:11px 18px;border-radius:5px;background:linear-gradient(180deg,#e7bd69,#c99d4c);border:1px solid rgba(255,232,176,.45);box-shadow:0 7px 20px rgba(0,0,0,.26);color:#1a1713;text-decoration:none;font-size:12px;font-weight:700;letter-spacing:.02em;text-transform:none}
.sampul.tema-golden-noir .hero-buka:hover{filter:brightness(1.05);transform:translateY(-1px)}
.sampul.tema-golden-noir .hero-date-editorial{margin-top:16px}
.sampul.tema-golden-noir .date-caption{color:#aa9d8d;font-size:9px;letter-spacing:.22em}
.sampul.tema-golden-noir .editorial-date-row{gap:7px}
.sampul.tema-golden-noir .date-box{height:38px;min-width:92px;background:transparent;border:1px solid rgba(197,163,106,.18);box-shadow:none;color:#cfc5b4;font-size:11px}
.sampul.tema-golden-noir .date-day{width:54px;color:var(--gn-gold);font-size:48px}
.sampul.tema-golden-noir .date-year{min-width:86px}
.sampul.tema-golden-noir .hero-countdown{margin-top:16px}
.sampul.tema-golden-noir .hm-kotak{min-width:58px;padding:6px 3px;border-top-color:rgba(197,163,106,.18);border-bottom-color:rgba(197,163,106,.18)}
.sampul.tema-golden-noir .hm-angka{font-size:20px;color:#efe7da}
.sampul.tema-golden-noir .hm-label{font-size:8px;color:#9c9488}
.sampul.tema-golden-noir .hero-venue{margin-top:15px;color:#a8a095}
.sampul.tema-golden-noir .hero-venue strong{color:#e9e0d2;font-size:12px}
.sampul.tema-golden-noir .hero-venue span{font-size:10px}
.sampul.tema-golden-noir .pelat{display:none}
.sampul.tema-golden-noir .hero-scroll{position:relative;left:auto;bottom:auto;transform:none;width:100%;margin:16px 0 0;color:#8d867c;font-size:9px;letter-spacing:.17em;text-transform:uppercase;text-align:center;align-self:stretch;box-sizing:border-box}
.sampul.tema-golden-noir .hero-scroll i{background:var(--gn-gold);opacity:.7}

/* Isi undangan tetap nyaman dibaca setelah cover gelap */
body:has(.tema-golden-noir) > .bagian,
body:has(.tema-golden-noir) main,
body:has(.tema-golden-noir) .kaki{background:#f7f3ed;color:#463d35}
body:has(.tema-golden-noir) .bagian{border-top-color:#e6ded1}
body:has(.tema-golden-noir) .bagian-judul,body:has(.tema-golden-noir) .acara-nama,body:has(.tema-golden-noir) .kisah-judul{color:#7a2d1f}
body:has(.tema-golden-noir) .tombol-musik{background:#1b1c21;color:var(--gn-gold);border-color:#8d7141;right:max(16px, calc((100vw - 460px) / 2 + 16px));bottom:max(16px, env(safe-area-inset-bottom));}

/* Penempatan musik yang kompatibel tanpa bergantung pada :has() */
.tombol-musik{right:max(16px, calc((100vw - 460px) / 2 + 16px));bottom:max(16px, env(safe-area-inset-bottom));}
.sampul.tema-golden-noir .hero-scroll{transform:none;}

@media (max-width:390px){
  .sampul.tema-golden-noir{padding-top:40px;padding-bottom:30px}
  .sampul.tema-golden-noir .floral-photo-wrap{width:min(76vw,290px)}
  .sampul.tema-golden-noir .nama-pasangan{font-size:36px}
  .sampul.tema-golden-noir .hero-orangtua{gap:10px;max-width:310px}
  .sampul.tema-golden-noir .hero-orangtua-item strong{font-size:13px}
}

/* ==========================================================
   BOTANICAL MUSLIM — SOFT SAGE EDITION
   Mengikuti referensi: ivory + sage watercolor + gold line art
   + navigasi bawah bergaya mobile app.
   ========================================================== */
:root{
  --bm-bg:#f7f9f0;
  --bm-bg-2:#edf4e4;
  --bm-sage:#9dad89;
  --bm-sage-dark:#718264;
  --bm-gold:#c89426;
  --bm-brown:#7a4e36;
  --bm-text:#4b4942;
  --bm-line:#dfe6d6;
}
html{scroll-behavior:smooth;}
body{background:var(--bm-bg);color:var(--bm-text);padding-bottom:78px;}
.bingkai{max-width:460px;padding:0 18px;}
.sampul.tema-golden-noir{
  min-height:100dvh;
  padding:54px 18px 78px;
  background:
    radial-gradient(circle at 15% 25%,rgba(202,222,184,.34),transparent 28%),
    radial-gradient(circle at 88% 72%,rgba(214,231,202,.28),transparent 25%),
    linear-gradient(180deg,#fbfcf8 0%,#f5f8ef 100%);
  color:var(--bm-text);
  overflow:hidden;
}
.sampul.tema-golden-noir::before,.sampul.tema-golden-noir::after{border-color:rgba(201,148,38,.15);inset:12px;opacity:.8;}
.sampul.tema-golden-noir::after{inset:18px;border-color:rgba(154,174,134,.12)}
.sampul.tema-golden-noir .hero-content{width:min(100%,420px);text-align:center;}
.sampul.tema-golden-noir .hero-kicker{display:none;}
.sampul.tema-golden-noir .hero-label{
  order:3;margin:20px 0 12px;font-family:'Great Vibes','Brush Script MT',cursive;font-size:36px;
  letter-spacing:0;color:var(--bm-gold);text-transform:none;font-weight:400;
}
.sampul.tema-golden-noir .floral-photo-wrap{
  order:2;width:min(76vw,300px);aspect-ratio:1.15 / 0.78;margin:0 auto;position:relative;
}
.sampul.tema-golden-noir .floral-photo-wrap .wreath-layer{display:none;}
.sampul.tema-golden-noir .floral-photo-wrap::before{
  content:'';position:absolute;inset:-72px -95px -68px -95px;background:url('./floral-corner.svg') left top/150px auto no-repeat, url('./floral-corner-br.svg') right bottom/150px auto no-repeat;opacity:.65;pointer-events:none;
}
.sampul.tema-golden-noir .photo-ring{
  inset:0;border-radius:0;background:#fff;padding:10px;overflow:hidden;
  box-shadow:0 12px 35px rgba(111,131,91,.10);border:0;
}
.sampul.tema-golden-noir .photo-ring::before{content:'';position:absolute;inset:0;border:1px solid rgba(200,148,38,.26);z-index:3;border-radius:0;}
.sampul.tema-golden-noir .photo-ring::after{content:'';position:absolute;inset:5px;border:1px solid rgba(151,169,133,.18);z-index:3;border-radius:0;}
.sampul.tema-golden-noir .hero-photo{inset:10px;width:calc(100% - 20px);height:calc(100% - 20px);border-radius:0;object-position:center 35%;filter:saturate(.82) contrast(.97);}
.sampul.tema-golden-noir .nama-pasangan{
  order:4;margin:18px 0 10px;font-family:'Great Vibes','Brush Script MT',cursive;font-size:45px;line-height:1;color:var(--bm-brown);font-weight:400;text-shadow:none;
}
.sampul.tema-golden-noir .nama-pasangan span{color:var(--bm-brown)}
.sampul.tema-golden-noir .nama-pasangan .dan{color:#a9987e;}
.sampul.tema-golden-noir .hero-orangtua{order:5;margin:0 auto 8px;max-width:330px;color:var(--bm-text);}
.sampul.tema-golden-noir .hero-orangtua-label{color:#8d9c7f;}
.sampul.tema-golden-noir .hero-orangtua-item strong{color:var(--bm-text);}
.sampul.tema-golden-noir .hero-orangtua-divider{background:#d7dfcf;}
.sampul.tema-golden-noir .hero-penerima{order:6;margin-top:8px;}
.sampul.tema-golden-noir .hero-penerima-label{color:#7f8879;}
.sampul.tema-golden-noir .hero-penerima-nama{color:var(--bm-brown);}
.sampul.tema-golden-noir .hero-penerima-text{color:#687064;max-width:320px;}
.sampul.tema-golden-noir .hero-buka{background:var(--bm-gold);color:#fffaf0;border:0;box-shadow:0 8px 18px rgba(196,148,42,.20);}
.sampul.tema-golden-noir .hero-date-editorial{order:7;margin-top:14px;}
.sampul.tema-golden-noir .date-caption{color:#8c9784;}
.sampul.tema-golden-noir .date-box{color:#fff;background:var(--bm-brown);border-color:transparent;box-shadow:4px 4px 0 rgba(224,178,93,.70);}
.sampul.tema-golden-noir .date-day{color:var(--bm-gold);}
.sampul.tema-golden-noir .hero-countdown{order:8;}
.sampul.tema-golden-noir .hm-kotak{border-color:#dce4d6;}
.sampul.tema-golden-noir .hm-angka{color:var(--bm-brown);}
.sampul.tema-golden-noir .hm-label{color:#8a9286;}
.sampul.tema-golden-noir .hero-venue{order:9;color:#798176;}
.sampul.tema-golden-noir .hero-venue strong{color:var(--bm-brown);}
.sampul.tema-golden-noir .pelat{display:none;}
.sampul.tema-golden-noir .hero-scroll{display:none;}

.bagian{background:transparent;border-top:1px solid var(--bm-line);}
.bagian::before,.bagian::after{opacity:.32;}
.bagian-judul{color:var(--bm-brown);}
.kutipan-teks p{color:var(--bm-brown);}
.acara,.kisah-item,.kartu-amplop,.kotak-rsvp-terisi{background:rgba(255,255,255,.62);border-color:var(--bm-line);box-shadow:0 10px 25px rgba(109,125,94,.05);}
.acara-jenis,.kisah-waktu{color:var(--bm-gold);}
.acara-nama,.kisah-judul{color:var(--bm-brown);}
.acara-peta{border-color:var(--bm-brown);color:var(--bm-brown);}
.tombol-kirim{background:var(--bm-brown);}
.tombol-musik{
  position:fixed;
  right:max(16px,calc((100vw - 460px)/2 + 16px));
  bottom:calc(82px + env(safe-area-inset-bottom));
  z-index:1200;
  width:48px;height:48px;border-radius:50%;
  background:#fffdf7;color:var(--bm-gold);border:1px solid #dacda8;
  box-shadow:0 8px 20px rgba(93,107,82,.13);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;
}
.tombol-musik.tanpa-audio{opacity:.92;}
.tombol-musik.berputar .ikon-musik{animation:musik-putar 2.4s linear infinite;}

.nav-bawah{
  position:fixed;left:50%;transform:translateX(-50%);bottom:0;z-index:950;
  width:min(100%,460px);height:70px;padding:6px 6px calc(6px + env(safe-area-inset-bottom));
  display:grid;grid-auto-columns:1fr;grid-auto-flow:column;gap:2px;
  background:rgba(235,242,224,.97);border-top:1px solid #d8e2cd;box-shadow:0 -8px 24px rgba(89,108,74,.08);backdrop-filter:blur(8px);
}
.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:#899283;text-decoration:none;font-size:10px;letter-spacing:.02em;border-radius:10px;transition:.2s ease;min-width:0;}
.nav-item .nav-icon{font-size:24px;line-height:1;color:#9aa58f;font-family:Arial,sans-serif;}
.nav-item.aktif{color:var(--bm-gold);font-weight:600;background:rgba(255,255,255,.45);}
.nav-item.aktif .nav-icon{color:var(--bm-gold);}

@media (max-width:390px){
  .sampul.tema-golden-noir{padding-top:40px;}
  .sampul.tema-golden-noir .floral-photo-wrap{width:78vw;}
  .sampul.tema-golden-noir .hero-label{font-size:33px;}
  .sampul.tema-golden-noir .nama-pasangan{font-size:42px;margin-top:16px;}
  .nav-bawah{height:68px;}
  .tombol-musik{bottom:calc(76px + env(safe-area-inset-bottom));}
}

/* ==========================================================
   SAGE BLOSSOM BACKGROUND — custom user asset
   ========================================================== */
body{
  background-color:#cfe6aa;
  background-image:url('./background-sage-blossom.jpg');
  background-repeat:no-repeat;
  background-position:center top;
  background-size:min(460px,100vw) auto;
}
/* Let the supplied floral background remain visible behind the page. */
.sampul.tema-golden-noir{
  background:transparent;
}
body:has(.tema-golden-noir) > .bagian,
body:has(.tema-golden-noir) main,
body:has(.tema-golden-noir) .kaki{
  background:transparent;
}

@media (max-width:460px){
  body{
    background-size:100vw auto;
  }
}

/* ==========================================================
   PASTEL WATERCOLOR — soft blue / hand-painted floral style
   Berdasarkan referensi user: airy paper, teal typography,
   peach/pink watercolor flowers, dan navigasi bawah ala mobile app.
   ========================================================== */
:root{
  --pw-blue:#3e91ab;
  --pw-blue-dark:#2f758e;
  --pw-blue-soft:#dff2fa;
  --pw-pink:#f2b7c2;
  --pw-peach:#f3b06e;
  --pw-cream:#fffdf9;
  --pw-ink:#42535b;
  --pw-line:rgba(62,145,171,.18);
}
html{scroll-padding-bottom:88px}
body{
  background:#edf8fd url('./background-pastel-watercolor.svg') center top/cover fixed no-repeat;
  color:var(--pw-ink);
  font-family:'Segoe UI',Arial,sans-serif;
}
.bingkai{max-width:460px;padding:0 20px}
.sampul.tema-pastel-watercolor{
  min-height:100vh;min-height:100dvh;
  padding:34px 16px 104px;
  background:transparent;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
.sampul.tema-pastel-watercolor .hero-content{width:min(100%,430px);display:flex;flex-direction:column;align-items:center;z-index:5}
.sampul.tema-pastel-watercolor::before,
.sampul.tema-pastel-watercolor::after{display:none}
.sampul.tema-pastel-watercolor .hero-floral{display:none}
.sampul.tema-pastel-watercolor .hero-kicker{
  order:1;margin:0 0 2px;color:var(--pw-blue);font-size:13px;font-weight:600;letter-spacing:.03em;text-transform:none;font-family:'Segoe UI',Arial,sans-serif;
}
.sampul.tema-pastel-watercolor .hero-label{
  order:2;margin:2px 0 12px;color:var(--pw-blue);font-family:'Great Vibes','Brush Script MT',cursive;font-size:46px;line-height:1;font-weight:400;letter-spacing:0;text-transform:none;
}
.sampul.tema-pastel-watercolor .floral-photo-wrap{
  order:3;width:min(68vw,300px);aspect-ratio:1/1.06;margin:2px auto 14px;position:relative;
}
.sampul.tema-pastel-watercolor .floral-photo-wrap::before{
  content:'';position:absolute;inset:-18px -28px -14px -28px;pointer-events:none;
  background:url('./floral-corner.svg') left top/120px auto no-repeat,url('./floral-corner-br.svg') right bottom/120px auto no-repeat;opacity:.5;z-index:0;
}
.sampul.tema-pastel-watercolor .photo-ring{
  inset:0;border-radius:8px;padding:9px;background:rgba(255,255,255,.93);border:0;box-shadow:0 10px 28px rgba(67,127,145,.10);z-index:2;
}
.sampul.tema-pastel-watercolor .photo-ring::before,
.sampul.tema-pastel-watercolor .photo-ring::after{display:none}
.sampul.tema-pastel-watercolor .hero-photo{
  width:100%;height:100%;border-radius:2px;object-fit:cover;object-position:center 38%;filter:saturate(.8) contrast(.98);
}
.sampul.tema-pastel-watercolor .nama-pasangan{
  order:4;margin:7px 0 8px;font-family:'Great Vibes','Brush Script MT',cursive;font-size:clamp(45px,12vw,60px);line-height:1;color:var(--pw-blue);font-weight:400;text-shadow:none;
}
.sampul.tema-pastel-watercolor .nama-pasangan .dan{color:#8eb1bd;margin:0 5px}
.sampul.tema-pastel-watercolor .hero-penerima{order:5;max-width:335px;margin:0 auto;padding:0 6px}
.sampul.tema-pastel-watercolor .hero-orangtua{order:6;max-width:350px;margin:10px auto 6px;color:#56656a}
.sampul.tema-pastel-watercolor .hero-orangtua-label{color:#6d9faf;font-size:8px}
.sampul.tema-pastel-watercolor .hero-orangtua-item strong{font-size:12px;color:#54646a}
.sampul.tema-pastel-watercolor .hero-orangtua-divider{background:var(--pw-line);height:46px}
.sampul.tema-pastel-watercolor .hero-penerima{display:contents}
.sampul.tema-pastel-watercolor .hero-penerima-label{order:7;color:#5f7076;font-size:12px;margin:6px 0 1px}
.sampul.tema-pastel-watercolor .hero-penerima-nama{order:8;color:var(--pw-blue);font-family:'Cormorant Garamond',Georgia,serif;font-size:20px;margin:0 0 5px}
.sampul.tema-pastel-watercolor .hero-penerima-text{order:9;color:#54727d;max-width:330px;font-size:12px;line-height:1.5;margin:0 auto 11px}
.sampul.tema-pastel-watercolor .hero-buka{order:10;display:inline-flex;align-items:center;justify-content:center;min-width:175px;padding:11px 20px;border-radius:22px;background:var(--pw-blue);color:#fff;border:0;box-shadow:0 9px 22px rgba(62,145,171,.18);text-decoration:none;font-size:12px;font-weight:700}
.sampul.tema-pastel-watercolor .hero-date-editorial{order:11;margin-top:15px;width:100%}
.sampul.tema-pastel-watercolor .date-caption{color:#6d9faf;font-size:10px;letter-spacing:.20em;margin-bottom:8px}
.sampul.tema-pastel-watercolor .editorial-date-row{gap:8px}
.sampul.tema-pastel-watercolor .date-box{min-width:92px;height:38px;background:transparent;color:var(--pw-blue);border:1px solid var(--pw-line);box-shadow:none;font-size:12px}
.sampul.tema-pastel-watercolor .date-day{width:62px;color:var(--pw-blue);font-size:44px}
.sampul.tema-pastel-watercolor .date-year{min-width:92px}
.sampul.tema-pastel-watercolor .hero-countdown{order:12;margin:13px auto 0;gap:4px;max-width:350px}
.sampul.tema-pastel-watercolor .hm-kotak{min-width:62px;padding:5px 3px;border-color:var(--pw-line)}
.sampul.tema-pastel-watercolor .hm-angka{color:var(--pw-blue);font-size:21px}
.sampul.tema-pastel-watercolor .hm-label{color:#78919a;font-size:8px}
.sampul.tema-pastel-watercolor .hero-venue{order:13;margin-top:13px;color:#5e7078}
.sampul.tema-pastel-watercolor .hero-venue strong{color:var(--pw-blue-dark);font-size:13px;letter-spacing:.03em}
.sampul.tema-pastel-watercolor .hero-venue span{font-size:11px}
.sampul.tema-pastel-watercolor .pelat{display:none}
.sampul.tema-pastel-watercolor .hero-scroll{display:none}

/* Pastel watercolor sections */
body:has(.tema-pastel-watercolor) .bagian,
body:has(.tema-pastel-watercolor) main,
body:has(.tema-pastel-watercolor) .kaki{background:rgba(250,253,255,.68)}
body:has(.tema-pastel-watercolor) .bagian{border-top-color:var(--pw-line)}
body:has(.tema-pastel-watercolor) .bagian-judul,
body:has(.tema-pastel-watercolor) .acara-nama,
body:has(.tema-pastel-watercolor) .kisah-judul{color:var(--pw-blue-dark)}
body:has(.tema-pastel-watercolor) .kutipan-teks p{color:#4f7f90}
body:has(.tema-pastel-watercolor) .acara,
body:has(.tema-pastel-watercolor) .kisah-item,
body:has(.tema-pastel-watercolor) .kartu-amplop,
body:has(.tema-pastel-watercolor) .kotak-rsvp-terisi{background:rgba(255,255,255,.75);border-color:var(--pw-line);box-shadow:0 10px 25px rgba(62,145,171,.05)}
body:has(.tema-pastel-watercolor) .acara-peta,
body:has(.tema-pastel-watercolor) .tombol-kirim{border-color:var(--pw-blue);color:var(--pw-blue);background:var(--pw-blue)}

/* Music control — floating top-right seperti referensi */
body:has(.tema-pastel-watercolor) .tombol-musik{
  position:fixed;right:max(14px,calc((100vw - 460px)/2 + 14px));top:16px;bottom:auto;z-index:1300;
  width:74px;height:68px;border-radius:18px;background:rgba(255,255,255,.82);border:1px solid rgba(62,145,171,.17);box-shadow:0 8px 18px rgba(62,145,171,.10);color:var(--pw-blue);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:7px;backdrop-filter:blur(7px)
}
body:has(.tema-pastel-watercolor) .tombol-musik .ikon-musik{font-size:23px;line-height:1}
body:has(.tema-pastel-watercolor) .tombol-musik .label-musik{font-size:9px;line-height:1.1;letter-spacing:.04em}
body:has(.tema-pastel-watercolor) .switch-musik{width:38px;height:18px;border-radius:999px;background:#d7eaf0;position:relative;margin-top:2px;border:1px solid rgba(62,145,171,.16)}
body:has(.tema-pastel-watercolor) .switch-musik i{position:absolute;left:2px;top:2px;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.12);transition:left .2s ease}
body:has(.tema-pastel-watercolor) .tombol-musik.berputar .switch-musik{background:var(--pw-blue)}
body:has(.tema-pastel-watercolor) .tombol-musik.berputar .switch-musik i{left:22px}

/* Bottom navigation */
body:has(.tema-pastel-watercolor) .nav-bawah{
  position:fixed;left:50%;transform:translateX(-50%);bottom:0;z-index:1250;width:min(100%,460px);height:72px;padding:6px 8px calc(6px + env(safe-area-inset-bottom));
  display:grid;grid-template-columns:repeat(5,1fr);gap:4px;background:rgba(245,252,246,.93);border-top:1px solid rgba(80,125,99,.12);box-shadow:0 -10px 28px rgba(57,102,85,.08);backdrop-filter:blur(10px)
}
body:has(.tema-pastel-watercolor) .nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:#849193;text-decoration:none;font-size:10px;letter-spacing:.01em;border-radius:14px;min-width:0}
body:has(.tema-pastel-watercolor) .nav-item .nav-icon{font-size:23px;line-height:1;color:#6c9eab;font-family:Arial,sans-serif}
body:has(.tema-pastel-watercolor) .nav-item.aktif{color:var(--pw-blue);font-weight:700;background:rgba(218,241,249,.78)}
body:has(.tema-pastel-watercolor) .nav-item.aktif .nav-icon{color:var(--pw-blue)}
body:has(.tema-pastel-watercolor) .kaki{padding-bottom:100px;background:rgba(244,251,254,.80);border-top-color:var(--pw-line)}

@media (max-width:390px){
  .sampul.tema-pastel-watercolor{padding-top:30px;padding-bottom:96px}
  .sampul.tema-pastel-watercolor .hero-label{font-size:39px}
  .sampul.tema-pastel-watercolor .floral-photo-wrap{width:72vw}
  .sampul.tema-pastel-watercolor .nama-pasangan{font-size:44px}
  body:has(.tema-pastel-watercolor) .tombol-musik{right:10px;top:12px;width:66px;height:62px}
}
body:has(.tema-pastel-watercolor){
  background:#edf8fd url('./background-pastel-watercolor.svg') center top/cover fixed no-repeat;
}
body:has(.tema-pastel-watercolor) .siap-muncul{opacity:1;transform:none}


/* ==========================================================
   BOHO VINTAGE FLORAL — reference-inspired mobile cover
   Warm ivory paper, dried florals, muted teal leaves, terracotta
   accents, centered editorial composition.
   ========================================================== */
:root{
  --boho-paper:#efe4d3;
  --boho-cream:#faf7f0;
  --boho-ink:#35423f;
  --boho-brown:#9a5a3b;
  --boho-teal:#486b69;
  --boho-line:rgba(117,86,66,.18);
}
html{scroll-behavior:smooth}
body:has(.tema-pastel-watercolor){
  background-color:var(--boho-paper);
  background-image:url('./boho-floral-paper-bg.jpg');
  background-repeat:no-repeat;
  background-position:center top;
  background-size:100% auto;
  color:var(--boho-ink);
  font-family:'Segoe UI',Arial,sans-serif;
}
.sampul.tema-pastel-watercolor{
  min-height:100svh;
  padding:44px 18px 100px;
  background:transparent;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  overflow:hidden;
  box-sizing:border-box;
}
.sampul.tema-pastel-watercolor .hero-content{
  width:min(100%,410px);
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  position:relative;
  z-index:5;
}
.sampul.tema-pastel-watercolor .hero-kicker{display:none}
.sampul.tema-pastel-watercolor .hero-label{
  order:1;
  margin:5px 0 8px;
  color:#344744;
  font-family:'Segoe UI',Arial,sans-serif;
  font-size:clamp(28px,7.5vw,38px);
  font-weight:500;
  letter-spacing:.01em;
  text-transform:none;
}
.sampul.tema-pastel-watercolor .nama-pasangan{
  order:2;
  margin:0 0 14px;
  color:var(--boho-brown);
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:clamp(36px,9vw,48px);
  line-height:1;
  font-weight:500;
}
.sampul.tema-pastel-watercolor .nama-pasangan .dan{color:#7d7468;margin:0 7px}
.sampul.tema-pastel-watercolor .floral-photo-wrap{
  order:3;
  width:min(66vw,260px);
  aspect-ratio:1/1.12;
  margin:0 auto 16px;
  position:relative;
}
.sampul.tema-pastel-watercolor .floral-photo-wrap::before{
  content:'';
  position:absolute;
  inset:-20px;
  background:
    url('./floral-corner.svg') left top/95px auto no-repeat,
    url('./floral-corner-br.svg') right bottom/95px auto no-repeat;
  opacity:.5;
  z-index:0;
}
.sampul.tema-pastel-watercolor .photo-ring{
  position:absolute;
  inset:0;
  padding:9px;
  border-radius:8px;
  background:rgba(250,247,240,.97);
  border:1px solid rgba(133,99,78,.12);
  box-shadow:0 16px 40px rgba(79,58,46,.08);
  z-index:2;
}
.sampul.tema-pastel-watercolor .photo-ring::before,
.sampul.tema-pastel-watercolor .photo-ring::after{display:none}
.sampul.tema-pastel-watercolor .hero-photo{
  width:100%;height:100%;display:block;
  object-fit:cover;object-position:center 34%;
  border-radius:2px;
  filter:saturate(.78) sepia(.05) contrast(.97);
}
.sampul.tema-pastel-watercolor .hero-orangtua{
  order:4;
  width:min(100%,330px);
  margin:1px auto 11px;
  padding:0 8px;
  color:#5f625b;
}
.sampul.tema-pastel-watercolor .hero-orangtua-item{gap:2px}
.sampul.tema-pastel-watercolor .hero-orangtua-label{
  color:#8e735f;
  font-size:8px;
  letter-spacing:.24em;
  text-transform:uppercase;
}
.sampul.tema-pastel-watercolor .hero-orangtua-item strong{
  color:#56514b;
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:13px;font-weight:500;line-height:1.1;
}
.sampul.tema-pastel-watercolor .hero-orangtua-divider{background:var(--boho-line);height:48px}
.sampul.tema-pastel-watercolor .hero-penerima{order:5;display:flex;flex-direction:column;align-items:center;width:min(100%,350px)}
.sampul.tema-pastel-watercolor .hero-penerima-label{
  color:#4a5550;font-size:14px;margin:3px 0 2px;
}
.sampul.tema-pastel-watercolor .hero-penerima-nama{
  color:var(--boho-brown);
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:25px;line-height:1.1;margin:0 0 7px;
}
.sampul.tema-pastel-watercolor .hero-penerima-text{
  color:#45514d;
  font-size:13px;line-height:1.5;
  max-width:320px;margin:0 auto 12px;
}
.sampul.tema-pastel-watercolor .hero-buka{
  min-width:160px;padding:11px 22px;border-radius:999px;
  background:var(--boho-brown);color:#fff;
  font-size:13px;font-weight:600;text-decoration:none;
  box-shadow:0 10px 18px rgba(128,72,46,.18);
}
.sampul.tema-pastel-watercolor .hero-date-editorial{order:6;width:100%;margin-top:16px}
.sampul.tema-pastel-watercolor .date-caption{color:#8a7464;font-size:9px;letter-spacing:.24em;text-transform:uppercase;margin-bottom:7px}
.sampul.tema-pastel-watercolor .editorial-date-row{gap:8px}
.sampul.tema-pastel-watercolor .date-box{
  min-width:90px;height:35px;background:#9a5a3b;color:#fff;border:0;border-radius:2px;
  font-size:11px;box-shadow:none
}
.sampul.tema-pastel-watercolor .date-day{width:58px;color:var(--boho-brown);font-family:'Cormorant Garamond',Georgia,serif;font-size:42px}
.sampul.tema-pastel-watercolor .date-year{min-width:90px}
.sampul.tema-pastel-watercolor .hero-countdown{order:7;max-width:345px;margin:11px auto 0;gap:3px}
.sampul.tema-pastel-watercolor .hm-kotak{min-width:60px;padding:5px 3px;border-color:var(--boho-line)}
.sampul.tema-pastel-watercolor .hm-angka{color:var(--boho-brown);font-size:20px}
.sampul.tema-pastel-watercolor .hm-label{color:#8f8174;font-size:8px;text-transform:uppercase;letter-spacing:.08em}
.sampul.tema-pastel-watercolor .hero-venue{order:8;margin-top:12px;color:#6f6c66}
.sampul.tema-pastel-watercolor .hero-venue strong{color:#4d5c58;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.sampul.tema-pastel-watercolor .hero-venue span{font-size:10px}
.sampul.tema-pastel-watercolor .hero-scroll{display:none}

/* Content sections share the same paper field, with airy editorial cards. */
body:has(.tema-pastel-watercolor) .bagian,
body:has(.tema-pastel-watercolor) main,
body:has(.tema-pastel-watercolor) .kaki{background:rgba(247,239,227,.72)}
body:has(.tema-pastel-watercolor) .bagian{border-top-color:var(--boho-line)}
body:has(.tema-pastel-watercolor) .bagian-judul,
body:has(.tema-pastel-watercolor) .acara-nama,
body:has(.tema-pastel-watercolor) .kisah-judul{color:var(--boho-brown)}
body:has(.tema-pastel-watercolor) .kutipan-teks p{color:#71513f}
body:has(.tema-pastel-watercolor) .acara,
body:has(.tema-pastel-watercolor) .kisah-item,
body:has(.tema-pastel-watercolor) .kartu-amplop,
body:has(.tema-pastel-watercolor) .kotak-rsvp-terisi{
  background:rgba(255,252,246,.86);
  border-color:var(--boho-line);
  box-shadow:0 12px 25px rgba(86,62,47,.05)
}
body:has(.tema-pastel-watercolor) .acara-peta,
body:has(.tema-pastel-watercolor) .tombol-kirim{background:var(--boho-brown);border-color:var(--boho-brown);color:#fff}
body:has(.tema-pastel-watercolor) .tombol-musik{
  position:fixed;left:calc(50% + 160px);right:auto;bottom:88px;top:auto;z-index:1300;
  width:54px;height:54px;border-radius:50%;
  background:rgba(250,247,240,.94);border:1px solid rgba(133,99,78,.2);
  box-shadow:0 10px 20px rgba(75,54,42,.12);color:var(--boho-brown);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:0
}
body:has(.tema-pastel-watercolor) .tombol-musik .ikon-musik{font-size:22px;line-height:1}
body:has(.tema-pastel-watercolor) .tombol-musik .label-musik{display:none}
body:has(.tema-pastel-watercolor) .switch-musik{position:absolute;right:-2px;bottom:-2px;width:19px;height:19px;border-radius:50%;background:var(--boho-brown);border:2px solid #f8f1e7}
body:has(.tema-pastel-watercolor) .switch-musik i{position:absolute;left:3px;top:3px;width:9px;height:9px;border-radius:50%;background:#fff;transition:left .2s ease}
body:has(.tema-pastel-watercolor) .tombol-musik.berputar .switch-musik i{left:7px}
body:has(.tema-pastel-watercolor) .nav-bawah{
  position:fixed;left:50%;transform:translateX(-50%);bottom:0;z-index:1250;
  width:min(100%,460px);height:70px;padding:6px 8px calc(6px + env(safe-area-inset-bottom));
  display:grid;grid-template-columns:repeat(5,1fr);gap:4px;
  background:rgba(247,239,227,.95);border-top:1px solid var(--boho-line);
  box-shadow:0 -10px 25px rgba(73,56,46,.08);backdrop-filter:blur(8px)
}
body:has(.tema-pastel-watercolor) .nav-item{color:#8d8278;border-radius:14px;font-size:10px}
body:has(.tema-pastel-watercolor) .nav-item .nav-icon{font-size:22px;color:#657572}
body:has(.tema-pastel-watercolor) .nav-item.aktif{background:rgba(235,219,200,.72);color:var(--boho-brown);font-weight:700}
body:has(.tema-pastel-watercolor) .nav-item.aktif .nav-icon{color:var(--boho-brown)}
body:has(.tema-pastel-watercolor) .kaki{padding-bottom:98px}

@media (max-width:460px){
  .sampul.tema-pastel-watercolor{padding:34px 14px 96px}
  .sampul.tema-pastel-watercolor .hero-label{font-size:30px}
  .sampul.tema-pastel-watercolor .nama-pasangan{font-size:39px}
  .sampul.tema-pastel-watercolor .floral-photo-wrap{width:65vw}
  body:has(.tema-pastel-watercolor) .tombol-musik{left:auto;right:14px;bottom:82px}
}
