/* Gaya khusus Jawa Wayang: kelir membuka, wayang dan blencong. */
/* Jawa: kelir membuka */
.daun{position:relative;width:50%;height:100%;overflow:hidden;background:var(--t-surface)}
.daun.kiri{border-right:1px solid var(--t-accent)}
.daun.kanan{border-left:1px solid var(--t-accent)}
.daun-pola{position:absolute;inset:0;width:100%;height:100%;opacity:.3}
.daun-truntum{position:absolute;left:0;width:100%;height:12px}
.daun-truntum.atas{top:18px}
.daun-truntum.bawah{bottom:18px}
.daun-gun{position:absolute;top:50%;width:210px;height:280px;margin-top:-150px;color:var(--t-accent)}
.daun.kiri .daun-gun{right:-105px}
.daun.kanan .daun-gun{left:-105px}
.kelir.buka .daun.kiri{animation:daunKiri 1.3s cubic-bezier(.65,0,.35,1) .35s both}
.kelir.buka .daun.kanan{animation:daunKanan 1.3s cubic-bezier(.65,0,.35,1) .35s both}
@keyframes daunKiri{from{transform:none}to{transform:translateX(-102%)}}
@keyframes daunKanan{from{transform:none}to{transform:translateX(102%)}}
.wayang{width:96px;height:224px;color:var(--t-heading);flex:none;overflow:visible}
.wayang-l{margin-right:-6px}
.wayang-r{margin-left:-6px}
body[data-wayang="0"] .wayang{display:none !important}
.blencong{position:absolute;left:50%;top:-24px;width:320px;height:300px;margin-left:-160px;pointer-events:none;background:radial-gradient(ellipse 50% 50% at 50% 45%,rgba(255,210,130,.26),rgba(255,210,130,0))}

/* ============ ISI UNDANGAN (kait TPL.isi, T135, keputusan CEO 2026-11-05: A + C + D + E + F) ============
   Semua SVG buatan kode, tanpa unduhan gambar. Keadaan diam = keadaan akhir, jadi saat kurangi gerakan
   (bersama.css mematikan semua animasi) semua tampil statis di tempatnya. Ukuran memakai %, clamp, min(). */
body[data-gaya="panggih"]{--wy-sa:rgba(255,196,110,.15);--wy-sb:rgba(160,48,42,.16);--wy-motif:.12;--wy-wm:.12;--wy-garis:#BFB394;--wy-melati:#FBF6EA}
/* Penutup lama (ORN.kayon) disembunyikan selama penutup megah aktif: tidak dobel */
body[data-gaya="panggih"][data-kait~="penutup"] .ornamen[data-ornamen="kayon"]{display:none}

/* Unsur bersama: melati, kuncup, tali ronce, kantil */
.wy-ml ellipse,.wy-kc{fill:var(--wy-melati,#FBF6EA);stroke:var(--wy-garis,#BFB394);stroke-width:.35}
.wy-ml-t{fill:#E3C25A}
.wy-kt path{stroke:var(--wy-garis,#B9A578)}
.wy-tali{fill:none;stroke:var(--wy-garis,#BFB394);stroke-width:.7;stroke-dasharray:1;stroke-linecap:round}
.wy-tali-k{fill:none;stroke:var(--wy-garis,#BFB394);stroke-width:.6}
.wy-pop,.wy-medali,.wy-kj-a,.wy-kj-b,.wy-kj-c{transform-box:fill-box;transform-origin:center}
.wy-ayun{transform-box:fill-box;transform-origin:50% 0}
.wy-kj-a,.wy-kj-b{transform-origin:50% 100%}
@keyframes wyPop{0%{opacity:0;transform:scale(.2)}70%{opacity:1;transform:scale(1.15)}100%{opacity:1;transform:none}}
@keyframes wyGaris{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes wyTurun{0%{opacity:0;transform:translateY(-14px)}70%{opacity:1;transform:translateY(1px)}100%{opacity:1;transform:none}}
@keyframes wyKt{from{opacity:0;transform:rotate(28deg) scale(.5)}to{opacity:1;transform:none}}
@keyframes wyMedali{from{opacity:0;transform:scale(.3) rotate(-90deg)}to{opacity:1;transform:none}}
@keyframes wyAyun{0%{opacity:0;transform:rotate(-26deg)}45%{opacity:1;transform:rotate(12deg)}75%{transform:rotate(-5deg)}100%{opacity:1;transform:none}}
@keyframes wyNaik{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}

/* D. Kelir: cahaya blencong hangat dari atas kartu + sapuan kedua (posisi per bagian), di DALAM kartu.
   Varian terang: sapuan tipis, teks aksen #7D5F22 sekitar 5:1; varian gelap: teks muda >= 6:1. */
body[data-gaya="panggih"] .kait-latar{top:0;bottom:0;border-radius:15px;background:
  radial-gradient(ellipse 72% 22% at 50% 0%,var(--wy-sa),transparent 75%),
  radial-gradient(ellipse 80% 30% at var(--bx,85%) var(--by,90%),var(--wy-sb),transparent 72%)}
body[data-gaya="panggih"] [data-bagian="buka"] > .kait-latar{--bx:50%;--by:96%}
body[data-gaya="panggih"] [data-bagian="mempelai"] > .kait-latar{--bx:16%;--by:88%}
body[data-gaya="panggih"] [data-bagian="acara"] > .kait-latar{--bx:86%;--by:94%}
body[data-gaya="panggih"] [data-bagian="hitung"] > .kait-latar{--bx:20%;--by:84%}
body[data-gaya="panggih"] [data-bagian="galeri"] > .kait-latar{--bx:84%;--by:90%}
body[data-gaya="panggih"] [data-bagian="video"] > .kait-latar{--bx:16%;--by:86%}
body[data-gaya="panggih"] [data-bagian="kisah"] > .kait-latar{--bx:86%;--by:92%}
body[data-gaya="panggih"] [data-bagian="amplop"] > .kait-latar{--bx:14%;--by:94%}
body[data-gaya="panggih"] [data-bagian="rsvp"] > .kait-latar{--bx:50%;--by:97%}
body[data-gaya="panggih"] [data-bagian="ucapan"] > .kait-latar{--bx:84%;--by:94%}
body[data-gaya="panggih"] [data-bagian="tutup"] > .kait-latar{--bx:50%;--by:92%}
body[data-gaya="panggih"] [data-bagian="kontak"] > .kait-latar{--bx:20%;--by:80%}
/* Pola kawung/truntum hanya di tepi kartu (tengah bening lewat mask) */
.wy-lt-motif{position:absolute;inset:0;width:100%;height:100%;opacity:var(--wy-motif,.12);
  -webkit-mask-image:radial-gradient(ellipse 70% 62% at 50% 50%,transparent 55%,#000 100%);mask-image:radial-gradient(ellipse 70% 62% at 50% 50%,transparent 55%,#000 100%)}
.wy-lt-isi{fill:var(--t-accent)}
.wy-lt-isi.kawung{fill:none;stroke:var(--t-accent);stroke-width:1}
/* Gunungan garis samar, miring di sudut, sebagian terpotong tepi kartu */
.wy-lt-gun{position:absolute;bottom:8px;width:clamp(60px,26%,104px);height:auto;fill:none;stroke:var(--t-accent);stroke-width:2.2;stroke-linecap:round;opacity:var(--wy-wm,.12)}
.wy-lt-gun.kanan{right:-12px;transform:rotate(12deg)}
.wy-lt-gun.kiri{left:-12px;transform:rotate(-12deg)}

/* A. Pengapit judul: gunungan kecil (emas di atas merah tua) atau tangkai kantil + melati (kiri dicerminkan ke luar) */
body[data-gaya="panggih"] .kait-judul{width:clamp(20px,9%,30px)}
.wy-kj-gun,.wy-kj-kt{display:block;width:100%;height:auto;overflow:visible}
.wy-gun-isi{fill:#5A1215}
.wy-gun-garis{fill:none;stroke:#E2C077;stroke-width:7;stroke-linejoin:round;stroke-linecap:round}
.wy-gun-dalam{fill:none;stroke:#E2C077;stroke-width:5;stroke-linecap:round}
.wy-gun-permata{fill:#F3D99A}
.wy-kj-batang{fill:none;stroke:#4F6B3E;stroke-width:1.4;stroke-linecap:round}
.kait-judul.kiri .wy-kj-kt{transform:scaleX(-1)}
body[data-gaya="panggih"] .rv.on .wy-kj-gun{animation:wyTurun .9s cubic-bezier(.3,.7,.35,1) .2s both}
body[data-gaya="panggih"] .rv.on .kanan .wy-kj-gun{animation-delay:.35s}
body[data-gaya="panggih"] .rv.on .wy-kj-daun{animation:fadeIn .6s ease .1s both}
body[data-gaya="panggih"] .rv.on .wy-kj-a{animation:wyKt .9s cubic-bezier(.3,1.2,.5,1) .3s both}
body[data-gaya="panggih"] .rv.on .wy-kj-b{animation:wyKt .9s cubic-bezier(.3,1.2,.5,1) .5s both}
body[data-gaya="panggih"] .rv.on .wy-kj-c{animation:wyPop .6s cubic-bezier(.3,1.4,.5,1) .8s both}
body[data-gaya="panggih"] .rv.on .kanan .wy-kj-a{animation-delay:.45s}
body[data-gaya="panggih"] .rv.on .kanan .wy-kj-b{animation-delay:.65s}
body[data-gaya="panggih"] .rv.on .kanan .wy-kj-c{animation-delay:.95s}

/* E. Pembatas ronce melati + medali (kawung / truntum / gunungan), muncul saat .ib-sep.on */
.wy-sep{display:block;width:min(240px,86%);height:auto;margin:0 auto;overflow:visible}
.wy-md-halo{fill:#FFD58A;opacity:.16}
.wy-md-latar{fill:#5A1215}
.wy-md-tepi{fill:none;stroke:#E2C077;stroke-width:1.3}
.wy-md-tepi2{fill:none;stroke:#E2C077;stroke-width:.5;stroke-dasharray:1 1.6}
.wy-md-garis{fill:none;stroke:#E2C077;stroke-width:.8}
.wy-md-emas{fill:#E2C077}
.wy-md-gun{fill:none;stroke:#E2C077;stroke-width:12;stroke-linejoin:round}
.wy-md-gun2{fill:none;stroke:#E2C077;stroke-width:9;stroke-linecap:round}
body[data-gaya="panggih"] .ib-sep:not(.on) .wy-sep{opacity:0}
body[data-gaya="panggih"] .ib-sep.on .wy-tali{animation:wyGaris 1s cubic-bezier(.3,.7,.3,1) both}
body[data-gaya="panggih"] .ib-sep.on .wy-pop{animation:wyPop .5s cubic-bezier(.3,1.4,.5,1) var(--d,0s) both}
body[data-gaya="panggih"] .ib-sep.on .wy-ayun{animation:wyAyun 1.4s ease-out var(--d,0s) both}
body[data-gaya="panggih"] .ib-sep.on .wy-medali{animation:wyMedali .8s cubic-bezier(.3,1.2,.5,1) .5s both}

/* F. Penutup megah: kayon berbunga ditancapkan ke gedebog, kembar mayang, ronce dan kantil, "Matur nuwun" */
.wy-pt{position:relative;margin:-6px -6px 0}
.wy-pt-svg{display:block;width:100%;max-width:340px;height:auto;margin:0 auto}
.wy-pt-garis{fill:none;stroke:#E2C077;stroke-linecap:round;stroke-linejoin:round}
.wy-pt-km{transform-box:fill-box;transform-origin:50% 100%}
.wy-pt-matur{margin-top:2px}
.wy-pt-ket{margin:2px 0 14px}
body[data-gaya="panggih"] .rv.on .wy-pt-cahaya{animation:fadeIn 1.2s ease both}
body[data-gaya="panggih"] .rv.on .wy-pt-km{animation:wyNaik 1s cubic-bezier(.25,.7,.3,1) .5s both}
body[data-gaya="panggih"] .rv.on .wy-pt-km.kanan{animation-delay:.65s}
body[data-gaya="panggih"] .rv.on .wy-pt-gedebog{animation:fadeIn .6s ease .2s both}
body[data-gaya="panggih"] .rv.on .wy-pt-kayon{animation:tancep 1.6s cubic-bezier(.3,.7,.35,1) .3s both}
body[data-gaya="panggih"] .rv.on .wy-pt .wy-tali{animation:wyGaris 1.2s cubic-bezier(.3,.7,.3,1) .9s both}
body[data-gaya="panggih"] .rv.on .wy-pt .wy-pop{animation:wyPop .5s cubic-bezier(.3,1.4,.5,1) var(--d,0s) both}
body[data-gaya="panggih"] .rv.on .wy-pt .wy-ayun{animation:wyAyun 1.6s ease-out var(--d,0s) both}
body[data-gaya="panggih"] .rv.on .wy-pt-matur{animation:fadeIn 1s ease 1.8s both}
body[data-gaya="panggih"] .rv.on .wy-pt-ket{animation:fadeIn 1s ease 2.1s both}
